多通道数字电压表设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图3.2 时钟电路
2.1.3 单片机的复位电路
复位电路是上电自动复位加按键复位。由于电容两端的电压不能突变,在上电的瞬间电容负端的电位和正端的电位相同都为高电平5V,紧接着电源给电容充电,经过很快的时间充电过程结束,电容对于直流电来说是断路,此时RST引脚通过R12接地。整个过程会在RST引脚上产生一个维持几个机器周期的高电平脉冲足以使单片机有效复位。手动按键复位同样是在按键按下的瞬间使电容完成先放电再充电的过程,也能产生一个维持几个机器周期的高电平脉冲使单片机有效复位。RST引脚是复位信号的输入端,复位信号是高电平有效,其有效时间应持续24个振荡周期(即2个机器周期) 以上。若使用频率为12MHz的晶振,则复位信号应持续2µs以上,复位电路如图3.3所示[8]。
目前实现电压数字化测量的方法仍然是模-数(A/D)转换的方法,而数字电压表种类繁多,型号新异,目前国际仍未有统一的分类方法。而常用的分类方法有如下几种:
1.按用途来分:交直流数字电压表,交直流万用表等。
2.按显示位数来分:四位,五位,六位,七位,八位等。
3.按测量准确度来分:低准确度,中准确度,高准确度等。
3.1 主程序流程图
主程序包括初始化部分,调用A/D转换子程序和调用显示子程序,通道选择程序。
图3.1 主程序流程图
3.2 A/D转换子程序流程图
A/D转换子程序是用来控制对ADC0809的8路模拟输入电压的A/D转换,并将对应的数值移入70H~77H8个相应的存储单元中,其程序流程如图4.2所示。A/D转换子程序每隔一定时间调用一次。
(4)P2口:P2口是一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流。
(5)P3口:P3口是一个8位带内部上拉电阻的准双向I/O口,可接收输出4个TTL门电流。
(6)RST:复位输入信号,高电平有效。
(7)ALE/PROG:地址锁存允许信号,输出。
(8)/PSEN:片外程序存储器读选通信号,低电平有效。
关键字:多通道数字电压表、ADC0809、MCS-51。
Abstract
The experiment is mainly to make a simple digital voltage meter with the adoption ofMCS-51and ADC0809 chips which can measure the input analog DC voltage of 0~5 V . It shows the voltage through an integral digital code tube of7pieces of LED. The measuring error is about±0.02 V. The circuit of the Voltage meter is mainly consisted of three mould pieces: A/D converting mould piece, data processing mould piece and manifestation controlling mould piece. A/D converting is mainly completed by the ADC0809, it converts the collected analog data into the digital data and transmits the outcome to the manifestation controlling mould piece. Data processingis mainly completed by theMCS-51chip, it processes the data produced by the ADC0809 chip and generates the right manifestation codes, also transmits the codes to the manifestation controlling mould piece. Also, the AT89C51 chip controls the ADC0809 chip to work. Manifestation controlling mould piece is mainly consisted of the digital code tube, it shows the voltage measured by the voltage meter.
ADC0809的引脚功能,其引脚如图3.5所示。
图3.5 ADC0809的引脚图
IN0~IN7:模拟量输入通道。A、B、C:地址线。ALE:地址锁存允许信号。
START:启动转换信号。D0~D7:数据输出线。。OE:输出允许信号。
CLOCK:时钟信号。EOC:转换结束状态信号。VCC:接+5V电源。
图3.2 A/D转换流程图
REF(+)、REF(-):参考电压。
2.2.2 模拟信号采集电路
该电路模块的工作过程:ALE为地址锁存控制,当输入为高电平时,对地址信号进行锁存;START为测试控制,当输入一个2us宽高电平脉冲时,就开始A/D转换;EOC为A/D转换结束标志,当A/D转换结束时,输出高电平;OE为A/D转换数据输出允许控制,当OE脚为高电平时,A/D转换数据从端口输出;则可读出数据。
模拟信号的采集电路见附录2.
2.3通道选择模块设计
矩阵式键盘的硬件结构比较简单,有行输出口和列输出口构成矩阵式键盘,按键设置在行、列的交点上。图3-9所示为3*3矩阵式键盘的硬件结构。
图3-9 矩阵式键盘电路
2.4数码管显示模块电路
显示电路采用LED数码管通过软件译码动态显示,通过单片机的P1以及单片机扩展的四个口控制。P1口为LED数码管的段码输出端,扩展的4个口为LED数码管的四个位码输出端。段码就是LED数码管的8段,P1口来控制这8段,位码控制四个数码管选择其中的哪一个。通过三极管驱动将依次循环点亮数码管,具体显示电路如图3.13所示。
2.1.1 单片机的引脚及其功能
AT89C51的引脚如图3.1所示。
图3.1 AT89C51的引脚图
各引脚的功能介绍如下所示:
(1)VCC:运行和程序校验时接电源正端。
(2)P0口:P0口是一个8位、漏极开路的双向I/O口,每脚可吸收8个TTL门电流。
(3)P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4个TTL门电流。
4.按测量速度来分:低速,中速,高速,超高速等。
在电量的测量中,电压、电流和频率是最基本的三个被测量量,其中,电压量的测量最为经常。随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。另外,由于数字式仪器具有读数准确方便、精度高、误差小、灵敏度高和分辨率高、测量速度快等特点而备受用户青睐,数字式电压表就是基于这种需求而发展起来的,是一种必不可少的电子测量仪表。
图3.3 复位电路
2.2 A/D转换模块设计
A/D转换器是模拟量输入通道中的一个环节,单片机通过A/D转换器把输入模拟量转换成数字量再处理,本设计用ADC0809转换器。测量电压范围为0V~5V,ADC0809的精度可达到0.02V。
2.2.1 ADC0809的介绍
ADC0809是采样分辨率为8位的、采用CMOS工艺制成的8通道以逐次逼近原理进行模/数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。ADC0809的内部结构包括8路模拟选通开关、通道地址锁存器与译码器、8位A/D转换器和三态输出锁存器。
摘要
本课题实验主要采用MCS -51芯片和ADC0809芯片来完成一个多通道数字电压表的设计,能够对输入的0~5 V的8路直流电压进行测量,并通过4个LED数码管进行显示,测量误差约为±0.02 V。该电压表的测量电路主要由四个模块组成:A/D转换模块、单片机及其外围电路模块,显示控制模块及通道选择模块。A/D转换主要由芯片ADC0809来完成,它负责把采集到的模拟量转换为相应的数字量再传送到数据处理模块。数据处理则由芯片MCS -51来完成,其负责把ADC0809传送来的数字量经一定的数据处理,产生相应的显示码送到显示模块进行显示;另外它还控制着ADC0809芯片的工作。显示模块主要由7段数码管组成,显示测量到的电压值及通道。
目 录
第1章设计任务与要求
1.1设计任务
利用单片机MCS-51和ADC0809设计一个多通道数字电压表,能够测量0—5V之间的8路直流电压值,并在四位LED上轮流显示。
1.2 设计要求
测量最小分辨率为0.019V,测最误差约为±0.02V。
第2章 硬件设计
本系统采用MCS-51单片机作为核心控制,对8路8位模数转换芯片ADC0809采集到的模拟电压信号进行分析处理,实现A/D转换,通过数码管显示其电压值。电压表的测量电路主要由三个模块组成:A/D转换模块、数据处理模块以及显示控制模块。
程序开始执行后首先通过手动控制拨码开关来选择8路模拟通道的一路进行模数转换。接着启动一次A/D转换,通过判断转换结束状态信号EOC是否为1来判断A/D转换是否结束。EOC=1, 则表示A/D转换结束,否则EOC=0,则表示正在进行A/D转换。接着输出允许信号OE=1,输出转换后的数据,就完成了一次A/D转换,程序返回到数据处理模块。只要手动控制模拟通道就可以不停的循环进行模数转换。
2.1 MCS-51单片机
MCS-51单片机在一块芯片上集成了CPU、ROM、RAM、定时器/计数器和多种I/O功能部件,具有一台微型计算机的基本结构,主要包括下列部件。1个8 位的CPU、1个布尔处理机、1个片内震荡器、128字节的片内数据存储器、4K字节的片内程序存储器、寻址范围为64K字节的外部数据存储器和程序存储器、21字节的专用存储器、4个并行I/O口、1个全双工的串行口、2个16位的定时器/计数器、5个中断源、2个中断优先级和111条指令,片内采用单总线结构。
KEYWORDS:simple digital voltage meter ,ADC0809 ,MCS-51.
前言
数字电压表出现在50年代初,六十年代末发起来的电压测量仪表,简称DVM。它采用的是数字化测量技术,把连续的模拟量也就是连续的电压பைடு நூலகம்转变为不连续的数字量,加以数字处理然后再通过显示器件显示。
(9)/EA/VPP:片外程序存储器访问允许信号,低电平有效。
(10)XTAL1:输入到单片微机内部振荡器的反相放大器。
(11)XTAL2:反相放大器的输出,输入到内部时钟发生器。
2.1.2 单片机的时钟电路
系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。MCS-51单片机内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性,电容应尽可能的选择陶瓷电容,电容值约为22pF。振荡器的工作频率一般在1.2MHz~12MHz之间,由于制造工艺的改进,有些单片微机的频率范围正向两端延伸,高端可达40MHz,低端可达0Hz,一般用11.0592MHz晶振。时钟电路图如图3.2所示[7]。
图3.13 数码显示模块电路
第3章系统软件设计
软件设计分为主程序设计和子程序设计,下面分别加以说明。
初始化主要是对单片机,它主要包含显示缓冲区初始化。
准备工作做好后便启动ADC0809对模拟通道输入的0V~5V电压模拟信号进行数据采集并转换成相对应的0~255十进制数字量。在数据处理程序中,运用标度变换知识,编写算法将0~255十进制数字量转换成0.00V~5.00V的数据,输出到显示子程序中进行显示。
2.1.3 单片机的复位电路
复位电路是上电自动复位加按键复位。由于电容两端的电压不能突变,在上电的瞬间电容负端的电位和正端的电位相同都为高电平5V,紧接着电源给电容充电,经过很快的时间充电过程结束,电容对于直流电来说是断路,此时RST引脚通过R12接地。整个过程会在RST引脚上产生一个维持几个机器周期的高电平脉冲足以使单片机有效复位。手动按键复位同样是在按键按下的瞬间使电容完成先放电再充电的过程,也能产生一个维持几个机器周期的高电平脉冲使单片机有效复位。RST引脚是复位信号的输入端,复位信号是高电平有效,其有效时间应持续24个振荡周期(即2个机器周期) 以上。若使用频率为12MHz的晶振,则复位信号应持续2µs以上,复位电路如图3.3所示[8]。
目前实现电压数字化测量的方法仍然是模-数(A/D)转换的方法,而数字电压表种类繁多,型号新异,目前国际仍未有统一的分类方法。而常用的分类方法有如下几种:
1.按用途来分:交直流数字电压表,交直流万用表等。
2.按显示位数来分:四位,五位,六位,七位,八位等。
3.按测量准确度来分:低准确度,中准确度,高准确度等。
3.1 主程序流程图
主程序包括初始化部分,调用A/D转换子程序和调用显示子程序,通道选择程序。
图3.1 主程序流程图
3.2 A/D转换子程序流程图
A/D转换子程序是用来控制对ADC0809的8路模拟输入电压的A/D转换,并将对应的数值移入70H~77H8个相应的存储单元中,其程序流程如图4.2所示。A/D转换子程序每隔一定时间调用一次。
(4)P2口:P2口是一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流。
(5)P3口:P3口是一个8位带内部上拉电阻的准双向I/O口,可接收输出4个TTL门电流。
(6)RST:复位输入信号,高电平有效。
(7)ALE/PROG:地址锁存允许信号,输出。
(8)/PSEN:片外程序存储器读选通信号,低电平有效。
关键字:多通道数字电压表、ADC0809、MCS-51。
Abstract
The experiment is mainly to make a simple digital voltage meter with the adoption ofMCS-51and ADC0809 chips which can measure the input analog DC voltage of 0~5 V . It shows the voltage through an integral digital code tube of7pieces of LED. The measuring error is about±0.02 V. The circuit of the Voltage meter is mainly consisted of three mould pieces: A/D converting mould piece, data processing mould piece and manifestation controlling mould piece. A/D converting is mainly completed by the ADC0809, it converts the collected analog data into the digital data and transmits the outcome to the manifestation controlling mould piece. Data processingis mainly completed by theMCS-51chip, it processes the data produced by the ADC0809 chip and generates the right manifestation codes, also transmits the codes to the manifestation controlling mould piece. Also, the AT89C51 chip controls the ADC0809 chip to work. Manifestation controlling mould piece is mainly consisted of the digital code tube, it shows the voltage measured by the voltage meter.
ADC0809的引脚功能,其引脚如图3.5所示。
图3.5 ADC0809的引脚图
IN0~IN7:模拟量输入通道。A、B、C:地址线。ALE:地址锁存允许信号。
START:启动转换信号。D0~D7:数据输出线。。OE:输出允许信号。
CLOCK:时钟信号。EOC:转换结束状态信号。VCC:接+5V电源。
图3.2 A/D转换流程图
REF(+)、REF(-):参考电压。
2.2.2 模拟信号采集电路
该电路模块的工作过程:ALE为地址锁存控制,当输入为高电平时,对地址信号进行锁存;START为测试控制,当输入一个2us宽高电平脉冲时,就开始A/D转换;EOC为A/D转换结束标志,当A/D转换结束时,输出高电平;OE为A/D转换数据输出允许控制,当OE脚为高电平时,A/D转换数据从端口输出;则可读出数据。
模拟信号的采集电路见附录2.
2.3通道选择模块设计
矩阵式键盘的硬件结构比较简单,有行输出口和列输出口构成矩阵式键盘,按键设置在行、列的交点上。图3-9所示为3*3矩阵式键盘的硬件结构。
图3-9 矩阵式键盘电路
2.4数码管显示模块电路
显示电路采用LED数码管通过软件译码动态显示,通过单片机的P1以及单片机扩展的四个口控制。P1口为LED数码管的段码输出端,扩展的4个口为LED数码管的四个位码输出端。段码就是LED数码管的8段,P1口来控制这8段,位码控制四个数码管选择其中的哪一个。通过三极管驱动将依次循环点亮数码管,具体显示电路如图3.13所示。
2.1.1 单片机的引脚及其功能
AT89C51的引脚如图3.1所示。
图3.1 AT89C51的引脚图
各引脚的功能介绍如下所示:
(1)VCC:运行和程序校验时接电源正端。
(2)P0口:P0口是一个8位、漏极开路的双向I/O口,每脚可吸收8个TTL门电流。
(3)P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4个TTL门电流。
4.按测量速度来分:低速,中速,高速,超高速等。
在电量的测量中,电压、电流和频率是最基本的三个被测量量,其中,电压量的测量最为经常。随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。另外,由于数字式仪器具有读数准确方便、精度高、误差小、灵敏度高和分辨率高、测量速度快等特点而备受用户青睐,数字式电压表就是基于这种需求而发展起来的,是一种必不可少的电子测量仪表。
图3.3 复位电路
2.2 A/D转换模块设计
A/D转换器是模拟量输入通道中的一个环节,单片机通过A/D转换器把输入模拟量转换成数字量再处理,本设计用ADC0809转换器。测量电压范围为0V~5V,ADC0809的精度可达到0.02V。
2.2.1 ADC0809的介绍
ADC0809是采样分辨率为8位的、采用CMOS工艺制成的8通道以逐次逼近原理进行模/数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。ADC0809的内部结构包括8路模拟选通开关、通道地址锁存器与译码器、8位A/D转换器和三态输出锁存器。
摘要
本课题实验主要采用MCS -51芯片和ADC0809芯片来完成一个多通道数字电压表的设计,能够对输入的0~5 V的8路直流电压进行测量,并通过4个LED数码管进行显示,测量误差约为±0.02 V。该电压表的测量电路主要由四个模块组成:A/D转换模块、单片机及其外围电路模块,显示控制模块及通道选择模块。A/D转换主要由芯片ADC0809来完成,它负责把采集到的模拟量转换为相应的数字量再传送到数据处理模块。数据处理则由芯片MCS -51来完成,其负责把ADC0809传送来的数字量经一定的数据处理,产生相应的显示码送到显示模块进行显示;另外它还控制着ADC0809芯片的工作。显示模块主要由7段数码管组成,显示测量到的电压值及通道。
目 录
第1章设计任务与要求
1.1设计任务
利用单片机MCS-51和ADC0809设计一个多通道数字电压表,能够测量0—5V之间的8路直流电压值,并在四位LED上轮流显示。
1.2 设计要求
测量最小分辨率为0.019V,测最误差约为±0.02V。
第2章 硬件设计
本系统采用MCS-51单片机作为核心控制,对8路8位模数转换芯片ADC0809采集到的模拟电压信号进行分析处理,实现A/D转换,通过数码管显示其电压值。电压表的测量电路主要由三个模块组成:A/D转换模块、数据处理模块以及显示控制模块。
程序开始执行后首先通过手动控制拨码开关来选择8路模拟通道的一路进行模数转换。接着启动一次A/D转换,通过判断转换结束状态信号EOC是否为1来判断A/D转换是否结束。EOC=1, 则表示A/D转换结束,否则EOC=0,则表示正在进行A/D转换。接着输出允许信号OE=1,输出转换后的数据,就完成了一次A/D转换,程序返回到数据处理模块。只要手动控制模拟通道就可以不停的循环进行模数转换。
2.1 MCS-51单片机
MCS-51单片机在一块芯片上集成了CPU、ROM、RAM、定时器/计数器和多种I/O功能部件,具有一台微型计算机的基本结构,主要包括下列部件。1个8 位的CPU、1个布尔处理机、1个片内震荡器、128字节的片内数据存储器、4K字节的片内程序存储器、寻址范围为64K字节的外部数据存储器和程序存储器、21字节的专用存储器、4个并行I/O口、1个全双工的串行口、2个16位的定时器/计数器、5个中断源、2个中断优先级和111条指令,片内采用单总线结构。
KEYWORDS:simple digital voltage meter ,ADC0809 ,MCS-51.
前言
数字电压表出现在50年代初,六十年代末发起来的电压测量仪表,简称DVM。它采用的是数字化测量技术,把连续的模拟量也就是连续的电压பைடு நூலகம்转变为不连续的数字量,加以数字处理然后再通过显示器件显示。
(9)/EA/VPP:片外程序存储器访问允许信号,低电平有效。
(10)XTAL1:输入到单片微机内部振荡器的反相放大器。
(11)XTAL2:反相放大器的输出,输入到内部时钟发生器。
2.1.2 单片机的时钟电路
系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。MCS-51单片机内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性,电容应尽可能的选择陶瓷电容,电容值约为22pF。振荡器的工作频率一般在1.2MHz~12MHz之间,由于制造工艺的改进,有些单片微机的频率范围正向两端延伸,高端可达40MHz,低端可达0Hz,一般用11.0592MHz晶振。时钟电路图如图3.2所示[7]。
图3.13 数码显示模块电路
第3章系统软件设计
软件设计分为主程序设计和子程序设计,下面分别加以说明。
初始化主要是对单片机,它主要包含显示缓冲区初始化。
准备工作做好后便启动ADC0809对模拟通道输入的0V~5V电压模拟信号进行数据采集并转换成相对应的0~255十进制数字量。在数据处理程序中,运用标度变换知识,编写算法将0~255十进制数字量转换成0.00V~5.00V的数据,输出到显示子程序中进行显示。