天天看点

《例说8051:单片机程序设计案例教程》——1-4 实例演练

本节书摘来异步社区《例说8051:单片机程序设计案例教程》一书中的第1章,第1.4节,作者:张义和,陈敌北,更多章节内容可以访问云栖社区“异步社区”公众号查看

例说8051:单片机程序设计案例教程

单片机系统的设计中,软件与硬件息息相关,采用不同的电路设计,程序可能就不太一样。因此,在编写程序之前,必须确定电路的连接状态,例如要利用8051的port 2来控制8个led,让这8个led分成两组(高四位与低四位),交互闪烁,其设计步骤如下:

如图1-19所示的电路中,当port 2的引脚输出低电平(0)时,其所连接的led因正向导通而亮;若将引脚输出高电平(1)时,其所连接的led因反向截止而不亮。因此,我们的程序设计就要让port 2输出为“00001111”,使左边四个led亮,右边四个led不亮。隔一段时间后,再将输出反相,即左边四个led不亮,右边四个led亮,……如此周而复始。

有了电路和思路后,随即可画出流程图,如图1-20所示。

《例说8051:单片机程序设计案例教程》——1-4 实例演练

除简单的程序外,根据流程图来编写程序是一个较容易且保险的方法。若要编写程序,则进入文本编辑程序后,按行输入,其中每行“;”右边的部分是注释,是对该条指令的说明,只提供备注信息,不会影响源程序运行。在此建议尽量要求自己对自己所编写的程序进行注释,一方面可以增加该程序的可读性,另一方面则可养成良好的程序编写习惯。

通常我们会将所有开发工具都放在一个文件夹里(如d:8051),包括pe2、x8051、link、avsim51、test.bat(前面所介绍的自动批处理文件),以及所编辑的源程序。当源程序编辑完成且存盘(ch1.asm)后,在命令提示符下输入:

《例说8051:单片机程序设计案例教程》——1-4 实例演练

屏幕将出现一连串操作,最后停止,如图1-21所示。

《例说8051:单片机程序设计案例教程》——1-4 实例演练

此时产生了*.hex文件,可进一步进行软件仿真,同样是在命令提示符下输入:

《例说8051:单片机程序设计案例教程》——1-4 实例演练

屏幕出现如图1-22所示画面。

此时按键即可进入软件仿真环境,如图1-23所示。

《例说8051:单片机程序设计案例教程》——1-4 实例演练

紧接着载入刚才编译完成的文件,按、键,再输入ch1.hex,按键即可载入ch1.hex,如图1-24所示。

《例说8051:单片机程序设计案例教程》——1-4 实例演练

此时屏幕左上角将显示所下载的程序,只要按

《例说8051:单片机程序设计案例教程》——1-4 实例演练

键即可进行仿真,这时要注意看右下方“p2”的变化,如图1-25所示。

若要停止模拟,则

《例说8051:单片机程序设计案例教程》——1-4 实例演练

按键两下;若要结束程序,则按

《例说8051:单片机程序设计案例教程》——1-4 实例演练

键即可。

《例说8051:单片机程序设计案例教程》——1-4 实例演练