- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机原理及系统课程设计
评语:
考勤(10) 守纪(10) 过程(40) 设计报告(30) 答辩(10) 总成绩(100)
专 业: 电气工程及其自动化
班 级:
姓 名:
学 号:
指导教师:
兰州交通大学自动化与电气工程学院
基于单片机的数字电压表设计
摘 要
本文是基于单片机的数字电压表的设计,用单片机AT89S52作为主控单元,ADC0809作模数转换芯片,0~5V直流电压,其测量最小误差为0.02V。本设计主要分为硬件电路及软件程序两部分。硬件电路可分为A/D转换电路、LED显示电路程序的设计使用C编程AT89S52;数字电压表;ADC0809
Abstract
The design of this article is based on single chip microcomputer digital voltmeter, AT89S52 MCU as the main control unit, the ADC0809 modulus conversion chip, measurement of 0 ~ 5 V dc voltage, the minimum error of measurement is 0.02 V. This design is mainly divided into two parts, hardware circuit and software program. Hardware circuit can be divided into A/D conversion circuit, LED display circuit. Program design using C language programming.
Key Words: AT89S52, Digital Voltmeter, ADC0809
1.引言
随着电子时代的来临,人们对各种数字仪表的精度要求更高,以前的指针仪表已经不能满足人们的需要,所以就出现了数字电压表这种更精确的测量仪器。
本次课程设计的主要任务是完成模拟量电压转换成数字量电压,然后通过数码管显示出来。主要包括两大模块:转换模块,显示模块,结合硬件和软件,使误差最小。
2.系统总体方案设计
2.1 总体设计方案
根据系统设计的要求和功能,将系统分为主控模块,A/D转换模块,LED显示模块,复位电路,时钟电路几个模块,系统框图如图1所示,主控模块采用AT89S52单片机,A/D转换模块采用ADC0809芯片,用于A/D转换,显示模块采用4位七段共阳LED数码管,用于显示电压值。
2.2系统组成框图
图2.2系统组成框图
3.硬件设计
3.1系统硬件设计原理
通过变量设置选择八路通道中的第三路,将该路模拟电压送入ADC0808相应通道,单片机软件设置ADC0808开始A/D转换,转换结束ADC0808的EOC端口产生高电平,同时将ADC0808的OE端口置为高电平,单片机将ADC0809转换后的数字量存到片内RAM。系统调出数据处理子程序,将测量结果转化为0.00~5.00V,最后通过查表将每一位数据输出到LED显示电路,将相应电压显示出来,程序进入下一个循环。单片机的P0.0~P0.7作为4位动态数码显示管的段显示控制。P2.1~P2.3作为4位动态显示管的位显示控制。
3.2硬件设计原理图
在Proteus仿真环境下所搭建的系统硬件电路图如图32所示。
图32系统原理图
4软件设计
4.1软件设计方案
主程序包含初始化部分,调用A/D转换子程序和延时部分。A/D转换程序由开始设定的ST的变化开始(产生下跳沿 使ADC0809的START开始运转)然后当转换结束(EOC=1)时,开始传输数据到P1(OE=1输出允许信号置1)至传输结束时OE置0,将获得的电压量转换成所对应的16进制数据并寄存,再通过取模的方式把各位数字逐个提取,最后通过查询代码表得到相应的BCD码,最后显示即可结束。
ADC0809转换之后输出的结果是8位二进制数。当ADC0809输出为(111111111)时,输入电压值VI=5.00V;当ADC0809输出为时,输入电压值为VI=0.00V;当ADC0809输出为时,输入电压值VI=2.50V。由于单片机进行数学运算时结果只取整数部分,因此当输出为时计算出的电压值VI=2.00V,很不准确。为了提高精确度,必须把小数部分保留,具体方法是:如果
文档评论(0)