基于单片机的数字电压表的.doc
《基于单片机的数字电压表的.doc》由会员分享,可在线阅读,更多相关《基于单片机的数字电压表的.doc(27页珍藏版)》请在沃文网上搜索。
1、摘要本文介绍了一种基于单片机的简易数字电压表的设计。该设计主要由三个模块组成:A/D转换模块,数据处理模块及显示模块。A/D转换主要由芯片ADC0832来完成,它负责把采集到的模拟量转换为相应的数字量在传送到数据处理模块。数据处理则由芯片AT89C51来完成,其负责把ADC0832传送来的数字量经过一定的数据处理,产生相应的显示码送到显示模块进行显示;此外,它还控制着ADC0832芯片工作。该系统的数字电压表电路简单,所用的元件较少,成本低,且测量精度和可靠性较高。此数字电压表可以测量0-5V的1路模拟直流输入电压值,并通过一个四位一体的7段数码管显示出来。 关键词 单片机;数字电压表;A/D
2、转换;AT89C51;ADC0832Design of Simple Digital Voltmeter Based on Single-chip Microcontroller Abstract This paper which introduces a kind of simple digital voltmeter is based on single-chip microcontroller design. The circuit of the voltage meter is mainly consisted of three mould pieces: A/D converting
3、 mould piece, A/D converting is mainly completed by the ADC0832, it converts the collected analog data into the digital data and transmits the outcome to the manifestation controlling mould piece. Data processing is mainly completed by the AT89C51 chip, it processes the data produced by the ADC0832
4、chip and generates the right manifestation codes, also transmits the codes to the manifestation controlling mould piece. Also, the AT89C51 chip controls the ADC0832 chip to work. The voltmeter features in simple electrical circuit, lower use of elements, low cost, moreover, its measuring precision a
5、nd reliability. The voltmeter is capable of measuring voltage inputs from 1 route ranging from 0 to 5 volt, and displaying the measurements though a digital code tube of 7 pieces of LED.Keywords Single-chip microcontroller; Digital voltmeter; A/D converter; AT89C51; ADC0832 目录1绪论12设计总体方案22.1设计要求22.2
6、设计思路22.3设计方案23硬件电路设计33.1单片机最小系统电路33.2 ADC0832介绍63.2.1 ADC0832 主要特点73.2.2 ADC0832管脚介绍73.2.3单片机对ADC0832的控制原理83.3 LED数码管103.3.1 LED数码管的主要技术参数103.3.2 LED数码管的引脚说明113.3.3 LED数码管编码说明123.4单片机最小系统电路133.5 AD0832电路143.6四位数码管显示电路143.7 电路原材料清单153.8使用工具及仪表清单164软件设计174.1程序设计总方案174.2 系统子程序设计174.2.1 初始化程174.2.2 AD转换
7、子程序174.2.3显示子程序185电压表的调试及性能分析195.1调试与测试195.2 性能分析196总结20参考文献21谢辞22附录23附录一程序源代码23附录二电路图271.绪论在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。由于数字式仪器具有读数准确方便、精度高、误差小、测量速度快等特而得到广泛应用。 传统的指针式刻度电压表功能单一,进度低,容易引起视差
8、和视觉疲劳,因而不能满足数字化时代的需要。采用单片机的数字电压表,将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,从而精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC实时通信。数字电压表是诸多数字化仪表的核心与基础。以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表。目前,由各种单片机和A/D转换器构成的数字电压表作全面深入的了解是很有必要的。最近的几十年来,随着半导体技术、集成电路(IC)和微处理器技术的发展,数字电路和数字化测量技术也有了巨大的进步,从而促使了数字电压表的快速发展,并不断出现新的类型。数字电压表从1952年问世以来,经
9、历了不断改进的过程,从最早采用继电器、电子管和形式发展到了现在的全固态化、集成化(IC化),另一方面,精度也从0.01%-0.005%。目前,数字电压表的内部核心部件是A/D转换器,转换的精度很大程度上影响着数字电压表的准确度,因而,以后数字电压表的发展就着眼在高精度和低成本这两个方面。本文是以简易数字直流电压表的设计为研究内容,本系统主要包括三大模块:转换模块、数据处理模块及显示模块。其中,A/D转换采用ADC0832对输入的模拟信号进行转换,控制核心AT89C51再对转换的结果进行运算处理,最后驱动输出装置LED显示数字电压信号。2 设计总体方案2.1设计要求 以MCS-51系列单片机为核
10、心器件,组成一个简单的直流数字电压表。采用1路模拟量输入,能够测量0-5V之间的直流电压值。电压显示用4位一体的LED数码管显示,至少能够显示两位小数。 尽量使用较少的元器件。 2.2 设计思路 根据设计要求,选择AT89C51单片机为核心控制器件。A/D转换采用ADC0832实现。电压显示采用4位一体的LED数码管。LED数码的段码输入,由并行端口P2产生:位码输入,用并行端口P0产生。2.3 设计方案硬件电路设计由6个部分组成; A/D转换电路,AT89C51单片机系统,LED显示系统、时钟电路、复位电路以及测量电压输入电路。硬件电路设计框图如图1所示。 时钟电路 复位电路A/D转换电路测
11、量电压输入显示系统AT89C51 P1 P0 P 2 图1 数字电压表系统硬件设计框图3.硬件电路设计3.1单片机的介绍40个引脚,4k bytes flash片内程序存储器,128 bytes的随机存取数据存储器(ram),32个外部双向输入/输出(i/o)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(wdt)电路,片内时钟振荡器。AT89S52单片机是一种低功耗高性能的CMOS8位微控制器,内置8KB可在线编程闪存。该器件采用Atmel公司的高密度非易失性存储技术生产,其指令与工业标准的80C51指令集兼容。片内程序存储器允许重复在线编程,允
12、许程序存储器在系统内通过SPI串行口改写或用同用的非易失性存储器改写。通过把通用的8位CPU与可在线下载的Flash集成在一个芯片上,AT89S52便成为一个高效的微型计算机。它的应用范围广,可用于解决复杂的控制问题,且成本较低。其结构框图如图3.1所示。图3.1 AT89S52结构框图图3.2 AT89S52 此外,AT89S52设计和配置了震荡频率可为12MHZ并可通过软件设置省电模式。空闲模式下,cpu暂停工作,而ram定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存ram的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有pdip、tqfp和plcc等三
13、种封装形式,以适应不同产品的需求。主要功能特性: 兼容mcs-51指令系统 4k可反复擦写(1000次)isp flash rom 32个双向i/o口 4.5-5.5v工作电压 2个16位可编程定时/计数器 时钟频率0-33mhz 全双工uart串行中断口线 128x8bit内部ram 2个外部中断源 低功耗空闲和省电模式 中断唤醒省电模式 3级加密位 看门狗(wdt)电路 软件设置空闲和省电功能 灵活的isp字节和分页编程 双数据寄存器指针按照功能,AT89S52的引脚可分为主电源、外接晶体振荡或振荡器、多功能I/O口、控制和复位等。1.多功能I/O口AT89S52共有四个8位的并行I/O口
14、:P0、P1、P2、P3端口,对应的引脚分别是P0.0 P0.7,P1.0 P1.7,P2.0 P2.7,P3.0 P3.7,共32根I/O线。每根线可以单独用作输入或输出。P0端口,该口是一个8位漏极开路的双向I/O口。在作为输出口时,每根引脚可以带动8个TTL输入负载。当把“1”写入P0时,则它的引脚可用作高阻抗输入。当对外部程序或数据存储器进行存取时,P0可用作多路复用的低字节地址/数据总线,在该模式,P0口拥有内部上拉电阻。在对Flash存储器进行编程时,P0用于接收代码字节;在校验时,则输出代码字节;此时需要外加上拉电阻。P1端口,该口是带有内部上拉电阻的8位双向I/O端口,P1口的
15、输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写“1”时,通过内部的上拉电阻把端口拉到高电位,此时可用作输入口。P1口作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。在对Flash编程和程序校验时,P1口接收低8位地址。另外,P1.0与P1.1可以配置成定时/计数器2的外部计数输入端(P1.0/T2)与定时/计数器2的触发输入端(P1.0/T2EX),如图3.3所示。端口引脚复用功能P1.0T2(定时器/计算器2的外部输入端)P1.1T2EX(定时器/计算器2的外部触发端和双向控制)P1.5MOSI(用于在线编程)P1.6MISO(用于在线编程)P1
16、.7SCK(用于在线编程)图3.3 P1口管脚复用功能 P2端口,该口是带有内部上拉电阻的8位双向I/O端口,P2口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写“1”时,通过内部的上拉电阻把端口拉到高电位,此时可用作输入口。P2口作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。在访问外部程序存储器或16位的外部数据存储器时,P2口送出高8位地址,在访问8位地址的外部数据存储器时,P2口引脚上的内容(就是专用寄存器(SFR)区中P2寄存器的内容),在整个访问期间不会改变。在对Flash编程和程序校验期间,P2口也接收高位地址或一些控制信号。 P3
17、端口,该口是带有内部上拉电阻的8位双向I/O端口,P3口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写“1”时,通过内部的上拉电阻把端口拉到高电位,此时可用作输入口。P3口作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。在AT89S52中,同样P3口还用于一些复用功能,如表3.2所列。在对Flash编程和程序校验期间,P3口还接收一些控制信号。端口引脚复用功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0(定时器0的外部输入)P3.5T1(定时器1的外部输入)P3.
18、6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)图3.4 P3端口引脚与复用功能表2.RST 复位输入端。在振荡器运行时,在此脚上出现两个机器周期的高电平将使其单片机复位。看门狗定时器(Watchdog)溢出后,该引脚会保持98个振荡周期的高电平。在SFR AUXR(地址8EH)寄存器中的DISRTO位可以用于屏蔽这种功能。DISRTO位的默认状态,是复位高电平输出功能使能。3.ALE/PROG 地址锁存允许信号。在存取外部存储器时,这个输出信号用于锁存低字节地址。在对Flash存储器编程时,这条引脚用于输入编程脉冲PROG。一般情况下,ALE是振荡器频率的6分频信号,可用于
19、外部定时或时钟。但是,在对外部数据存储器每次存取中,会跳过一个ALE脉冲。在需要时,可以把地址8EH中的SFR寄存器的0位置为“1”,从而屏蔽ALE的工作;而只有在MOVX或MOVC指令执行时ALE才被激活。在单片机处于外部执行方式时,对ALE屏蔽位置“1”并不起作用。4.PSEN 程序存储器允许信号。它用于读外部程序存储器。当AT89S52在执行来自外部存储器的指令时,每一个机器周期PSEN被激活2次。在对外部数据存储器的每次存取中,PSEN的2次激活会被跳过。5.EA/Vpp 外部存取允许信号。为了确保单片机从地址为0000HFFFFH的外部程序存储器中读取代码,故要把EA接到GND端,即
20、地端。但是,如果锁定位1被编程,则EA在复位时被锁存。当执行内部程序时,EA应接到Vcc。在对Flash存储器编程时,这条引脚接收12V编程电压Vpp。6.XTAL1 振荡器的反相放大器输入,内部时钟工作电路的输入。7.XTAL2 振荡器的反相放大器输出。3.2 ADC0832介绍ADC0832 是美国国家半导体公司生产的一种 8 位分辨率、双通道 A/D 转换芯片。由于它体积小,兼容性强,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。学习并使用 ADC0832 可是使我们了解 A/D 转换器的原理,有助于我们单片机技术水平的提高。3.2.1 ADC0832 主要特点 8位分
21、辨率; 双通道A/D转换; 输入输出电平与TTL/CMOS相兼容; 5V电源供电时输入电压在05V之间; 工作频率为250KHZ,转换时间为32S; 一般功耗仅为15mW; 8P、14PDIP(双列直插)、PICC 多种封装; 商用级芯片温宽为0C to +70C,工业级芯片温宽为40C to +85C;3.2.2 ADC0832管脚介绍图3.5 ADC0832引脚图 CS_ 片选使能,低电平芯片使能。 CH0 模拟输入通道0,或作为IN+/-使用。 CH1 模拟输入通道1,或作为IN+/-使用。 GND 芯片参考0 电位(地)。 DI 数据信号输入,选择通道控制。 DO 数据信号输出,转换数
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 数字 电压表
