单片机课程设计---基于单片机的数字电压表设计内容摘要:

D 转换子程序和调用显示程序,如图所示。 初始化部分包含存放通道数据缓冲区初始化和显示缓冲区初始化。 《单片机原理及应用》课程设计 第 8 页 共 22 页 A/D 转换子程序设计 A/D 转换子程序用于对 ADC0809 的 8 路输入模拟电压 进行A/D 转换,并将转换的数值存入 8 个相应的存储单元中,如图所示。 A/D 转换子程序每隔一定时间调用一次,即隔一段时间对输入电压采样一次。 《单片机原理及应用》课程设计 第 9 页 共 22 页 显示子程序设计 显示子程序采用动态扫描法实现八位数码管的数值显示。 高位数码管显示通道数,低两位显示所测电压数值。 测量所得的 A/D 转换数据放在 70H 内存单元中,测量数据在显示时需转换成 10 进制 BCD 码放在 66H~ 6DH 单元中。 寄存器 R1 用作显示数据地址指针。 《单片机原理及应用》课程设计 第 10 页 共 22 页 第四章 系统调试 由于单片机为 8 位处理器,当输入电压为 时,输出数据值为 255( FFH)因此单片机最大的数值分辨率为 ( 5/255)。 这就决定了该电压表的最大分辨率(精度)只能达到。 测试时电压数值的变化一般以 的电压幅度变化,如要获得更高的精度要求,应采用 12 位、 13 位的 A/D 转换器或者使用双字节指令。 由于实验箱只有两个电位器接口,因此要 实现八通道,可通过其它不用接线口串联实现等电位,进而实现模拟电压八通道输入。 当显示过快时可通过改变程序设置跳转时间,可便于观察。 《单片机原理及应用》课程设计 第 11 页 共 22 页 小 结 经过一个多星期的不断学习、不断尝试、不断提问,单片机课程设计终于完成了。 课题不是很难,但是由于是第一次接触这种类型的学习过程,所以一开始效率有点低,主要是无从下手,不知该做什么。 课程设计前一天我在网上搜索了很多关于课题的文档资料,有一定参照作用,但是也有很多不同之处,比如选用的单片机器件、 A/D 转换器件或者显示器件的不同,往往会令我在设计时不知如何正确接线。 本次 课程设计是理论与实践相结合的一次实用性学习,要学会学以致用,将所学知识用到实处。 这在编程调试时尤其突出重要,比如小数点的显示,精度的提高,误差的减小,这些内容一部分取决于器件的优劣,还有一部分来自于程序设计的好坏。 所以,熟练汇编语言,熟练编程是我从此次课程设计中得到的一个重要启示,因为这将是我们将来学以致用的关键。 我的课题虽然是基于单片机的数字电压表设计,但是实际上就是一个数据采集的程序设计,只不过这里数据采集的是模拟电压罢了,采集后的数据然后通过 ZLG7290 显示出来。 显示程序来源于以前的实验,我的 U 盘里面正好有,因此节省了不少力气。 其次在调试程序仿真时,需要认真仔细,随机应变。 课程设计时间虽短暂,却是另一种完全不同的学习过程,它让《单片机原理及应用》课程设计 第 12 页 共 22 页 我意识到理论联系实践的重要性以及应用时可能会出现很多意想不到的问题,这些东西不是书本上的知识可以学到的,而要通过实践不断积累经验,不断虚心请教和学习才能真正掌握的,因此以后要积极实验、 实践,认真学习这些课本之外的东西。 总的来说,课程设计还是让我学到了不少新知识,也有不少新领悟,当然,对单片机也有了更深层次的认识,也让我对单片机有了更高的兴趣,希望学到更多关于单片机的知识,做更多的实践内容。 《单片机原理及应用》课程设计 第 13 页 共 22 页 附录 1:原理图 《单片机原理及应用》课程设计 第 14 页 共 22 页 附录 2:源程序 SDA BIT。 I2C 总线定义 SCL BIT RST BIT MTD EQU 63H。 发送数据缓冲器 ZLG7290 EQU 70H。 ZLG7290 的器件地址 ACK BIT 10H。 应 答标志位 SLA DATA 60H。 器件的从地址 SUBA DATA 61H。 器件的子地址 NUMBYTE DATA 62H。 读 /写的字节数变量 ORG 00H SJMP MAIN ORG 00BH LJMP INT_T0 ORG 0003H LJMP INT_EX0 ORG 030H MAIN: MOV SP,70H MOV R2。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。