单片机软件开发环境
51汇编集成开发环境

🏠 首页 《无线电》杂志 2005年 🔗 第3期 🔗 第40页 分类:电脑·单片机·通信 🔗 谢永宁 🔗

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口输出经驱动器控制灯。

图1
图1 🔍原图 (316×224)

1.源程序的编辑

图2
图2 🔍原图 (553×338)

从文件菜单[新建(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

绝对转移 开始

结束

采用中文编程,特别是使用中文标号,大大增强了程序的可读性。


2.MCS-51汇编

图3
图3 🔍原图 (422×465)

将MCS-51汇编语言程序转变为MCS-51机器语言程序。

点击77或从编译菜单[汇编]-[MCS-51汇编]可进入汇编界面(图3)。

点击[浏览]按钮,可以选择一个待汇编的源程序文件; 点击[另存为]按钮,可以选择汇编后的目标文件的存放地址和文件名(如:8D.bin)。

汇编完成后,可生成8D.lst列表文件、8D.err编译信息文件和8D.bin二进制格式的目标文件。

汇编完成时,若源程序有错误,则给出提示信息(见图4)。

汇编完成时,若源程序无错误,也给出提示信息,你可选择是否进入仿真调试。


3.查看

图4
图4 🔍原图 (552×339)

在汇编完成有错误时,可选择打开编译信息查看,从[查看]菜单[编译信息]也可打开编译信息查看(图5)。

根据编译信息的提示,打开源程序编辑窗口进行修改,修改后,再进行编译,直到没有错误为止。

点击78或从[查看]菜单[列表文件]可打开列表文件查看(图6)。


4.仿真调试

图5
图5 🔍原图 (554×398)

在汇编完成无误时,可选择进入仿真调试;点击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次。


1.MCS-51反汇编

图6
图6 🔍原图 (553×415)

本软件内嵌有反汇编程序,可将MCS-51机器语言程序转变为MCS-51汇编语言程序,从[编译]菜单[反汇编]-[MCS-51]可进入反汇编界面(图8)。

该反汇编程序根据指令流来进行反汇编,能自动区分代码段和数据段,使反汇编出的源程序几乎不做任何修改即可进行再汇编。

若反汇编失败,则给出提示信息(见图9)。若反汇编成功,也给出提示信息,你可选择是否打开汇编语言程序进行查看或修改。

图7
图7 🔍原图 (196×122)

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源程序进行汇编、仿真调试,再写入应用系统的程序存储器中。

文/谢永宁