沈阳理工大学学士学位论文
3 系统的软件设计
3.1 Keil简介
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(UVISION)将这些组合在一起。
Keil有以下几个特点: 全功能的源代码编辑器; 器件库用来配置开发工具设置; 项目管理器用来创建和维护用户的项目;
集成的MAKE工具可以汇编、编译和连接用户嵌入式应用; 所有开发工具的设置都是对话框形式的; 真正的源代码级的对CPU和外围器件的调试器;
高级GDI(AGDI)接口用来在目标硬件上进行软件调试以及和Monitor-51进行通信。 单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为 CPU 可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工 汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于 MCS-51 单片机的汇编 软件有早期的 A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级 语言开发,单片机的开发软件也在不断发展,Keil 软件是目前最流行开发 MCS-51 系列单片 机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。高级GDI(AGDI)接口用来在目标硬件上进行软件调试以及和Monitor-51进行通信。
Keil提供了包括 C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通 过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP 等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如 果你使用 C 语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、 而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿
17
沈阳理工大学学士学位论文
真调试工具也会令你事半功倍。最后一步就是利用STC-ISP将HEX文件烧录到单片机里。
3.2 程序设计
3.2.1 读出温度子程序
读出温度子程序的主要功能是读出RAM中的字节,其程序流程图如图3.1所示。
开始 发DS18B20复位命令 发跳过ROM 命令 发读取温度命令 移入温度暂存器 结束
图3.1 读温度流程图
18
沈阳理工大学学士学位论文
3.2.2 温度转换命令子程序
温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。温度转换命令子程序流程图如图3.2所示。
开始 发DS18B20复位命令 发跳过ROM 命令
发温度转换开始命令
图4.3 温度转换流程图
结束
3.2.3 计算温度子程序
计算温度子程序从RAM中读取值进行BCD码的转换运算,其程序流程图如图4.4所示。
19
沈阳理工大学学士学位论文
开始 计算小数位温度 BCD值
计算整数位温度BCD值 结束
图4.4 计算温度流程图
20
沈阳理工大学学士学位论文
4 软硬件调试
4.1 软件调试
首先,并不是把编号的程序直接烧进单片机,而先用Keil C51编译器进行调试。在使用Keil C51编译器时,对工程成功地进行编译(汇编)、连接以后,在主菜单中打开“调试”栏,点击“开始/停止调试模式”,即可进入软件模拟仿真调试状态,Keil C51内建了一个仿真CPU用来模拟执行程序,该仿真CPU功能非常强大,可以在没有硬件和仿真器的情况下进行程序的调试,但是在时序上,软件模拟仿真是达不到硬件的时序的。进入调试状态后,“调试”栏菜单项中原来不能用的命令现在已经可以使用了。调试程序看是否能仿真,如果运行正常再将在Keil C51编译器中调试好的程序烧写至单片机。
在接上电源时,观察整体电路是否按照预计设计的运作,电机是否正转,电机是否反转等。可根据电路的运行情况推测出程序出错的部分,修改程序后再经过Keil C51编译器调试后烧到单片机,反复检测直到能工作完全正常[9]。
4.2 硬件调试
首先,在Protel中画出电路的原理图,并绘制出PCB板接线图。接着根据PCB板接线图实物的制作。在制作的过程中,事先根据元件的大小排版布局,以单片机为中心,从简单.线路少的元件开始着手,围绕单片机把所有元件焊接完毕.最后,焊接完毕之后需要检查调试。
首先通电观察电路板是否有异常,一般观察的是有无因接错产生短路而使电路冒烟,发热过高而使电路发烫甚至烧毁电路。 如果出现异常现象,应立即关断电源,待排除故障后再通电重新检测。在第一步检测完毕无异常后,再输入信号,用万用表进行数据的检测。再与原始数据的对比,通过比较检查出出现错误的部分,再进行修改调试,直到未发现漏洞。通过调试,确保硬件接线合理安全,电路完整能够达到运行的标准。
21