已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章绪论1选题背景及意义电压表已经有100多年的发展历史,虽然不断改进与完善,仍然无法满足现代电子测量的需求,近二十年,微电子技术,计算机技术,集成技术,网络技术等高新技术得到了迅猛发展。这一背景和形势,不断地向仪器仪表提出了更高、更新、更多的要求,如要求速度更快、灵敏度更高、稳定性更好、样品量更少、遥感遥测更远距、使用更方便、成本更低廉、无污染等。同时也为仪器仪表科技与产业的发展提供了强大的推动力,并成了仪器仪表进一步发展的物质、知识和技术基础。数字电压表DIGITALVOLTMETER简称DVM自1952年问世以来,显示出强大的生命力,现已成为在电子测量领域中应用最广泛的一种仪器。数字电压表可以显示清晰、直观,读数准确,准确度高,分辨力强,测量范围广,扩展能力强,测量速度快,输入阻抗高,集成度高,微功耗和抗干扰能力强等优点,独占电压表产品的熬头。DVM的高速发展,使它已成为实现测量自动化、提高工作效率不可缺少的仪表,数字化是当前计量仪器发展的主要方向之一,而高准度的DCDVC的出现,又使DVM进入了精密标准测量领域。随着现代化技术的不断发展,数字电压表的功能和种类将越来越强,越来越多,其使用范围也会越来越广泛。采用智能化的数字仪器也将是必然的趋势,它们将不仅能提高测量准确度,而且能提高电测量技术的自动化程序,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表如温度计、湿度计、酸度计、重量、厚度仪等,几乎覆盖了电子电工测量、工业测量、自动化仪表等各个领域。从而提高计量检定人员的工作效。目前数字电压表的内部核心部件是A/D转换器,转换器的精度很大程度上影响着数字电压表的准确度,本设计A/D转换器采用ADC0808对输人模拟信号进行转换,控制核心AT89C51再对转换的结果进行运算和处理,最后驱动输出装置显示数字电压信号。第2章总体设计方案21系统设计主要分为两部分硬件电路及软件程序。硬件电路包括单片机及外围电路,A/D转换电路,数码管显示电路,各部分电路的衔接。软件的程序可采用C语言或汇编,这里采用汇编语言,详细的设计思路在后面介绍。22设计方案数字电压表的设计方案很多,但采用集成电路来设计较流行。其设计主要是由模拟电路和数字电路两大部分组成,模拟部分包括A/D转换器,数字部分包括振荡器,数码显示,复位电路。其中,A/D转换器将输入的模拟量转换成数字量,它是数字电压表的一个核心部件,对它的选择一般有两种选择方案221AD的选择(1)采用双积分A/D转换器MC14433,它有多路调制的BCD码输出端和超量程输出端,采用动态扫描显示,便于实现自动控制。但芯片只能完成A/D转换功能,要实现显示功能还需配合其它驱动芯片等,使得整部分硬件电路板布线复杂,加重了电路设计和实际焊接的工作。(2)逐次逼近式A/D转换器。它的转换速度更快,而且精度更高,比如ADC0808、ADC0809等,它们通常具有8路模拟选通开关及地址译码、锁存电路等,它们可以与单片机系统连接,将数字量送单片机进行分析和显示。这样电路设计简单,电路板布线不复杂,便于焊接、调试。这里采用这种方案。选择ADC0808作为模数转换器件,AD转换器采用一路模拟量输入,能够测量05V直流电压。222显示部分显示部分可以采用各类数码管或用LCD显示器显示。这里电压采用4位一体的LED数码管显示,LED数码的段码输入,由并行端口P0产生位码输入,用并行端口P2低四位产生。并且采用动态扫描的显示方式。223控制器件AT89C51功能性能与MCS51成品指令系统完全兼容;4KB可编程闪速存储器;寿命1000次写/擦循环;数据保留时间10年;全静态工作024MHZ;三级程序存储器锁定;1288B内部RAM;32个可编程I/O口线;2个16位定时/计数器;5个中断源;可编程串行UART通道;片内震荡器和掉电模式6。所以选择AT89C51单片机为核心控制器件。其他在硬件设计部分介绍。224总体设计方案硬件电路设计由6个部分组成A/D转换电路,AT89C51单片机系统,LED显示系统、时钟电路、复位电路以及测量电压输入电路。硬件电路设计框图如图1所示。时钟电路复位电路A/D转换电路测量电压输入显示系统AT89C51P1P2P2P0图1数字电压表系统硬件设计框图第3章硬件及详细设计31A/D转换模块311逐次逼近型A/D转换器原理逐次逼近型A/D转换器是由一个比较器、A/D转换器、存储器及控制电路组成。它利用内部的寄存器从高位到低位一次开始逐位试探比较。转换过程如下开始时,寄存器各位清零,转换时,先将最高位置1,把数据送入A/D转换器转换,转换结果与输入的模拟量比较,如果转换的模拟量比输入的模拟量小,则1保留,如果转换的模拟量比输入的模拟量大,则1不保留,然后从第二位依次重复上述过程直至最低位,最后寄存器中的内容就是输入模拟量对应的二进制数字量5。312ADC0808主要特性ADC0808是CMOS单片型逐次逼近式A/D转换器,带有使能控制端,与微机直接接口,片内带有锁存功能的8路模拟多路开关,可以对8路05V输入模拟电压信号分时进行转换,由于ADC0808设计时考虑到若干种模/数变换技术的长处,所以该芯片非常适应于过程控制,微控制器输入通道的接口电路,智能仪器和机床控制等领域5。ADC0808主要特性8路8位A/D转换器,即分辨率8位;具有锁存控制的8路模拟开关;易与各种微控制器接口;可锁存三态输出,输出与TTL兼容;转换时间128S;转换精度02;单个5V电源供电;模拟输入电压范围05V,无需外部零点和满度调整;低功耗,约15MW6。313ADC0808的外部引脚特征ADC0808芯片有28条引脚,采用双列直插式封装,其引脚图如图2所示。图2ADC0808引脚图下面说明各个引脚功能IN0IN7(8条)8路模拟量输入线,用于输入和控制被转换的模拟电压。地址输入控制(4条)ALE地址锁存允许输入线,高电平有效,当ALE为高电平时,为地址输入线,用于选择IN0IN7上那一条模拟电压送给比较器进行A/D转换。ADDA,ADDB,ADDC3位地址输入线,用于选择8路模拟输入中的一路,其对应关系如表1所示表1ADC0808通道选择表地址码CBA对应的输入通道000011110011001101010101IN0IN1IN2IN3IN4IN5IN6IN7STARTSTART为“启动脉冲”输入法,该线上正脉冲由CPU送来,宽度应大于100NS,上升沿清零SAR,下降沿启动ADC工作。EOCEOC为转换结束输出线,该线上高电平表示A/D转换已结束,数字量已锁入三态输出锁存器。D1D8数字量输出端,D1为高位。OEOE为输出允许端,高电平能使D1D8引脚上输出转换后的数字量。REF、REF参考电压输入量,给电阻阶梯网络供给标准电压。VCC、GNDVCC为主电源输入端,GND为接地端,一般REF与VCC连接在一起,REF与GND连接在一起CLK时钟输入端。32单片机系统321AT89C51性能AT89C51功能性能与MCS51成品指令系统完全兼容;4KB可编程闪速存储器;寿命1000次写/擦循环;数据保留时间10年;全静态工作024MHZ;三级程序存储器锁定;1288B内部RAM;32个可编程I/O口线;2个16位定时/计数器;5个中断源;可编程串行UART通道;片内震荡器和掉电模式6。322AT89C51各引脚功能AT89C51提供以下标准功能4KB的FLASH闪速存储器,128B内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内震荡器及时钟电路,同时,AT89C51可降至0HZ静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作,掉电方式保存RAM中的内容,但震荡器停止工作并禁止其他所有工作直到下一个硬件复位。AT89C51采用PDIP封装形式,引脚配置如图3示7。图3AT89C51引脚图AT89C51芯片的各引脚功能为P0口这组引脚共有8条,P00为最低位。这8个引脚有两种不同的功能,分别适用于不同的情况,第一种情况是89C51不带外存储器,P0口可以为通用I/O口使用,P00P07用于传送CPU的输入/输出数据,这时输出数据可以得到锁存,不需要外接专用锁存器,输入数据可以得到缓冲,增加了数据输入的可靠性;第二种情况是89C51带片外存储器,P00P07在CPU访问片外存储器时先传送片外存储器的低8位地址,然后传送CPU对片外存储器的读/写数据。P0口为开漏输出,在作为通用I/O使用时,需要在外部用电阻上拉。P1口这8个引脚和P0口的8个引脚类似,P17为最高位,P10为最低位,当P1口作为通用I/O口使用时,P10P17的功能和P0口的第一功能相同,也用于传送用户的输入和输出数据。P2口这组引脚的第一功能与上述两组引脚的第一功能相同即它可以作为通用I/O口使用,它的第一功能和P0口引脚的第二功能相配合,用于输出片外存储器的高8位地址,共同选中片外存储器单元,但并不是像P0口那样传送存储器的读/写数据。P3口这组引脚的第一功能和其余三个端口的第一功能相同,第二功能为控制功能,每个引脚并不完全相同,如下表2所示表2P3口各位的第二功能P3口各位第二功能P30RXT(串行口输入)P31TXD(串行口输出)P32/INT0(外部中断0输入)P33/INT1外部中断1输入P34T0(定时器/计数器0的外部输入)P35T1(定时器/计数器1的外部输入)P36/WR(片外数据存储器写允许)P37/RD(片外数据存储器读允许)VCC为5V电源线,VSS接地。ALE地址锁存允许线,配合P0口的第二功能使用,在访问外部存储器时,89C51的CPU在P00P07引脚线去传送随后而来的片外存储器读/写数据。在不访问片外存储器时,89C51自动在ALE线上输出频率为1/6震荡器频率的脉冲序列。该脉冲序列可以作为外部时钟源或定时脉冲使用。/EA片外存储器访问选择线,可以控制89C51使用片内ROM或使用片外ROM,若/EA1,则允许使用片内ROM,若/EA0,则只使用片外ROM。/PSEN片外ROM的选通线,在访问片外ROM时,89C51自动在/PSEN线上产生一个负脉冲,作为片外ROM芯片的读选通信号。RST复位线,可以使89C51处于复位即初始化工作状态。通常89C51复位有自动上电复位和人工按键复位两种。XTAL1和XTAL2片内震荡电路输入线,这两个端子用来外接石英晶体和微调电容,即用来连接89C51片内OSC震荡器的定时反馈回路。33复位电路和时钟电路331复位电路设计单片机在启动运行时都需要复位,使CPU和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作。MCS51单片机有一个复位引脚RST,采用施密特触发输入。当震荡器起振后,只要该引脚上出现2个机器周期以上的高电平即可确保时器件复位1。复位完成后,如果RST端继续保持高电平,MCS51就一直处于复位状态,只要RST恢复低电平后,单片机才能进入其他工作状态。单片机的复位方式有上电自动复位和手动复位两种,图4是C51系列单片机统常用的上电复位和手动复位组合电路,只要VCC上升时间不超过1MS,它们都能很好的工作1。图4复位电路332时钟电路设计单片机中CPU每执行一条指令,都必须在统一的时钟脉冲的控制下严格按时间节拍进行,而这个时钟脉冲是单片机控制中的时序电路发出的。CPU执行一条指令的各个微操作所对应时间顺序称为单片机的时序。MCS51单片机芯片内部有一个高增益反相放大器,用于构成震荡器,XTAL1为该放大器的输入端,XTAL2为该放大器输出端,但形成时钟电路还需附加其他电路1。本设计系统采用内部时钟方式,利用单片机内部的高增益反相放大器,外部电路简,只需要一个晶振和2个电容即可,如图5所示图5时钟电路电路中的器件选择可以通过计算和实验确定,也可以参考一些典型电路的参数,电路中,电容器C1和C2对震荡频率有微调作用,通常的取值范围是3010PF,在这个系统中选择了33PF;石英晶振选择范围最高可选24MHZ,它决定了单片机电路产生的时钟信号震荡频率,在本系统中选择的是12MHZ,因而时钟信号的震荡频率为12MHZ。34LED显示系统设计341LED基本结构LED是发光二极管显示器的缩写。LED由于结构简单、价格便宜、与单片机接口方便等优点而得到广泛应用。LED显示器是由若干个发光二极管组成显示字段的显示器件6。在单片机中使用最多的是七段数码显示器。LED七段数码显示器由8个发光二极管组成显示字段,其中7个长条形的发光二极管排列成“日”字形,另一个圆点形的发光二极管在显示器的右下角作为显示小数点用,其通过不同的组合可用来显示各种数字。LED引脚排列如下图6所示图6LED引脚排列342LED显示器的选择在应用系统中,设计要求不同,使用的LED显示器的位数也不同,因此就生产了位数,尺寸,型号不同的LED显示器供选择,在本设计中,选择4位一体的数码型LED显示器,简称“4LED”。本系统中前一位显示电压的整数位,即个位,后两位显示电压的小数位。4LED显示器引脚如图7所示,是一个共阴极接法的4位LED数码显示管,其中A,B,C,E,F,G为4位LED各段的公共输出端,1、2、3、4分别是每一位的位数选端,DP是小数点引出端,4位一体LED数码显示管的内部结构是由4个单独的LED组成,每个LED的段输出引脚在内部都并联后,引出到器件的外部。图74位LED引脚对于这种结构的LED显示器,它的体积和结构都符合设计要求,由于4位LED阴极的各段已经在内部连接在一起,所以必须使用动态扫描方式(将所有数码管的段选线并联在一起,用一个I/O接口控制)显示。343LED显示器与单片机接口设计由于单片机的并行口不能直接驱动LED显示器,所以,在一般情况下,必须采用专用的驱动电路芯片,使之产生足够大的电流,显示器才能正常工作7。如果驱动电路能力差,即负载能力不够时,显示器亮度就低,而且驱动电路长期在超负荷下运行容易损坏,因此,LED显示器的驱动电路设计是一个非常重要的问题。在LED驱动电路的设计上,可以利用单片机P0口上外接的上拉电阻来实现,即将LED的AG段显示引脚和DP小数点显示引脚并联到P0口与上拉电阻之间,这样,就可以加大P0口作为输出口德驱动能力,使得LED能按照正常的亮度显示出数字,如图8所示。图8LED与单片机接口间的设计35总体电路设计经过以上的设计过程,可设计出基于单片机的简易数字直流电压表硬件电路原理图如图9所示。此电路的工作原理是5V模拟电压信号通过变阻器VR1分压后由ADC08008的IN0通道进入(由于使用的IN0通道,所以ADDA,ADDB,ADDC均接低电平),经过模/数转换后,产生相应的数字量经过其输出通道D0D7传送给AT89C51芯片的P1口,AT89C51负责把接收到的数字量经过数据处理,产生正确的7段数码管的显示段码传送给四位LED,同时它还通过其四位I/O口P20、P21、P22、P23产生位选信号控制数码管的亮灭。此外,AT89C51还控制ADC0808的工作。其中,单片机AT89C51通过定时器中断从P24输出方波,接到ADC0808的CLOCK,P26发正脉冲启动A/D转换,P25检测A/D转换是否完成,转换完成后,P27置高从P1口读取转换结果送给LED显示出来3。第4章程序设计41程序设计总方案根据模块的划分原则,将该程序划分初始化模块,A/D转换子程序和显示子程序,这三个程序模块构成了整个系统软件的主程序,如图11所示。开始初始化调用A/D转换子程序调用显示子程序结束图11数字式直流电压表主程序框图42系统子程序设计421初始化程序所谓初始化,是对将要用到的MCS_51系列单片机内部部件或扩展芯片进行初始工作状态设定,初始化子程序的主要工作是设置定时器的工作模式,初值预置,开中断和打开定时器等9。422A/D转换子程序A/D转换子程序用来控制对输入的模块电压信号的采集测量,并将对应的数值存入相应的内存单元,其转换流程图如图12所示。启动转换A/D转换结束输出转换结果数值转换显示结束图12A/D转换流程图423显示子程序显示子程序采用动态扫描实现四位数码管的数值显示,在采用动态扫描显示方式时,要使得LED显示的比较均匀,又有足够的亮度,需要设置适当的扫描频率,当扫描频率在70HZ左右时,能够产生比较好的显示效果,一般可以采用间隔10MS对LED进行动态扫描一次,每一位LED的显示时间为1MS10。在本设计中,为了简化硬件设计,主要采用软件定时的方式,即用定时器0溢出中断功能实现11S定时,通过软件延时程序来实现5MS的延时。开始第5章仿真51软件调试软件调试的主要任务是排查错误,错误主要包括逻辑和功能错误,这些错误有些是显性的,而有些是隐形的,可以通过仿真开发系统发现逐步改正。PROTEUS软件可以对基于微控制器的设计连同所有的周围电子器件一起仿真,用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。PROTEUS支持的微处理芯片包括8051系列、AVR系列、PIC系列、HC11系列及Z80等等。PROTEUS可以完成单片机系统原理图电路绘制、PCB设计,更为显著点的特点是可以与UVISIONS3IDE工具软件结合进行编程仿真调试8。本系统的调试主要以软件为主,其中,系统电路图的绘制和仿真我采用的是PROTEUS软件,而程序方面,采用的是汇编语言,用KEIL软件将程序写入单
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论