简易数字电压表的设计(3)

2019-01-07 17:34

简易数字直流电压表的硬件电路已经设计完成,就可以选取相应的芯片和元器件,利用Proteus软件绘制出硬件的原理,并仔细地检查修改,直至形成完善的硬件原理图。但要真正实现电路对电压的测量和显示的功能,还需要有相应的软件配合,才能达到设计要求。

4 程序设计

4.1程序设计总方案

根据模块的划分原则,将该程序划分初始化模块,A/D转换子程序和显示子程序,这三个程序模块构成了整个系统软件的主程序,如图11所示。

开始 初始化 调用A/D转换子程序 调用显示子程序 结束

图11数字式电压表主程序框图

4.2系统子程序设计 4.2.1初始化程序

所谓初始化,是对将要用到的MCS_51系列单片机内部部件或扩展芯片进行初始工作状态设定,初始化子程序的主要工作是设置定时器的工作模式,初值预置,开中断和打开定时器等。 4.2.2 A/D转换子程序

A/D转换子程序用来控制对输入的模块电压信号的采集测量,并将对应的数值存入相应的内存单元,其转换流程图如图12所示。

开始 启动转换 A/D转换结束? 输出转换结果 数值转换 显示 结束 图12 A/D转换流程图

4.2.3显示子程序

显示子程序采用动态扫描实现四位数码管的数值显示,在采用动态扫描显示方式时,要使得LED显示的比较均匀,又有足够的亮度,需要设置适当的扫描频率,当扫描频率在70HZ左右时,能够产生比较好的显示效果,一般可以采用间隔10ms对LED进行动态扫描一次,每一位LED的显示时间为1ms。

在本设计中,为了简化硬件设计,主要采用软件定时的方式,即用定时器0溢出中断功能实现50ms定时。

5 仿真

5.1软件调试

软件调试的主要任务是排查错误,错误主要包括逻辑和功能错误,这些错误有些是显性的,而有些是隐形的,可以通过仿真开发系统发现逐步改正。Proteus软件可以对基于微控制器的设计连同所有的周围电子器件一起仿真,用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。Proteus支持的微处理芯片包括8051系列、AVR系列、PIC系列、HC11系列及Z80等等。Proteus可以完成单片机系统原理图电路绘制、PCB设计,更为显著点的特点是可以与u Visions3 IDE工具软件结合进行编程仿真调试。

本系统的调试主要以软件为主,其中,系统电路图的绘制和仿真我采用的是Proteus软件,而程序方面,采用的是汇编语言,用Keil软件将程序写入单片机。 5.2显示结果

图13 LED的显示结果

图14 硬件操作结果

6 总结

⑴数码管显示乱码。普通单片机的数码管,其段选与位选一般都是共阴或者都是共阳,我们小组在学习单片机电路图时了解到所给单片机为共阳数码管,所以仿真也是用的共阳数码管。在后续的程序烧写中,出现了问题:程序在仿真中可以,但是单片机却不行。后来认真分析才发现,所给的单片机数码管位选是低电平有效,而段选是高电平有效。

⑵处理获取到的AD转换的数据。在获取到0832的数据之后,如何将数据显示出来,先获取到个位,再得到小数点后数据。

⑶利用串口向上位机发送数据。由于我们这次设计只需要单片机向PC机发送数据,所以系统是单工系统。设置串口工作模式后开中断,程序中设置的为50ms。


简易数字电压表的设计(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:高二年级第一学期工作总结

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: