51汇编集成开发环境是笔者开发的在Windows环境下运行的51汇编软件开发平台,它集源程序的编辑、汇编、反汇编和全软件仿真调试于一体,功能齐全,使用方便,适用于与MCS-51兼容的各类单片机。
源程序的编辑采用汇编语言,内嵌的汇编程序还支持中文编程,MCS-51源程序中的操作码、标号和特殊功能寄存器均可使用中文。该软件还具有MCS-48的汇编、反汇编和将MCS-48源程序转换为MCS-51源程序的移植功能。
51汇编集成开发环境是共享软件,其大部分功能都是免费的,只有少数扩展的功能需要注册。
下载、安装与运行
《51汇编集成开发环境》的最新版本是V2.3.6版,读者可以从http://www1.skycn.com/soft/15074.html免费下载。下载得到的是一个压缩文件,解压后,点击Setup.exe,一路回车,即可顺利安装。安装完成后,可从[开始]-[程序]-[集成开发环境]-[51汇编集成开发环境]运行本软件。
使用方法
《51汇编集成开发环境》的基本功能有:源程序编辑、汇编、查看和全软件仿真调试。
下面以“在8个地方用开关控制同一个灯”为例,来说明使用51汇编集成开发环境开发软件的过程。假定,该应用系统的硬件如图1所示,8个开关分别接到P1口的8个引脚上,P3.0口输出经驱动器控制灯。

从文件菜单[新建(N)]或点击75可创建一个新的源程序文件,并进入源程序编辑窗口。参见图2。
进入源程序编辑窗口后,可以在该窗口下按照汇编语言格式的要求编辑源程序。源程序编辑窗口打开后,编辑菜单有效。此时,可以使用编辑菜单中的命令(撤销、重复、剪切、复制、粘贴、查找、替换等)来辅助源程序编辑。
本例可输入源程序如下:
ORG 0000H
LOOP1: MOV A,P1;读入开关状态
JB PSW.0, LOOP2;根据开关状态的奇偶数来判别
SETB P3.0;为偶,开灯
AJMP LOOP1
LOOP2: CLR P3.0;为奇,关灯
AJMP LOOP1
END
源程序编辑完后,可点击76或从文件菜单[保存(S)]保存正在编辑的源程序文件,也可从文件菜单[另存为(R)]将当前正在编辑的源程序文件重命名保存。系统保存时,会自动进行规格化处理。我们将上述源程序保存为“8D.ASM”。
V2.3以上的版本可识别中文编程,操作码、标号和特殊功能寄存器均可使用中文。如上程序也可以编写为:
起点 0000H
开始: 传送 累加器, 端口1
位为1转移 PSW.0, 关灯
开灯: 置位 P3.0
绝对转移 开始
关灯: 清零 P3.0
绝对转移 开始
结束
采用中文编程,特别是使用中文标号,大大增强了程序的可读性。
将MCS-51汇编语言程序转变为MCS-51机器语言程序。
点击77或从编译菜单[汇编]-[MCS-51汇编]可进入汇编界面(图3)。
点击[浏览]按钮,可以选择一个待汇编的源程序文件; 点击[另存为]按钮,可以选择汇编后的目标文件的存放地址和文件名(如:8D.bin)。
汇编完成后,可生成8D.lst列表文件、8D.err编译信息文件和8D.bin二进制格式的目标文件。
汇编完成时,若源程序有错误,则给出提示信息(见图4)。
汇编完成时,若源程序无错误,也给出提示信息,你可选择是否进入仿真调试。
在汇编完成有错误时,可选择打开编译信息查看,从[查看]菜单[编译信息]也可打开编译信息查看(图5)。
根据编译信息的提示,打开源程序编辑窗口进行修改,修改后,再进行编译,直到没有错误为止。
点击78或从[查看]菜单[列表文件]可打开列表文件查看(图6)。
在汇编完成无误时,可选择进入仿真调试;点击79或从[仿真]菜单[MCS51仿真]可打开目标代码文件进入仿真调试窗口(图7)。
在软件仿真调试中,可以进行单步运行、连续运行、设断点运行,可通过查看相应窗口来观察执行过程的状态。
单击[I/O设置]命令,打开I/O设置界面,将P1.0~P1.7设置为输入,然后单击[确定]按键。再单击[全速运行],然后点击P1.0~P1.7的任一按钮模拟输入开关的动作,可观察到P3寄存器数据在FF与FE之间变化(即P3.0口为1与0之间变化),实现了开灯和关灯,满足设计的功能要求。
扩展功能介绍
《51汇编集成开发环境》的扩展功能有:MCS-51反汇编、目标代码格式的转换、通信、MCS-48的汇编、反汇编和移植等。这些功能可以免费使用10次。
本软件内嵌有反汇编程序,可将MCS-51机器语言程序转变为MCS-51汇编语言程序,从[编译]菜单[反汇编]-[MCS-51]可进入反汇编界面(图8)。
该反汇编程序根据指令流来进行反汇编,能自动区分代码段和数据段,使反汇编出的源程序几乎不做任何修改即可进行再汇编。
若反汇编失败,则给出提示信息(见图9)。若反汇编成功,也给出提示信息,你可选择是否打开汇编语言程序进行查看或修改。

2.目标代码格式的转换
该功能用于将hex格式的目标代码转换为bin格式的目标代码,或将bin格式的目标代码转换为hex格式的目标代码。从编译菜单[目标代码转换]-[hex to bin]或[bin to hex]可进入转换界面。
3.MCS48的汇编、反汇编和移植
该功能主要用于采用MCS-51单片机系统来代替MCS-48单片机系统的场合。操作步骤如下:
首先借助于编程器从应用系统的程序存储器中读出MCS-48的目标代码程序; 然后将其反汇编得到MCS-48的源程序;再将其移植为MCS-51源程序;之后对MCS-51源程序进行汇编、仿真调试,再写入应用系统的程序存储器中。
文/谢永宁




