您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于单片机的简易数字电压表的设计(1)(DOC)
目录1.引言..............................................12.设计的总体方案....................................22.1设计要求....................................22.2设计思路....................................22.3设计方案....................................23.硬件设计方案......................................33.1A/D转换模块.................................33.1.1逐次逼近型A/D转化器原理...............33.1.2PCF8591主要特性........................33.1.3PCF8591的外部引脚特性................43.1.4PCF8591的内部结构及工作流程..........53.2单片机系统...................................73.2.1STC90C51性能...........................73.2.2STC90C51各引脚功能.....................73.3复位电路和时钟电路............................93.3.1复位电路的设计.........................93.3.2时钟电路的设计.........................93.4LED显示电路的设计.............................103.4.1LED基本结构............................103.4.2LED显示器的选择........................113.4.3LED译码方式............................113.4.4LED显示器与单片机接口技术..............123.5总体电路的设计.................................134.程序设计.............................................154.1程序设计总方案.................................154.2系统子程序设计.................................154.2.1初始化程序..............................154.2.2A/D转换子程序...........................154.2.3显示子程序..............................165.仿真.................................................175.1软件调试.......................................175.2显示结果及误差分析............................175.2.1显示结果...............................175.2.2误差分析...............................19结论..................................................20参考文献..............................................21设计程序........................................221引言数字电压表(DigitalVoltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信。目前,由各种单片A/D转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。本课程设计介绍单片A/D转换器以及由它们构成的基于单片机的数字电压表的工作原理.2设计总体方案2.1设计要求(1)以MCS-51系列单片机为核心器件,组成一个简单的直流数字电压表。⑵能够测量0-20V之间的直流电压值。⑶电压显示用4位一体的LED数码管显示,至少能够显示两位小数。⑷尽量使用较少的元器件。2.2设计思路⑴根据设计要求,选择STC90C51单片机为核心控制器件。⑵A/D转换采用PCF8591实现,与单片机的接口为P1口和P2口的高四位引脚。⑶电压显示采用4位一体的LED数码管。⑷LED数码的段码输入,由并行端口P0产生:位码输入,用并行端口P2低四位产生。2.3设计方案硬件电路设计由6个部分组成;A/D转换电路,AT89C51单片机系统,LED显示系统、时钟电路、复位电路以及测量电压输入电路。硬件电路设计框图如图1所示图1数字电压表系统硬件设计框图3硬件电路设计3.1A/D转换模块3.1.1PCF8591描述PCF8591是一个单片集成、单独供电、低功耗、8-bitCMOS数据获取器件。PCF8591具有4个模拟输入、1个模拟输出和1个串行I²C总线接口。PCF8591的3个地址引脚A0,A1和A2可用于硬件地址编程,允许在同个I2C总线上接入8个PCF8591器件,而无需额外的硬件。在PCF8591器件上输入输出的地址、控制和数据信号都是通过双线双向I2C总线以串行的方式进行传输。3.1.2PCF8591功能PCF8591的功能包括多路模拟输入、内置跟踪保持、8-bit模数转换和8-bit数模转换。PCF8591的最大转化速率由I2C总线的最大速率决定。3.1.3PCF8591主要特性1.单独供电2.PCF8591的操作电压范围2.5V-6V3.低待机电流4.通过I2C总线串行输入/输出5.PCF8591通过3个硬件地址引脚寻址6.PCF8591的采样率由I2C总线速率决定7.4个模拟输入可编程为单端型或差分输入8.自动增量频道选择9.PCF8591的模拟电压范围从VSS到VDD10.PCF8591内置跟踪保持电路11.8-bit逐次逼近A/D转换器12.通过1路模拟输出实现DAC增益3.1.4PCF8591的外部引脚特征PCF8591芯片有28条引脚,采用双列直插式封装,其引脚图如图3所示。图3PCF8591引脚图下面说明各个引脚功能:AIN0~AIN3:模拟信号输入端。A0~A2:引脚地址端。VDD、VSS:电源端。(2.5~6V)SDA、SCL:I2C总线的数据线、时钟线。OSC:外部时钟输入端,内部时钟输出端。EXT:内部、外部时钟选择线,使用内部时钟时EXT接地。AGND:模拟信号地。AOUT:D/A转换输出端。VREF:基准电源端。3.1.5PCF8591的原理图3.2单片机系统3.2.1STC90C51性能STC90C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含有4KB的可反复擦写的只读程序存储器和128字节的随机存储器。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容,由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,它为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。STC90C51功能性能:与MCS-51成品指令系统完全兼容;4KB可编程闪速存储器;寿命:1000次写/擦循环;数据保留时间:10年;全静态工作:0-24MHz;三级程序存储器锁定;128*8B内部RAM;32个可编程I/O口线;2个16位定时/计数器;5个中断源;可编程串行UART通道;片内震荡器和掉电模式[6]。3.2.2STC90C51各引脚功能STC90C51提供以下标准功能:4KB的Flash闪速存储器,128B内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内震荡器及时钟电路,同时,STC90C51可降至0Hz静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作,掉电方式保存RAM中的内容,但震荡器停止工作并禁止其他所有工作直到下一个硬件复位。STC90C51采用PDIP封装形式,引脚配置如图5所示[7]。图5STC90C51的引脚图AT89C51芯片的各引脚功能为:P0口:这组引脚共有8条,P0.0为最低位。这8个引脚有两种不同的功能,分别适用于不同的情况,第一种情况是89C51不带外存储器,P0口可以为通用I/O口使用,P0.0-P0.7用于传送CPU的输入/输出数据,这时输出数据可以得到锁存,不需要外接专用锁存器,输入数据可以得到缓冲,增加了数据输入的可靠性;第二种情况是89C51带片外存储器,P0.0-P0.7在CPU访问片外存储器时先传送片外存储器的低8位地址,然后传送CPU对片外存储器的读/写数据。P0口为开漏输出,在作为通用I/O使用时,需要在外部用电阻上拉。P1口:这8个引脚和P0口的8个引脚类似,P1.7为最高位,P1.0为最低位,当P1口作为通用I/O口使用时,P1.0-P1.7的功能和P0口的第一功能相同,也用于传送用户的输入和输出数据。P2口:这组引脚的第一功能与上述两组引脚的第一功能相同即它可以作为通用I/O口使用,它的第一功能和P0口引脚的第二功能相配合,用于输出片外存储器的高8位地址,共同选中片外存储器单元,但并不是像P0口那样传送存储器的读/写数据。P3口:这组引脚的第一功能和其余三个端口的第一功能相同,第二功能为控制功能,每个引脚并不完全相同,如下表2所示:表2P3口各位的第二功能Vcc为+5V电源线,Vss接地。ALE:地址锁存允许线,配合P0口的第二功能使用,在访问外部存储器时,89C51的CPU在P0.0-P0.7引脚线去传送随后而来的片外存储器读/写数据。在不访问片外存储器时,89C51自动在ALE线上输出频率为1/6震荡器频率的脉冲序列。该脉冲序列可以作为外部时钟源或定时脉冲使用。/EA:片外存储器访问选择线,可以控制89C51使用片内ROM或使用片外ROM,若/EA=1,则允许使用片内ROM,若/EA=0,则只使用片外ROM。/PSEN:片外ROM的选通线,在访问片外ROM时,89C51自动在/PSEN线上产生一个负脉冲,作为片外ROM芯片的读选通信号。RST:复位线,可以使89C51处于复位(即初始化)工作状态。通常89C51复位有自动上电复位和人工按键复位两种。XTAL1和XTAL2:片内震荡电路输入线,这两个端子用来外接石英晶体和微调电容,即用来连接89C51片内OSC(震荡器)的定时反馈回路。3.3复位电路和时钟电路3.3.1复位电路设计单片机在启动运行时都需要复位,使CPU和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作。MCS-51单片机有一个复位引脚RST,采用施密特触发输入。当震荡器起振后,只要该引脚上出现2个机器周期以上的高电平即可确保时器件复位[1]。复位完成后,如果RST端继续保持高电平,MCS-51就一直处于复位状态,只要RST恢复低电平后,单片机才能进入其他工作状态。单片机的复位方式有上电自动复位和手动复位两种,图6是51系列单片机统常用的上电复位和手动复位组合电路,只要Vcc上升时间不超过1ms,它们都能很好的工作[1]。图6复位电路3.3.2时钟电路设计单片机中
本文标题:基于单片机的简易数字电压表的设计(1)(DOC)
链接地址:https://www.777doc.com/doc-5187040 .html