「STC8A8K64D4开发板」——下载程序
开发板程序下载
内容
本文档描述使用宏晶官方下载软件STC-ISP给艾克姆科技STC8A8K64D4开发板下载程序的方式。
使用STC-ISP软件只可以下载HEX文件,不可以在线仿真。如需硬件仿真需选用STC带仿真功能的MCU在Keil软件上实现,仿真部分是在其他文档中介绍。
开发板程序下载
关于HEX文件和BIN文件
单片机可被下载执行的文件常见有HEX文件和BIN文件,一般HEX文件是我们更常使用的文件,HEX文件可通过Keil软件编译生成。
下面介绍下HEX文件和BIN文件的区别。
HEX文件是包括地址信息的,而BIN文件只包括了数据本身。烧写或下载HEX文件时,一般不需要用户指定地址(因为HEX文件内部已经包含了地址信息),而烧写BIN文件时需要用户指定烧录的地址信息。HEX文件和BIN文件大小不同,HEX文件是用ASCII码来表示二进制的数值,BIN文件是最纯粹的二进制机器代码。例如8-BIT的二进制数值0x4E,用ASCII来表示就需要分别表示字符‘4’和字符‘E’,每个字符均需要一个字节,因此HEX文件至少需要2倍BIN文件的空间。注:HEX文件都是由记录(RECORD)组成的。在HEX文件里面,每一行代表一个记录。记录的基本格式在此不做介绍。艾克姆科技提供的开发板配套例程中,都会单独通过文件夹“HEX文件”的形式把对应实验的HEX文件提供出来,方便用户直接下载(不需要再使用Keil软件打开例程源码编译生成HEX文件了),并观察实验现象。
举例,按照路径“...\第3部分:配套例程源码\1 - 基础实验程序\实验2-1-3:流水灯(多个c文件)”打开后,可以看到下图所示文件,找到HEX文件。
图1:查找提供的HEX文件
使用Keil C51生成HEX文件
本节以“...\第3部分:配套例程源码\1 - 基础实验程序\实验2-1-3:流水灯(多个c文件)”为例,介绍下使用Keil C51生成HEX文件的方法和步骤。
双击打开Keil C51图标,如下图所示。图2:Keil C51图标
点击Project,然后点击Open Project File,按照路径提示找到,“...\第3部分:配套例程源码\1 - 基础实验程序\实验2-1-3:流水灯(多个c文件)\led_blinky\Project”文件夹中的led_blinky. uvproj文件,操作步骤如下图所示。图3:Keil C51打开工程文件步骤
打开工程led_blinky后的界面如下图所示。图4:Keil C51打开工程文件
根据下面操作进入HEX文件的生成配置界面,如下图所示步骤操作。图5:配置Keil C51选项生成HEX文件
注:HEX文件生成路径设置为:“...\第3部分:配套例程源码\1 - 基础实验程序\实验2-1-3:流水灯(多个c文件)\led_blinky\Project\Output”。完成上述操作之后,回到主界面,按下图所示点击编译按钮生成HEX文件。图6:编译Keil C51
注:编译后,注意观察信息窗口输出的信息,若输出信息提示无错误表示编译成功。如果编译报错,则不会生成HEX文件,此时必须先解决报错问题。Build按钮:增量编译,编译工程中上次修改的文件及其它依赖于这些修改过的文件的模块,同时重新链接生成可执行文件。如果工程之前没编译链接过,它会直接调用Rebuild All。Rebuild按钮:全部重新编译。按HEX文件生成路径打开文件夹Output,可看到HEX文件已生成,如下图所示。图7:找到生成的HEX文件
使用stc-isp-15xx-v6.86u软件下载程序
STC官方针对STC单片机提供了专用的ISP下载软件,该软件版本会在官网上不断更新,STC官网:http://www.stcmcu.com/
开发板配套资料包里面已经下载好了stc-isp-15xx-v6.90D安装文件,安装文件的位置在开发板资料包的位于“...\第2部分:开发软件工具\ 2 - STC-ISP下载软件”目录下。
程序烧写的步骤包括配置STC-ISP软件参数、打开HEX文件和烧写,详细流程如下。
配置STC-ISP软件参数打开STC-ISP软件,主要设置项目如下图所示。
图8:配置STC-ISP软件参数
选择单片机型号开发板使用的单片机型号为STC8A8K64D4或者STC8A8K48D4,所有这里应该选择STC8A8K64D4或者STC8A8K48D4。
选择串口号选择开发板USB转串口枚举的COM口,可以在电脑的设备管理器中查看。
设置晶振频率这里是选择单片机内部时钟使用的,开发板例程是基于24MHz晶振频率来的,所以选择24MHz。若选择使用外部时钟时,除需软件配置相关寄存器外,还需焊接合适的外部晶振及负载电容(开发板预留有外部晶振焊盘和2个晶振负载电容焊盘)。
勾选“复位脚用做I/O口”勾选后,单片机P5.4口会作为普通的IO口使用。单片机默认使用片内的复位电路,无需搭建外部复位电路的。而如果去掉该勾选项,单片机P5.4口则被使能为外部复位引脚,此时P5.4口不再是普通IO口,而对开发板再次下载程序就需要使用外部复位电路给P5.4复位引脚复位信号以实现下载。本开发板有外部复位电路,需断开开发板J26端子的P54与TOUCH短路帽,同时,短接开发板J26端子的P54与RESET短路帽,实现外部复位下载,外部复位按键是红色按键S1。
勾选“每次下载前都重新装载目标文件”勾选后,每次点击“下载/编程”按钮,STC-ISP软件会重新读取选定的HEX文件。这一条在开发的过程中一定要勾选,否则,当我们重新编译程序后,生产的HEX文件内容已经改变,但是下载时仍然下载的是STC-ISP软件缓存的HEX文件,而不是重新编译生产的HEX文件。
打开待下载的HEX文件。如下图所示,点击“打开程序文件”按钮,在弹出的窗口中导航到HEX文件目录,选中HEX文件后打开即可。
图9:打开待下载的HEX文件
烧写点击STC-ISP软件上的“下载/编程”按钮,点击后,STC-ISP软件开始检测单片机并自动下载程序。下载完成后,信息窗口会提示下载成功与否,如下图所示。(如果开发板J4端子选择为了手动下载,我们需要按一下开发板上的下载按键S2来启动下载)
图10:自动冷启动下载
图11:手动冷启动下载
下载成功后,观察开发板,会看到指示灯D1、D2、D3、D4循环闪烁。以上下载程序是USB下载方式,如果使用串口RS232下载程序则只需连接开发板J12端子即可。图12:开发板下载口选择
常见问题及解决办法
串口打开失败报错
故障现象: 点击下载/编译后,弹出下图界面报错信息。图13:下载报错界面,串口打开失败
注:从下面三个方面解决问题。解决方法1:检查下USB线有没有连接上,有没有连接好。解决办法2:检查下CH340的驱动有没有安装好。解决办法3:检查下串口号选择是否正确,是否是连接到的开发板对应的串口号。忘记打开目标文件报错
故障现象: 点击下载/编译后,弹出以下报错信息。图14:下载报错界面,缺少目标文件
解决方法:打开程序文件,按照HEX文件存放的路径添加要下载到MCU的HEX文件。单片机型号不对报错
故障现象: 点击下载/编译后,单片机冷启动下载没有完成,弹出以下报错信息。图15:下载报错界面,单片机型号选错
解决方法:重新添加选择单片机型号,务必注意添加新的单片机型号后,要点击“打开程序文件”按钮,将HEX文件重新选中。单片机实例分享,简单实用的多路大屏幕抢答器
方案设计
多路抢答器的原理非常简单,是借助单片机与普通电脑进行串口通信来实现的,需要用VisualBasic 6.0编写上位机软件,最后的抢答结果通过电脑连接投影仪呈现在大屏幕上,效果非常好,就像电视上的知识竞赛一样。原理图如图12.1所示,需要准备的硬件见表12.1。
图12.1 多路抢答器的原理图
表12.1 硬件准备
图12.2 STC89C52单片机最小系统
图12.3 抢答器按键(带3.5mm插头和10m长导线)
图12.4 USB转TTL模块
图12.5 3.5mm单声道耳机插座(正好匹配抢答器按键插头)
图12.6 7×9万用板(铜柱用来支撑、固定电路板)
图12.7 2.54mm排针
硬件连接
01 准备好硬件就可以连接了,参考原理图,先把3.5mm单声道耳机插座和单片机最小系统焊接在万用板上。
02 连接 USB 转 TTL 模块和抢答器按键,单片机最小系统的供电由USB转TTL模块提供,取自电脑USB口。
03 如果你喜欢,可以自己加一个外壳,这样能显得美观些,也防止落入灰尘。
软件设计
组装完毕后,就需要把单片机下位机程序(见图12.8)下载到单片机里,由于选择的是STC单片机,支持串口下载,所以通过USB转TTL模块就可以把程序下载到单片机最小系统,单片机的所有代码可以到qq群657864614进行下载。
图12.8 部分代码界面
电脑上位机软件我用VisualBasic来编写(见图12.9),用MSComm控件来实现单片机与电脑串口的通信功能。在VisualBasic的常用控件里,是没有MSCOMM控件的,我们可以通过工程→部件→钩选Microsoft COM Control 6.0 来添加。由于篇幅限制,我在这里不能详细列出代码,同样可以在qq群657864614进行下载。
图12.9 用VisualBasic编写上位机软件
效果展示
将单片机下位机程序下载到单片机最小系统,插上USB转TLL模块,就可以运行电脑上位机软件,最后通过电脑连接投影仪,投影在会场的大屏幕上,效果很好。
运行电脑上位机软件之前需要先连接串口,插上USB转串口模块后需要在“计算机管理”中找到模块所分配的COM口(见图12.10),然后选择COM口再连接(见图12.11)。抢答器的具体使用效果如图12.12~图12.14所示。
图12.10 查看串口
图12.11 启动软件后,需要先连接串口
图12.12 上位机软件的开始界面
图12.13 抢答结果呈现
图12.14 提前抢答(被扣分)
总结
我制作的这个抢答器没有使用传统的纯电路设计,而是使用价格低廉的单片机和电脑软件呈现。最后我想说,大家如果感兴趣,可以多关注一下VisualBasic的MSComm控件,这个控件为普通的电子爱好者真正实现了电脑对外围硬件乃至家用电器的控制,在此基础上我又做了其他软件,道理相同,展示一下效果图(见图12.15和图12.16)。
图12.15 智能小车控制软件
图12.16 传感器演示软件
有了这个MSComm控件,大家可以充分发挥想象力,在我提供的这个程序例子的基础上修改,就能通过串口或者蓝牙与单片机通信,操控继电器或者回传传感器数据,最终实现对家用电器的控制,让你提前进入物联网时代。
■我的淘宝店铺:首页-数码达人小李-淘宝网,主打数码电脑周边产品,性价比高,发货快,服务好,品质过硬,现有满减优惠活动,赶快行动起来吧!
元兔计划魔法阵无线充电器正版苹果专用iPhonex/xr XSMax美少女-淘宝网
昕科发热暖桌垫办公室桌面电脑鼠标写字暖手电热板电暖加热暖桌宝-淘宝网
迷你充电宝便携大容量20000毫安 超薄苹果冲正品移动电源小米华为-淘宝网
usb迷你电风扇 学生宿舍床上静音小夹扇 办公桌面无声风扇-淘宝网
2013款雷蛇鼠标炼狱蝰蛇精英版 绿光幻彩有线 绝地求生专用-淘宝网
相关问答
怎么用 usb 给 单片机 供电-ZOL问答USB口的1脚为+5V,4脚为GND,在你设计版时可以直接引用这个电源为单片机供电,如板上需要3.3V则再加个1117模块稳压输出3.3V使用时要注意:1、不要知路及反接2...
stc 下载器如何接线到 单片机 ?STC下载器与单片机使用3线连接,其中:下载器的TXD接单片机P3.0(串口1的RXD端),下载器的RXD接单片机P3.1(串口1的TXD端),下载器与单片机共地,即短接二者GN...ST...
自制 stc单片机 下载器 usb 供电对电流大小有要求吗?不用,有要求但是USB供电可以提供每个U口500ma电流,足够任何一款单片机及外围使用了。唯一就是自己自制的话建议在USB接口这边加个自恢复保险,以防电路上短路烧...
USB 转串口 波特率 设定高和低 都可以啊 STC单片机 串口下载...亚马逊USB连接线讨论回答(9)STC单片机串口下载程序时单片机的波特率可以任意设置,它会自适应。原则上在能够正确握手的情况下设置高的波特率,这样下载速度...
422能直接下载 stc单片机 吗?用422接口向STC单片机下载程序,理论上是没有问题的。烧录电路需要两个422接口芯片,计算机USB口和stc单片机目标板各用一个。信号传输在这个过程中要进行二次转...
如何将程序代码烧录进 STC单片机 ?1.需要将程序进行编译,生成xxx.hex文件。直接将程序写入单片机,单片机不会安装你的设计运行。2.某宝购买USB转TTL模块,并安装驱动。驱动安装成功后,在计算...
STC 51 单片机 利用 usb 线下载烧录(有PL2303驱动)却没法识别。。...驱动有问题,建议你直接下载个驱动精灵,让驱动精灵按照你的USBPL2303进行自动去下载匹配的驱动,这个软件很方面,我以前进场用这个软件跟新驱动,让驱...
单片机USB 直接插上就能下载数据打通电源,为什么还要有 USB 转T...大多数单片机开发板上的USB串口只是用来供电的,大多数单片机也不带USB功能,甚至板上也没集成USB转TTL芯片USB转TLL线的作用,一是好多笔记本电脑没...
怎么将程序代码烧录进 STC单片机 -ZOL问答接单片机的串口,这是传统串口通信方法,不过许多笔记本电脑已无RS232串口。2.用USB转TTL下载线,输出端直接接单片机的串口,并且可为单片机供电,需安装驱动,成本...
STC 有没有自带AD/DA功能 单片机 ?我要处理来自传感器的模拟信号(电压)?STC系列单片机多数型号都带有AD转换功能,及PWM(即加电容滤波后为DA)功能,上STC官网看看。STC系列单片机多数型号都带有AD转换功能,及PWM...