5 系统的软件设计
在软件开发上我们采用KeilC做为开发工具,KeilC是WINDOWS平台下的单片机开发工具,同时支持C语言和汇编语言编程,考虑到在频率测量过程中有比较多的数学运算,所以在编程工具上我们采用了C语言,这样开发过程就变的更加轻松了。其整个程序流程如下图5-1所示:
系统初始化 数据显示 频率测量 量程自动转换 N 有效位数 Y 浮点数到ASCII码 周期测量 中断服务程序 f=1/T 浮点数格式化 图5-1 程序流程图
5.1 Keil C简介
51的编程语言常用的有二种,一种是汇编语言,一种是C语言。汇编语言的机器代码生成效率很高但可读性却并不强,复杂一点的程序就更是难读懂,而C 语言在大多数情况下其机器代码生成效率和汇编语言相当,但可读性和可移植性却远远超过汇编语言,而且C 语言还可以嵌入汇编来解决高时效性的代码编写问题。因此在频率计的程序设计过程中使用的C语言,使用C 语言肯定要使用到C 编译器,以便把写好的C 程序编译为机器码,这样单片机才能执行编写好的程序。KEIL uVISION2 是众多单片机应用开发软件中优秀的软件之一,它支持众多不同公司的MCS51 架构的芯片,它集编辑,编译,仿真等于一体,同时还支持,PLM,汇编和C 语言的程序设计,它的界面和常用的微软VC++的界面相似,界面友好,易学易用,在调试程序,软件仿真方面也有很强大的功能。
在使用Keil C软件之前当然要先进行安装,之后就可以在其环境下建立自己的C语言项目,并且我们还可以通过Keil软件仿真看到程序运行的结果。
- 22 -
5.2 频率计程序的建立过程
首先运行Keil C软件,打开之后首先出现如图5-2所示画面:
图5-2 Keil C运行界面
接着按下面的步骤建立项目:
⑴ 点击Project 菜单,选择下拉式菜单中的New Project,接着弹出一个标准Windows 文件对话窗口,在“文件名”中输入一个C 程序项目名称,这里我们用“plj”,“保存”后的文件扩展名为uv2,这是KEILuVision2 项目文件扩展名,以后我们可以直接点击此文件以打开先前做的项目。图5-3为建立程序项目界面:
图5-2 建立程序项目界面
- 23 -
⑵ 如图5-5所示,选择所要的单片机,这里我们选择所需要用的Ateml 公司的AT89S52,其功能、特点在右边有简单的介绍。完成上面步骤后,就可以进行程序的编写了。
图5-5 选择所需要的单片机类型
⑶ 首先我们要在项目中创建新的程序文件。如图5-6,通过菜单File-New 或快捷键Ctrl+N就会出现一个新的文字编辑窗口。然后在这个窗口中进行代码的编写。
图5-6 建立一个代码编辑窗口
- 24 -
⑷ 创建两个文字编辑窗口,并在其中编写如下两段代码,并分别将他们命名位LCD1602.h和main.c,保存在项目所在的目录中。这是Keil的C语法检查生效,单词呈现不同颜色。然后如图5-6,在屏幕左边的Source Group1 文件夹图标上右击弹出菜单,选则“ Add File to Group ‘SourceGroup 1’”弹出文件窗口,选择刚刚保存的文件,点击ADD 按钮,关闭文件窗,将编写好的两段程序添加到项目中去。
图5-6 将建立好的程序文件添加到项目中
⑸ 如图5-7和图5-8所示,在屏幕左边Target图标上右击弹出菜单中单击”Options for Target ‘Target 1’”,在弹出界面中选择“Output”选项卡将其中的”Creat HEX Fi”,确定之后选择Project-Build Target或快捷键进行编译并生成二进制的字节码文件。
- 25 -
图5-7 在输出选项中选择创建二进制代码文件
图5-8 将编写的程序文件进行编译链接
⑹ 编译成功后生成的所有文件如图5-9所示,其中以.hex结尾就是在后面进行
软件仿真是所需要的二进制代码文件。
- 26 -