靳琳:数字频率计的设计
这段程序是此次编程最为核心的位置,实现的功能如下:
软件设计为:首先定时闸门时间选择500ms,对被测信号进行100分频档测量,当计数值大于500时,则被测信号频率大于100KHz,这样的话把测量的信号值乘以200后显示;计数值小于500时,选择10分频档测量,定时闸门时间为1s,所测结果乘以10再显示;当计数值小于100时,闸门时间定为10s,选择直通进行软件10倍频测量,所测结果除以10后显示。
30
辽宁工程技术大学毕业设计
4 仿真软件的使用及测试结果
4.1 仿真软件简介
Keil软件是目前最流行开发系列单片机的软件,Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。而Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象[16]。
(1)建立工程文件
点击“Project->New project”菜单,出现一个对话框,要求给将要建立的工程起一个名字,你可以在编缉框中输入一个名字,点击“保存”按钮,出现第二个对话框,按要求选择目标器件片。建立新文件并增加到组。分别设置“target1”中的“Target,output,debug”各项,使程序汇编后产生HEX文件。
(2)汇编,调试系统程序
Keil 单片机模拟调试软件内集成了一个文本编辑器,用该文本编辑器可以编辑源程序。在集成开发环境中选择菜单“File → New...”、单击对应的工具按钮或者快捷键Ctrl +N 将打开一个新的文本编辑窗口,完成汇编语言源文件的输入,并且完成源程序向当前工程的添加。
然后在集成开发环境中选择菜单“File→Save As...”可以完成文件的第一次存储。注意,汇编语言源文件的扩展名应该是“ASM”,它应该与工程文件存储在同一文件夹之内。在完成文件的第一次存储以后,当对汇编语言源文件又进行了修改,再次存储文件则应该选择菜单“File→Save”、单击对应的工具按钮或者快捷键Ctrl +S 实现文件的保存。
接着的工作需要把汇编语言源文件加入工程之中。选择工程管理器窗口的子目“Source Group 1”,再单击鼠标右键打开快捷菜单。在快捷菜单中选择“Add File to Group ?Source Group 1?”,加入文件对话框被打开。在这个对话框的“查找范围(I)”下拉列表框中选择存储汇编语言源文件的文件夹,在“文件类型(T)”下拉列表框选择“Asm Source file(*.a*;*.src)”,这时存储的汇编语言源文件将显示出来。双击要加入的文件名或者选择要加入的文件名再单击“Add”按钮即可完成把汇编语言源文件加入工程。文件加入以
31
靳琳:数字频率计的设计
后,加入文件对话框并不消失,更多的文件也可以利用它加入工程。如果不需要加入其它文件,单击“Close”按钮可以关闭加入文件对话框。这时工程管理窗口的文件选项卡中子目录“Source Group 1”下出现一个汇编语言源文件。 需要注意,当把汇编语言源文件加入工程但还没有关闭加入文件对话框,这时有可能被误认为文件没有成功地加入工程而再次进行加入操作,系统将显示所需的文件已经加入的提示。在这种情况下,单击提示框中的“确定”按钮,再单击“Close”按钮可以关闭加入文件对话框。
(3)编译源程序,出现错误时,返回上一级对错误更改后重新编译,直到没有错误为止。
Protues是Labcenter公司出品的电路分析、实物仿真系统,而KEIL是目前世界上最好的51单片机汇编和C语言的集成开发环境。他支持汇编和C的混合编程,同时具备强大的软件仿真和硬件仿真功能[17]。Protues能够很方便的和KEIL、Matlab IDE等编译模拟软件结合。Proteus提供了大量的元件库有RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件,它可以仿真单片机和周边设备,可以仿真51系列、AVR,PIC等常用的MCU,与Keil和MPLAB不同的是它还提供了周边设备的仿真,只要给出电路图就可以仿真。
4.2 仿真测试结果
仿真过程用到 Keil C 以及Protues 软件,一下是仿真过程中的测试结果,仿真的过程中用到示波器更加直观的显示频率值,为了方便起见,信号源直接采用脉冲,在测试的过程中改变脉冲的输入值来提供不同的频率。Protues 仿真的总体电路如图4.20所示:
图4.20 总体设计电路图
Figure 4.20 Overall design of circuit diagram
32
辽宁工程技术大学毕业设计
十分频和百分频电路的连接如图4.21所示:
图4.21 检验分频电路图
Figure4.21 The testing circuit diagram of frequency division
十分频测试结果显示如图4.22所示:
图4.22 验证十分频的波形图
Figure4.22 The testing wave profile of ten frequency division
百分频测试波形显示如图4.23所示:
图4.23 验证波形图
Figure4.23 The testing circuit diagram of hundred frequency division
33
靳琳:数字频率计的设计
由于分频太大,为了百分频后能显示一个周期的波形,只好改变了出入波形的显示,可能导致无法从波形上准确独处示数,但是因为出入脉冲设置的是1000Hz,所以还是可以知道下面波形的频率值的。
图4.24 预处理电路检验电路图
Figure4.24 The testing circuit diagram of signal processing
图4.25 预处理电路检验波形
Figure4.25 The testing circuit diagram of signal wave
四选一多路选择器验证电路图如图4.26所示:
图4.26 四选一多路选择器验证电路图 Figure4.26 The testing circuit diagram of Multiplexer
34