《2022年简易数字电压表的方案设计书.docx》由会员分享,可在线阅读,更多相关《2022年简易数字电压表的方案设计书.docx(42页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选学习资料 - - - - - - - - - 基于单片机的简易数字电压表的设计摘要 本文介绍了一种基于单片机的简易数字电压表的设计;该设计主要由三个模块组成:A/D 转换模块,数据处理模块及显示模块;A/D 转换主要由芯片ADC0808来完成,它负责把采集到的模拟量转换为相应的数字量在传送到数据处理模块;数据处理就由芯片 AT89C51 来完成,其负责把 ADC0808 传送来的数字量经过肯定的数据处理,产生相应的显示码送到显示模块进行显示;此外 , 它仍掌握着 ADC0808芯片工作;该系统的数字电压表电路简洁,所用的元件较少,成本低,且测量精度和可靠性较高;此数字电压表可以测量0-5V
2、 的 1 路模拟直流输入电压值,并通过一个四位一体的 7 段数码管显示出来;关键词 单片机;数字电压表;A/D 转换; AT89C51;ADC0808 Design of Simple Digital Voltmeter Based onSingle-chip Microcontroller TianMingming Abstract This paper which introduces a kind of simple digital voltmeter is based 名师归纳总结 - - - - - - -第 1 页,共 29 页精选学习资料 - - - - - - - - - on
3、 single-chipmicrocontroller design.The circuit of the voltage meter is mainly consisted of three mould pieces: A/D converting mould piece, A/D converting is mainly completed by the ADC0808, it converts the collected analog data into the digital data and transmits the outcome to the manifestation con
4、trolling mould piece. Data processing is mainly completed by the AT89C51 chip, it processes the data produced by the ADC0808 chip and generates the right manifestation codes, also transmits the codes to the manifestation controlling mould piece. Also, the AT89C51 chip controls the ADC0808 chip to wo
5、rk. The voltmeter features in simple electrical circuit, lower use of elements, low cost, moreover, its measuring precision and 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 pie
6、ces of LED. Keywords Single-chip microcontroller;Digital voltmeter ;A/D converter ;AT89C51 ; ADC0808目 录 1 引言 1 名师归纳总结 2 设计总体方案2 第 2 页,共 29 页- - - - - - -精选学习资料 - - - - - - - - - 2.1 设计要求 2 2.2 设计思路 2 2.3 设计方案 2 3 硬件电路设计 3 3.1 A/D 转换模块 3 3.2 单片机系统 7 3.3 复位电路和时钟电路 9 3.4 LED 显示系统设计 10 3.5 总体电路设计 13 4 程
7、序设计 14 4.1 程序设计总方案 14 4.2 系统子程序设计 15 5 仿真 16 5.1 软件调试 16 5.2 显示结果及误差分析 17 结论 19 参考文献 20 附录程序代码 22 致谢 23 名师归纳总结 - - - - - - -第 3 页,共 29 页精选学习资料 - - - - - - - - - 1 引言在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的 测量最为常常;而且随着电子技术的进展,更是常常需要测量高精度的电压,所 以数字电压表就成为一种必不行少的测量仪器;数字电压表简称 DVM,它是采纳 数字化测量技术,把连续的模拟量转换成不连续、离散的数字
8、形式并加以显示的 外表;由于数字式仪器具有读数精确便利、精度高、误差小、测量速度快等特而 得到广泛应用 1 ;传统的指针式刻度电压表功能单一,进度低,简洁引起视差和视觉疲惫,因 而不能满意数字化时代的需要;采纳单片机的数字电压表,将连续的模拟量如直 流电压转换成不连续的离散的数字形式并加以显示,从而精度高、抗干扰才能 强,可扩展性强、集成便利,仍可与 PC 实时通信;数字电压表是诸多数字化仪 表的核心与基础 2 ;以数字电压表为核心,可以扩展成各种通用数字外表、专用 A/D 转换器构成 数字外表及各种非电量的数字化外表;目前,由各种单片机和 的数字电压表作全面深化的明白是很有必要的;最近的几十
9、年来,随着半导体技术、集成电路(IC )和微处理器技术的发展,数字电路和数字化测量技术也有了庞大的进步,从而促使了数字电压表的快 速进展,并不断显现新的类型 4 ;数字电压表从 1952 年问世以来,经受了不断 改进的过程,从最早采纳继电器、电子管和形式进展到了现在的全固态化、集成 化( IC 化),另一方面,精度也从 0.01%-0.005% ;目前,数字电压表的内部核心部件是A/D 转换器,转换的精度很大程度上影响着数字电压表的精确度,因而,以后数字电压表的进展就着眼在高精度和低 成本这两个方面 3 ;本文是以简易数字直流电压表的设计为讨论内容,本系统主要包括三大模块:转换模块、数据处理模
10、块及显示模块;其中,A/D 转换采纳 ADC0808对输入名师归纳总结 的模拟信号进行转换,掌握核心AT89C51 再对转换的结果进行运算处理,最终第 4 页,共 29 页驱动输出装置LED显示数字电压信号11 ;- - - - - - -精选学习资料 - - - - - - - - - 2 设计总体方案2.1 设计要求以 MCS-51系列单片机为核心器件,组成一个简洁的直流数字电压表;采纳 1 路模拟量输入,能够测量0-5V 之间的直流电压值;电压显示用 4 位一体的 LED数码管显示,至少能够显示两位小数;尽量使用较少的元器件;2.2 设计思路依据设计要求,挑选AT89C51单片机为核心掌
11、握器件; A/D 转换采纳ADC0808 实现,与单片机的接口为P1 口和 P2 口的高四位引脚;电压显示采纳 4 位一体的 LED数码管; LED 数码的段码输入 , 由并行端口 P0 产生:位码输入,用并行端口 P2 低四位产生;2.3 设计方案硬件电路设计由 6 个部分组成; A/D 转换电路, AT89C51 单片机系统, LED显示系统、时钟电路、复位电路以及测量电压输入电路;硬件电路设计框图如图1 所示;时钟电路AT89C51 A/D 转换电路测量电压输入 P1 P2 复位电路 P2 显示系统 P0 图 1 数字电压表系统硬件设计框图名师归纳总结 - - - - - - -第 5
12、页,共 29 页精选学习资料 - - - - - - - - - 3 硬件电路设计3.1 A/D 转换模块现实世界的物理量都是模拟量,能把模拟量转化成数字量的器件称为模 / 数转换器( A/D 转换器), A/D 转换器是单片机数据采集系统的关键接口电路,按照各种 A/D 芯片的转化原理可分为逐次靠近型,双重积分型等等;双积分式 A/D转换器具有抗干扰才能强、转换精度高、价格廉价等优点;与双积分相比,逐次靠近式 A/D 转换的转换速度更快,而且精度更高,比如ADC0809、ADC0808等,它们通常具有 8 路模拟选通开关及地址译码、锁存电路等,它们可以与单片机系统连接,将数字量送到单片机进行
13、分析和显示;一个 n 位的逐次靠近型 A/D转换器只需要比较 n 次,转换时间只取决于位数和时钟周期,逐次靠近型 A/D转换器转换速度快,因而在实际中广泛使用 1 ;3.1.1 逐次靠近型 A/D 转换器原理逐次靠近型 A/D 转换器是由一个比较器、A/D 转换器、储备器及掌握电路组成;它利用内部的寄存器从高位到低位一次开头逐位摸索比较;转换过程如下:开头时,寄存器各位清零,转换时,先将最高位置1,把数据送入A/D 转换器转换,转换结果与输入的模拟量比较,假如转换的模拟量比输入的模拟量小,就 1 保留,假如转换的模拟量比输入的模拟量大,就1 不保留,然后从其次位依次重复上述过程直至最低位,最终
14、寄存器中的内容就是输入模拟量对应的二进制数字量 5 ;其原理框图如图 2 所示:输入电压输入数字量次序脉冲发生 逐 次 逼 近 电压ADC 器 寄存器 比较器图 2 逐次靠近式 A/D 转换器原理图3.1.2 ADC0808 主要特性ADC0808是 CMOS单片型逐次靠近式A/D 转换器,带有使能掌握端,与微机名师归纳总结 - - - - - - -第 6 页,共 29 页精选学习资料 - - - - - - - - - 直接接口,片内带有锁存功能的8 路模拟多路开关,可以对8 路 0-5V 输入模拟电压信号分时进行转换,由于ADC0808 设计时考虑到如干种模/ 数变换技术的长处,所以该芯
15、片特别适应于过程掌握,微掌握器输入通道的接口电路,智能仪器和机床掌握等领域 5 ;ADC0808主要特性 :8 路 8 位 A/D 转换器,即辨论率 8 位;具有锁存掌握的8 路模拟开关;易与各种微掌握器接口;可锁存三态输出,输出与 TTL 兼容;转换时间: 128 s;转换精度: 0.2%;单个 +5V 电源供电;模拟输入电压范畴 0-+5V,无需外部零点和满度调整;低功耗,约 15mW 6 ;3.1.3 ADC0808 的外部引脚特点ADC0808 芯片有 28 条引脚,采纳双列直插式封装,其引脚图如图 3 所示;图 3 ADC0808 引脚图下面说明各个引脚功能 : IN0-IN7 (8
16、 条): 8 路模拟量输入线,用于输入和掌握被转换的模拟电压;地址输入掌握( 4 条):ALE:地址锁存答应输入线,高电平有效,当ALE 为高电平常,为地址输入线,用于挑选IN0-IN7上那一条模拟电压送给比较器进行A/D 转换;ADDA,ADDB,ADDC:3位地址输入线,用于挑选 应关系如表 1 所示:8 路模拟输入中的一路,其对名师归纳总结 - - - - - - -第 7 页,共 29 页精选学习资料 - - - - - - - - - 表 1 ADC0808 通道挑选表地址码 对应的输入通C B A 道0 0 0 IN0 0 0 1 IN1 0 1 0 IN2 0 1 1 IN3 1
17、 0 0 IN4 1 0 1 IN5 1 1 0 IN6 1 1 1 IN7 START:START为“ 启动脉冲” 输入法,该线上正脉冲由 CPU送来,宽度应大于 100ns ,上升沿清零 SAR,下降沿启动 ADC工作;EOC:EOC为转换终止输出线,该线上高电平表示 锁入三态输出锁存器;D1-D8:数字量输出端,D1 为高位;A/D 转换已终止,数字量已OE:OE为输出答应端,高电平能使 D1-D8 引脚上输出转换后的数字量;REF+、 REF-: 参考电压输入量,给电阻阶梯网络供应标准电压;Vcc、GND:Vcc 为主电源输入端,GND为接地端,一般REF+与 Vcc 连接在一起, R
18、EF-与 GND连接在一起 . CLK: 时钟输入端;3.1.4 ADC0808 的内部结构及工作流程ADC0808由 8 路模拟通道挑选开关,地址锁存与译码器,比较器,8 位开关树型 A/D 转换器,逐次靠近型寄存器,定时和掌握电路和三态输出锁存器等组名师归纳总结 成,其内部结构如图4 所示;第 8 页,共 29 页- - - - - - -精选学习资料 - - - - - - - - - 图 4 ADC0808 的内部结构其中:(1)8 路模拟通道挑选开关实现从 器进行比较;8 路输入模拟量中挑选一路送给后面的比较(2)地址锁存与译码器用于当 ALE信号有效时,锁存从 ADDA、ADDB、
19、ADDC3根地址线上送来的 3 位地址,译码后产生通道挑选信号,从 8 路模拟通道中挑选当前模拟通道;(3)比较器, 8 位开关树型A/D 转换器,逐次靠近型寄存器,定时和掌握电路组成 8 位 A/D 转换器,当 START信号有效时,就开头对当前通道的模拟信号进行转换,转换完成后,把转换得到的数字量送到 脚送出转换终止信号;8 位三态锁存器,同时通过引( 4)三态输出锁存器储存当前模拟通道转换得到的数字量,当 OE 信号有效时,把转换的结果送出;ADC0808的工作流程为:名师归纳总结 (1)输入 3 位地址,并使ALE=1,将地址存入地址锁存器中,经地址译码器从8第 9 页,共 29 页路
20、模拟通道中选通1 路模拟量送给比较器;(2)送 START一高脉冲, START的上升沿使逐次寄存器复位,下降沿启动A/D转换,并使EOC信号为低电平;(3)当转换终止时,转换的结果送入到输出三态锁存器中,并使EOC信号回到高电平,通知CPU已转换终止;(4)当 CPU执行一读数据指令时,使OE为高电平,就从输出端D0-D7 读出数- - - - - - -精选学习资料 - - - - - - - - - 据;3.2 单片机系统3.2.1AT89C51 性能AT89C51 是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含有 4KB 的可反复擦写的只读程序储备器和128 字节的
21、随机储备器;该器件采用 ATMEL高密度非易失储备器制造技术制造,与工业标准的 MCS-51 指令集和输出管脚相兼容,由于将多功能 8 位 CPU和闪耀储备器组合在单个芯片中,ATMEL的 AT89C51 是一种高效微掌握器,它为很多嵌入式掌握系统供应了一种敏捷性高且价廉的方案;AT89C51 功能性能 : 与 MCS-51成品指令系统完全兼容;4KB 可编程闪速储备器;寿命: 1000 次写 / 擦循环 ;数据保留时间:10 年;全静态工作:0-24MHz;三级程序储备器锁定;128*8B 内部 RAM;32 个可编程 I/O 口线; 2 个 16 位定时 / 计数器; 5 个中断源;可编程
22、串行 UART通道;片内震荡器和掉电模式 6 ;3.2.2 AT89C51 各引脚功能AT89C51供应以下标准功能:4KB 的 Flash 闪速储备器, 128B 内部 RAM,32个 I/O 口线,两个 16 位定时 / 计数器,一个 5 向量两级中断结构,一个全双工串行通信口,片内震荡器准时钟电路,同时,AT89C51 可降至 0Hz 静态规律操作,并支持两种软件可选的节电工作模式;闲暇方式停止CPU 的工作,但答应名师归纳总结 RAM,定时 / 计数器,串行通信口及中断系统连续工作,掉电方式储存RAM中的第 10 页,共 29 页内容,但震荡器停止工作并禁止其他全部工作直到下一个硬件复
23、位;AT89C51 采用 PDIP 封装形式,引脚配置如图5 所示7 ;- - - - - - -精选学习资料 - - - - - - - - - 图 5 AT89C51 的引脚图AT89C51芯片的各引脚功能为:P0 口:这组引脚共有 8 条, P0.0 为最低位;这 8 个引脚有两种不同的功能,分别适用于不同的情形,第一种情形是 89C51 不带外储备器,P0 口可以为通用 I/O 口使用, P0.0-P0.7 用于传送 CPU的输入 / 输出数据,这时输出数据可以得到锁存,不需要外接专用锁存器,输入数据可以得到缓冲,增加了数据输入的牢靠性;其次种情形是 89C51 带片外储备器,P0.0
24、-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 位地址,共同选中片外
25、储备器单元,但并不是像 P0 口那样传送存储器的读 / 写数据;P3 口:这组引脚的第一功能和其余三个端口的第一功能相同,其次功能为掌握功能,每个引脚并不完全相同,如下表 2 所示:表 2 P3 口各位的其次功能P3 口各位 其次功能P3.0 RXT(串行口输入)P3.1 TXD(串行口输出)P3.2 /INT0 (外部中断 0 输入)P3.3 /INT1 外部中断 1 输入 P3.4 T0(定时器 / 计数器 0 的外部输入)P3.5 T1(定时器 / 计数器 1 的外部输入)P3.6 /WR(片外数据储备器写答应) P3.7 /RD(片外数据储备器读答应)Vcc 为+5V 电源线, Vss
26、 接地;ALE:地址锁存答应线,协作P0 口的其次功能使用,在拜访外部储备器名师归纳总结 时, 89C51 的 CPU 在 P0.0-P0.7引脚线去传送随后而来的片外储备器读/ 写数第 11 页,共 29 页- - - - - - -精选学习资料 - - - - - - - - - 据;在不拜访片外储备器时,89C51 自动在 ALE线上输出频率为1/6 震荡器频率的脉冲序列;该脉冲序列可以作为外部时钟源或定时脉冲使用;/EA: 片外储备器拜访挑选线,可以掌握89C51 使用片内ROM或使用片外ROM, 如/EA=1,就答应使用片内ROM, 如/EA=0,就只使用片外ROM;/PSEN:片外
27、 ROM的选通线,在拜访片外ROM时, 89C51 自动在 /PSEN 线上产生一个负脉冲,作为片外ROM芯片的读选通信号;89C51 复RST:复位线,可以使89C51 处于复位 即初始化 工作状态;通常位有自动上电复位和人工按键复位两种;XTAL1 和 XTAL2:片内震荡电路输入线,这两个端子用来外接石英晶体和微调电容,即用来连接 89C51 片内 OSC震荡器 的定时反馈回路;3.3 复位电路和时钟电路3.3.1 复位电路设计单片机在启动运行时都需要复位,使CPU 和系统中的其他部件都处于一个确定的初始状态,并从这个状态开头工作;MCS-51 单片机有一个复位引脚RST,采纳施密特触发
28、输入;当震荡器起振后,只要该引脚上显现 的高电平即可确保时器件复位 1 ;复位完成后,假如2 个机器周期以上 RST 端连续保持高电平,MCS-51 就始终处于复位状态,只要 RST 复原低电平后,单片机才能进入其他工作状态;单片机的复位方式有上电自动复位和手动复位两种,图 6 是 51 系列单片机统常用的上电复位和手动复位组合电路,只要 Vcc 上升时间不超过 1ms,它们都能很好的工作 1 ;图 6 复位电路3.3.2 时钟电路设计名师归纳总结 单片机中CPU 每执行一条指令,都必需在统一的时钟脉冲的掌握下严格按第 12 页,共 29 页时间节拍进行,而这个时钟脉冲是单片机掌握中的时序电路
29、发出的;CPU执行一- - - - - - -精选学习资料 - - - - - - - - - 条指令的各个微操作所对应时间次序称为单片机的时序;MCS-51 单片机芯片内部有一个高增益反相放大器,用于构成震荡器,XTAL1 为该放大器的输入端,XTAL2为该放大器输出端,但形成时钟电路仍需附加其他电路 1 ;本设计系统采纳内部时钟方式,利用单片机内部的高增益反相放大器,外部电路简,只需要一个晶振和 2 个电容即可,如图7 所示;图 7 时钟电路电路中的器件挑选可以通过运算和试验确定,也可以参考一些典型电路的参数,电路中,电容器C1 和 C2 对震荡频率有微调作用,通常的取值范畴是30 10p
30、F,在这个系统中挑选了 33pF;石英晶振挑选范畴最高可选 24MHz,它打算了单片机电路产生的时钟信号震荡频率,在本系统中挑选的是 12MHz,因而时钟信号的震荡频率为 12MHz;3.4 LED 显示系统设计3.4.1 LED 基本结构LED 是发光二极管显示器的缩写;LED 由于结构简洁、价格廉价、与单片机接口便利等优点而得到广泛应用;LED 显示器是由如干个发光二极管组成显示字段的显示器件 6 ;在单片机中使用最多的是七段数码显示器;LED 七段数码显示器由 8 个发光二极管组成显示字段,其中 7 个长条形的发光二极管排列成“ 日” 字形,另一个圆点形的发光二极管在显示器的右下角作为显
31、示小数点用,名师归纳总结 其通过不同的组合可用来显示各种数字;LED引脚排列如下图8 所示 : 第 13 页,共 29 页- - - - - - -精选学习资料 - - - - - - - - - 图 8 LED 引脚排列3.4.2LED 显示器的挑选在应用系统中,设计要求不同,使用的LED 显示器的位数也不同,因此就生产了位数,尺寸,型号不同的 LED 显示器供挑选,在本设计中,挑选 4 位一体的数码型 LED 显示器,简称“4-LED” ;本系统中前一位显示电压的整数位,即个位,后两位显示电压的小数位;4-LED 显示器引脚如图 9 所示,是一个共阴极接法的 4 位 LED数码显示管,其中
32、 a,b,c,e,f ,g 为 4 位 LED 各段的公共输出端,1、 2、 3、 4 分别是每一位的位数选端,dp 是小数点引出端,4 位一体 LED 数码显示管的内部结构是由 4 个单独的 LED 组成,每个 LED 的段输出引脚在内部都并联后,引出到器件的外部;图 9 4 位 LED引脚对于这种结构的LED 显示器,它的体积和结构都符合设计要求,由于4 位LED 阴极的各段已经在内部连接在一起,所以必需使用动态扫描方式(将全部数码管的段选线并联在一起,用一个 3.4.3LED 译码方式I/O 接口掌握)显示;名师归纳总结 译码方式是指由显示字符转换得到对应的字段码的方式,对于LED 数码
33、管第 14 页,共 29 页- - - - - - -精选学习资料 - - - - - - - - - 显示器,通常的译码方式有硬件译码和软件译码方式两种;硬件译码是指利用特地的硬件电路来实现显示字符码的转换;软件译码就是编写软件译码程序,通过译码程序来得到要显示的字符的字 段码,译码程序通常为查表程序 3 ;本设计系统中为了简化硬件线路设计,LED 译码采纳软件编程来实现;由于本设计采纳的是共阴极LED,其对应的字符和字段码如下表3.3 所示;表 3.3 共阴极字段码表显示字符 共 阴 极 字 段码0 3FH 1 06H 2 5BH 3 4FH 4 66H 5 6DH 6 7DH 7 07H
34、 8 7FH 9 6FH 3.4.4LED 显示器与单片机接口设计由于单片机的并行口不能直接驱动 LED 显示器,所以,在一般情形下,必须采纳专用的驱动电路芯片,使之产生足够大的电流,显示器才能正常工作 7 ;假如驱动电路才能差,即负载才能不够时,显示器亮度就低,而且驱动电路长期在超负荷下运行简洁损坏,因此,的问题;LED 显示器的驱动电路设计是一个特别重要名师归纳总结 为了简化数字式直流电压表的电路设计,在LED 驱动电路的设计上,可以第 15 页,共 29 页利用单片机P0 口上外接的上拉电阻来实现,即将LED 的 A-G 段显示引脚和DP小数点显示引脚并联到P0 口与上拉电阻之间,这样,
35、就可以加大P0 口作为输- - - - - - -精选学习资料 - - - - - - - - - 出口德驱动才能,使得LED 能依据正常的亮度显示出数字,如图10 所示;图 10 LED 与单片机接口间的设计3.5 总体电路设计经过以上的设计过程,可设计出基于单片机的简易数字直流电压表硬件电路原理图如图 11 所示;图 11 简易数字电压表电路图名师归纳总结 - - - - - - -第 16 页,共 29 页精选学习资料 - - - - - - - - - 此电路的工作原理是:+5V 模拟电压信号通过变阻器VR1 分压后由ADC08008的 IN0 通道进入(由于使用的IN0 通道,所以A
36、DDA,ADDB,ADDC均接低电平),经过模 / 数转换后,产生相应的数字量经过其输出通道D0-D7 传送给 AT89C51 芯片的 P1 口, AT89C51 负责把接收到的数字量经过数据处理,产生正确的 7 段数码管的显示段码传送给四位 LED,同时它仍通过其四位 I/O 口 P2.0 、 P2.1 、P2.2 、P2.3 产生位选信号掌握数码管的亮灭;此外,AT89C51 仍掌握 ADC0808的工作;其中,单片机 AT89C51 通过定时器中断从 P2.4 输出方波,接到 ADC0808 的CLOCK,P2.6 发正脉冲启动 A/D 转换, P2.5 检测 A/D 转换是否完成,转换
37、完成后, P2.7 置高从 P1 口读取转换结果送给 LED显示出来 3 ;简易数字直流电压表的硬件电路已经设计完成,就可以选取相应的芯片和元器件,利用Proteus软件绘制出硬件的原理,并认真地检查修改,直至形成完善的硬件原理图;但要真正实现电路对电压的测量和显示的功能,仍需要有相应的软件协作,才能达到设计要求;4 程序设计4.1 程序设计总方案依据模块的划分原就,将该程序划分初始化模块,A/D 转换子程序和显示子程序,这三个程序模块构成了整个系统软件的主程序,如图 12 所示;开头初始化调用 A/D 转换子程序调 用 显 示 子 程终止图 12 数字式直流电压表主程序框图名师归纳总结 -
38、- - - - - -第 17 页,共 29 页精选学习资料 - - - - - - - - - 4.2 系统子程序设计4.2.1 初始化程序所谓初始化,是对将要用到的MCS_51系列单片机内部部件或扩展芯片进行初始工作状态设定,初始化子程序的主要工作是设置定时器的工作模式,初值预置,开中断和打开定时器等 9 ;4.2.2 A/D 转换子程序A/D 转换子程序用来掌握对输入的模块电压信号的采集测量,并将对应的数值存入相应的内存单元,其转换流程图如图 13 所示;开头启动转换A/D 转 换 结输出转换结果数值转换显示终止图 13 A/D 转换流程图4.2.3 显示子程序显示子程序采纳动态扫描实现
39、四位数码管的数值显示,在采纳动态扫描显示名师归纳总结 方式时,要使得LED 显示的比较匀称,又有足够的亮度,需要设置适当的扫描第 18 页,共 29 页频率,当扫描频率在70HZ 左右时,能够产生比较好的显示成效,一般可以采纳- - - - - - -精选学习资料 - - - - - - - - - 间隔 10ms 对 LED进行动态扫描一次,每一位LED的显示时间为1ms 10 ;在本设计中,为了简化硬件设计,主要采纳软件定时的方式,即用定时器 0溢出中断功能实现 11 s 定时,通过软件延时程序来实现 5ms 的延时;5 仿真5.1 软件调试软件调试的主要任务是排查错误,错误主要包括规律和
40、功能错误,这些错误有些是显性的,而有些是隐形的,可以通过仿真开发系统发觉逐步改正;Proteus软件可以对基于微掌握器的设计连同全部的四周电子器件一起仿真,用户甚至可以实时采纳诸如 LED/LCD、键盘、 RS232 终端等动态外设模型来对设计进行交互仿真; Proteus 支持的微处理芯片包括 8051 系列、 AVR系列、 PIC 系列、 HC11系列及 Z80 等等; Proteus 可以完成单片机系统原理图电路绘制、PCB设计,更为显著点的特点是可以与 u Visions3 IDE 工具软件结合进行编程仿真调试 8 ;本系统的调试主要以软件为主,其中,系统电路图的绘制和仿真我采纳的是P
41、roteus 软件,而程序方面,采纳的是汇编语言,用Keil软件将程序写入单片机;5.2 显示结果及误差分析5.2.1 显示结果名师归纳总结 1. 当 IN0 口输入电压值为0V 时,显示结果如图14 所示,测量误差为0V;第 19 页,共 29 页- - - - - - -精选学习资料 - - - - - - - - - 图 14 输入电压为 0V 时, LED 的显示结果2. 当 IN0 输入电压值为1.50V时,显示结果如图15 所示;测量误差为0.01V ;名师归纳总结 - - - - - - -第 20 页,共 29 页精选学习资料 - - - - - - - - - 图 15 输入
42、电压为 1.50V 时, LED 的显示结果3. 当 IN0 口输入电压值为 3.50V 时,显示结果如图 16;测量误差为 0.01V ;图 16 输入电压为 3.50V 时, LED 的显示结果5.2.2 误差分析通过以上仿真测量结果可得到简易数字电压表与“ 标准” 数字电压表对比测试表,如下表 4 所示:表 4 简易数字电压表与“ 标准” 数字电压表对比测试表名师归纳总结 标准电简易电压表肯定误差5.00V 时, ADC0808输第 21 页,共 29 页压值 /V 测量值 /V /V 0.00 0.00 0.00 0.50 0.51 0.01 1.00 1.00 0.00 1.50 1.51 0.01 2.00 2.00 0.00 2.50 2.50 0.00 3.00 3.00 0.00 3.50 3.50 0.00 4.00 4.00 0.00