.VCCJ2654321CON6VCCP1.10P1.21P1.3245P1.65P1.76P1.87U1P10P11P12P13P14P15P16P17P00P01P02P03P04P05P06P073938373635343332J112345678910KJ621CON2C130PF19Y112MHZ18C2VCCS130PFRES9C310ufX2RESETAT89C52SW-PBR1300J432120kVCC0.1ufVCC101112131415P30/RXDP31/TXDP32/INT0P33/INT1P34/T0P35/T1X1P20P21P22P23P24P25P26P27EA/VPPRD/P37WR/P36ALE/PRDGPSEN21222324252627283117163029P2.0P2.1P2.2P2.4P2.5P2.6P2.7VCCVCCR22.4KP2.0P2.1P2.2.P1.5P1.6P1.7RESJ312345678910111213141516CON16P2.4P2.5P2.6P2.7VCCC4VCC1234U2REF+AINREF-GNDTLC549VCCI/OCLKDOUTCS8765VCCP1.2P1.1P1.0C5CAPJ512CON2.. 图3-1 总原理图
3.2 软件设计 3.2.1 主程序设计
数字电压表(Digital Voltmeter)简称 DVM,它是采用数字化测量技术, 把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的 仪表。TLC549 芯片的基准电压脚外接电压为 5V,因此最大可以测得的电压为 5V, TLC549 芯片的模拟输入脚通过电位器接 5V 电压,进行模拟采样,通过调整电位 器的值改变模拟量。输入的模拟量经过 TLC549 芯片的内部 8 位开关电容逐次逼近 A/D 转换器,转换成 8 为二进制数,其最小的分辨率为 0.0196(V REF =0.0196), D 为转化的数字量,再通过 V IN D V REF / 255 可以求得模拟电压,最后通过液 晶就可将所测得电压显示出来。
11
图 3-2 整体程序的流程框图
3.2.2 电压测量程序设计
TLC549 串口芯片的话,先选中该芯片将该芯片的 cs 脚置为低电平,在进行 读数据口的电平,将 CLK 先拉高再拉低,在 CLK 下降沿的时候,将数据移出,这 样不断的循环 8 次。电压转换子函数的流程图如图 3-3 所示:
12
开 始
CS置 0选 中 芯 片
对 模 拟 电 压 进
行 采 样
CLK 置 0
数 据 通 过 DOUT送
给 单 片 机 CLK 置 1
是 否 有 8次
是
否 数 据 处 理
调 用 显 示 函 数
结 束
图 3-3 电压转换程序流程图
3.2.3 显示子程序设计
对于1602液晶,先对液晶进行初始化,PSB=1 设置液晶数据口 为并口方式。再对液晶进行写命令,先写基本指令、清除显示、开反白显示、地 址加 1。再调用显示函数,先进行写地址,在进行写数据就可以显示了所写的数 据了。显示子函数的流程框图如图 3-4 所示:
13
图3-4 显示子程序流程
4
4.1调试所用的基本仪器清单 元件名称 单片机 模数转换 液晶显示器 晶振 电阻 陶瓷电容 按钮 排阻 插针 单片实验板 4.2调试结果
系统测试
元件型号 AT89C52 TLC549 1602 12M 精密可调电位器 102 300欧 2.4K 30P、0.1u、10u 四角按钮 10K 数量 1个 1片 1片 1个 1个 1个 1个 各2个 1个 1个 若干名 1个 按照原理图所示,认真对照原理图焊接电路,焊接完成后,认真检查短路,判断是否有断线或者虚焊电路情况,检查无误后,把AT89C52单片机插入实验板或者利用传输线传输程序进去单片机,观察液晶显示器,是否有显示,本次测试
14
发现,液晶显示器1602显示出电压值,调节精密可调电位器,继续观察电压值变化,可以发现电压值变化在0.00V-4.96V之间,基本符合设计要求。 4.3 测试结果分析
这次设计的目的是利用单片机把输入模拟电阻值转换为数字电压值输出,实现A/D转换,设计中,用1K的精密可调电位器作为模拟量输入,经过A/D转换器,传入单片机,利用程序驱动,转换为数字信号输出,使用液晶显示器1602输出数字量,输出电压范围为0.00V-4.96V。
5 总结
本次的课程设计是这么多次课程设计中最难的,因为是电子信息工程这个专业的重点科目,所以设计要求也比较严格,题目是简易数字直流电压表,在上学期学习单片机中,知道,要制作电压表主要是实现A/D转换,认真复习一下课本相关的只是,发现常用的A/D转换芯片主要是ADC0808或者ADC0809,而且这两个芯片在学习单片机中也有重点讲解过,可以说比较了解,硬件连接也比较简单,本来打算利用ADC0809与AT89C52制作的,但在用Proteus仿真过程中,发现仿真库里没有ADC0809这个模型,无法仿真,因为单片机制作仿真是很重要的,可以减少调试带来的困扰,所以就放弃用ADC0809制作,转用TLC549通用数模转换芯片制作,其实549芯片制作起来硬件连接更加简单,但就是软件设计比较难。这个设计中学会了用液晶1602显示,本来想用普通四位数码管的,但是有经验的同学都说数码管画图难画,驱动起来也麻烦,一般普遍使用的是液晶1602,所以自己又在网上查找了大量关于1602的芯片使用资料,认真学习,画好电路图后,就是电路板的焊接了,这个只要注意细心焊接,避免虚焊,补好断线现象就可以了,电路板硬件完成后,就是软件的设计了,软件部分对我来说比较头疼,因为在学期单片机的时候是用汇编语言编写程序的,要转换成C语言编写,对我来说难度比较大,因为很多关于C语言的知识都忘了,在软件设计这块耗了很多时间,而且很大部分是在同学们的帮助下完成的,所以很感谢同学的帮助,可以说没有他们的帮助,我这次的课程设计可能无法完成。
通过这次课程设计,我学到了很多,但我深知自己还有很多地方要学习的,今后我会更加努力的学习,最后,再一次感谢老师同学们给我提供的各种帮助。
参考文献
[1] 姜志海、黄玉清、刘连新.单片机原理及应用[M].北京.电子工业出版社,
2009.
[2] 江思敏、姚鹏翼.PADS电路原理图和PCB设计[M].北京.机械工业出版社,
2007. [3]谭浩强.C语言程序设计(第三版)[M].北京.清华大学出版社,2005. [4]张毅刚.新编 MCS-51 单片机应用设计[M].哈尔滨.哈尔滨工业大学出版
15
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于549简易电压表设计(3)在线全文阅读。
相关推荐: