太原工业学院毕业设计
}
}
{
JDQ = 1;//继电器关断,灯泡灭。 s = 60;
// break; }
void time0() interrupt 1 {TH0=(65536-46080)/256; }
TL0=(65536-46080)%6; m++;
4.4 本章小结
本章主要介绍了智能定时电源开关设计的软件开发环境以及系统主流程图,最后介绍了用C语言编写的实现定时智能定时电源开关控制的程序。接下来就是系统的调试与实物的制作,以完成本次设计。
31
太原工业学院毕业设计
第5章 系统调试与仿真设计
5.1 KEIL工程的建立
Keil单片机模拟调试软件对MCS51单片机应用系统的软件开发过程采用工程(Project)管理。工程保存着程序编辑的信息和程序调试的环境。在开始编写程序之前首先应该建立一个工程。新建一个工程之前通常还需要建立一个文件夹,后面产生的工程文件和源程序文件等都将存储在这个文件夹之中。在如图所示的集成开发环境的口中选择Project→New Project命令将打开建立新工程的对话框,如图5.1所示:
图5.1 工程的建立
在“保存在”下拉列表框中选择新建工程将要存储的文件夹名,在“文件名”文本框中输入工程的名称,注意对于工程不要添加扩展名,单击“保存”按钮即可完成一个工程的创建。单击“保存”按钮在完成一个工程创建的同时也打开了单片机芯片型号选择的对话框。如图5.2所示的对话框已经完成了芯片型号的选择。由于在所用Proteus软件中没有找到STC89C52RC单片机,故以AT89C52为例说明。
32
太原工业学院毕业设计
图5.2 芯片的选择
Keil单片机模拟调试软件支持许多公司生产的MCS51单片机兼容产品。如前所述,本书应用电路中采用STC公司的STC89C52RC芯片,由于Proteus没有这款芯片,下面以这AT89C52芯片为例介绍如何实现选择。在图所示的对话框中的Data base列表框中首先选择生产芯片的公司名称Atmel,双击这个公司名称即可打开Atmel公司目前生产的所有芯片型号。接着在列出的产品清单中选择将使用的AT89C52芯片,如图5-2所示。最后单击“确定”按钮即可完成芯片的选择。完成芯片的选择后又回到如图所示的集成开发环境的窗口,但是这时该窗口中的工程管理窗口不再是空白,在它的文件选项卡中出现目录列表Target 1和它的子目录Source Group 1。集成开发环境中的菜单Project内还包含Open Project和Close Project等选项。Open Project选项用来以后再次进入已经建立的工程,选择Project→OpenProject命令将打开选择工程的对话框。在“查找范围”下拉列表框中选择欲打开的工程所在的文件夹,列表框中将出现该文件夹中的所有工程,选择将要打开的工程,单击“打开”按钮即可打开一个工程。选择Project→Close Project命令将关闭当前的工程。
33
太原工业学院毕业设计
5.2 源文件的输入
Keil单片机模拟调试软件内集成了一个文本编辑器,用该文本编辑器可以编辑源程序。如图5.3所示。在图5.3中已经完成了汇编语言源文件的输入,并且完成了源程序向当前工程的添加。
图5.3 源文件输入
完成汇编语言源文件的输入后,在集成开发环境中选择File→Save As命令可以完成文件的第一次存储。注意,汇编语言源文件的扩展名应该是ASM,它应该与工程文件存储在同一文件夹内。在完成文件的第一次存储后,当对汇编语言源文件又进行了修改,再次存储文件时则应该选择File→Save命令、单击保存工具按钮或者按快捷键Ctrl+S实现文件的保存。需要注意的是,当把汇编语言源文件加入工程但还没有关闭加入文件对话框时,有可能被误认为文件没有成功地加入工程而再次进行加入操作,系统将显示所需的文件已经加入的提示。在这种情况下,单击提示框中的“确定”按钮,再单击Close按钮可以关闭加入文件对话框。
5.3 硬件电路的仿真
在设置好工程后就可以进行编译、连接。选择Project中的Build target,对当前工程进行连接,编译过程中会出现很多语法错误,会有错误报告出现,双击该行,
34
太原工业学院毕业设计
可以定位到出错的位置,对源程序反复新盖之后,最终会得到如图所示的结果,获得了名为Hex的文件,该文件即可被编程器读入写到芯片中,同时还会产生一些其它的相关文件。如图5.4所示:
图5.4 调试后的结果
写到芯片中的程序,可以用Proteus中进行仿真,仿真结果如下图5.5所示。仿真过程中出现很多的错误,仿真部分采用protus 7 professional软件,此软件功能强大且操作较为简单,可以很容易的实现各种系统的仿真。
首先打开protus 7 professional软件,在元件库中找到要选用的所有元件,然后进行原理图的绘制;绘制好后再选择wave6000已经编译好的*.hex文件,选择运行,观察显示结果,根据显示的结果和课题的要求再修改程序,再运行查,直到满足要求。
5.4 本章小结
本章主要介绍了在智能定时电源开关软件程序编写结束之后通过KEIL软件进行编译没有错误的情况下生成HEX文件,然后将此HEX文件导入PROTEUS已画好的硬件电路的AT89C52(由于在所用Proteus软件中未能找到STC89C52RC芯片,故用AT89C52来代替)单片机芯片中就可以进行系统仿真了,经过调试,仿真结果完全符合预期效果,接下来就是实物的制作了。
35