51单片机编程器烧写文件(HEX)的生成方法

2017-03-16 78 0

单片机靠程序运行,程序经编程器烧写进芯片。编写不同烧写文件,单片机便按我们的意愿完成不同功能。然而如何编写程序并获得烧写文件并成功烧写,是许多教科书忽略的部分,常使初学者无所适从。以下介绍完整流程。

第一步,编写汇编源程序:用Windows记事本新建如D:\001.TXT文档,将汇编程序写入并保存(如一段LED跑马灯程序,含ORG 0000H、循环跳灯与延时子程序等)。

第二步,汇编得到HEX文件:使用宏汇编软件MASM51。解压得MAS51.EXE与MAS51.OVI两个文件,置于D盘根目录,双击MAS51.EXE进入DOS界面,键入 asm51 d:001.txt 并回车;若出现 00 Errors (0000) 说明汇编无错误、成功,此时D盘根目录自动生成001.HEX烧写文件。若提示其他文字则按提示改正语句重新汇编,直到出现 00 Errors。

常见汇编错误分析:①标号重复(复制粘贴时未改标号);②标点以全角输入(MAS51要求半角);③注释太长(超过20个汉字可能致失败,可拆分);④十六进制数值如#FFH前遗漏0(应写#0FFH);⑤字母O与数字0混淆;⑥标号后遗漏冒号“:”;⑦标号用特殊字符(T1、T2、A、B等具特定含义不可作标号);⑧AJMP短跳超过2K地址;⑨JB P3.2,EXIT跳转超过-128~127地址范围(可改为JNB+AJMP);⑩字母I与数字1混淆;⑪发明不存在的汇编指令;⑫冒号、分号最好用半角。

常见问题问答:出现**Unrecognized Command**表示汇编命令输入错误(正确为 asm51 d:001.txt,asm51后要加空格);出现**Dos File I/O error**表示路径出错(MASM51和源文件路径均不能含中文,文件后缀非asm时不能省略)。

程序出错:寄存器重复调用(如延时子程序用到主程序已用寄存器致值紊乱)、硬件不熟悉(单片机多用低电平驱动外围,与常见正逻辑相反,易搞错)。

建议:养成良好书写习惯(标号、参数、注释对齐),标号采用有意义英文、注释详细准确,注重典型程序模块(延时、查表、键消抖)积累,便于后续引用。

相关文章

BTL桥式推挽功率放大器及其应用
基于MC145026/MC145027的无线鼠标改造电路
基于CD4069/CD4017/CD40174的五路平面彩灯控制器
小型变压器的设计原则和技巧
Protel 99 SE操作环境及特点
热转印法制作PCB板(一):原理与打印设置

发布评论