基于单片机的数字电压表设计报告基于单片机的数字电压表设计报告.doc

基于单片机的数字电压表设计报告基于单片机的数字电压表设计报告.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机原理及系统课程设计 评语: 考勤(10) 守纪(10) 过程(40) 设计报告(30) 答辩(10) 总成绩(100) 专 业: 电气工程及其自动化 班 级: 姓 名: 学 号: 指导教师: 兰州交通大学自动化与电气工程学院 2010 年 3 月 7 日 基于单片机的数字电压表设计 摘 要 本文是基于单片机的数字电压表的设计,用单片机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.

您可能关注的文档

文档评论(0)

ochengaj + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档