基于单片机的数字万用表的设计 ――硬件设计_第1页
基于单片机的数字万用表的设计 ――硬件设计_第2页
基于单片机的数字万用表的设计 ――硬件设计_第3页
基于单片机的数字万用表的设计 ――硬件设计_第4页
基于单片机的数字万用表的设计 ――硬件设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 目录引言11. 设计任务21.1. 设计目的21.2. 设计指标及要求22.设计思路与总体框图22.1.设计思路23.系统硬件电路的设计33.1.数字多用表的主电路33.2.数字多用表的电阻测量输入电路43.3.电压测量输入电路43.4.电流输入测量电路54.系统的设计仿真64.1.仿真原理图64.1.1.测量电阻仿真64.1.2.测量电压仿真74.1.3.测量电流仿真74.2.主要元器件功能介绍75.总结与体会145. 1 总结145. 2体会156.参考文献15引言本设计可以分为直流电压测量电路;交流/直流转换电路;电流/电压转换电路;电阻/电压转换电路;功能控制和数据显示电路这五个的主

2、要电路模块。在设计直流电压测量电路时,利用反相比例运算电路,加上自己设计的四选一模拟开关,组成了一个直流电压测量电路。但该电路在实践中存在问题,不能实现预期的结果。做了适当的修改,改为由电阻、模拟开关和运放组成放大倍数可调的比例电路。由于无论是指针式万用表还是普通的真有效值或平均值响应的数字万用表,其交流电压档的频率特性都较差,一般只能测量几十赫兹到几千赫兹的低频电压。我发现对于指针式万用表造成频率特性较差的原因主要是万用表的分压电阻采用精密电阻器,其本身的分布电容较大,在对高频电压信号进行测量时,由于分布电容的容抗大为减少使得测量值明显低于实际电压值,而对于数字万用表除上述原因以外,另一主要

3、原因是受平均值响应,转换器本身频率特性的限制。但此缺陷可通过采用宽频带运算放大器加以改善。因此,消除分压电阻器分布电容的影响就可以提高万用表工作频率的上限,大大改善其频率特性。数字万用表(DMM)亦称数字多用表,是目前在电子检测及维修工作中最常用、最得力的一种工具类数字仪表。它采用的数字化测量技术,通过对连续的模拟量(直流输入电压)的采样将其转换成不连续、离散的数字量,并以十进制数字形式显示出来。由于内部采用了运放电路,内阻可以做得很大,往往在1M欧或更大(即可以得到更高的灵敏度)。这使得对被测电路的影响可以更小,测量精度较高。传统的指针式万用表功能单一、精度低,已经不能满足数字化时代的需求,

4、而采用单片A/D转换器构成的数字万用表,具有读数方便、精度高,测试功能强、集成度高、微功耗、抗干扰能力强等特点,另外带有单片机的智能型数字万用表更是具有自动校准,自动测量,自动数据处理和实时通讯等多种功能。目前,数字万用表已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。与此同时,由DMM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。1. 设计任务1.1. 设计目的采用8位8路A/D转换器ADC0809和AT89S52单片机,设计一台数字多用表,能进行电压、电流和电阻的测量,测量结果通过LED数码管显示,通过按键进行测量

5、功能转换。1.2. 设计指标及要求电压测量范围05V,测量误差约为0.02V,电流测量范围1100mA,测量误差约为0.5mA,电阻测量范围01000,测量误差约为2。 2.设计思路与总体框图 2.1.设计思路 首先利用P0 口数据地址复用,将地址通过P0口输入到单片机中。再利用模数转换将模拟信号转换成数字信号,再次利用P0口将其输入到单片机。最后,充分利用单片机强大的运算转化功能将其转成适当的二进制信号控制数显以确保正确的显示被测量的读数。2.2.总体思路3.系统硬件电路的设计3.1.数字多用表的主电路数字多表仪表主电路如图1所示。89S52单片机通过线选方式扩展了A/D转换器ADC0809

6、和4位LED数码管,单片机的P2.7引脚作为ADC0809的片选信号,因此A/D转换器的端口地址为7FFFH.片选信号和信号一起经或非门产生ADC0809的启动信号START和地址锁存信号ALE。片选信号和信号一起经或非门产生输出允许信号OE,OE=1时选通三态门使输出锁存器中的转换结果送入数据总路线。ADC0809的EOC信号经反相后接到89S52的引脚,用于产生A/D转换完成中断请求信号。ADC0809芯片的3位模拟量输入通道地址输入端A、B、C分别接到89S52的P0.0、P0.1和P0.2,故只要向端口地址0C000H分别写入00H07H,即可启动模拟量输入通道07进行A/D转换。AD

7、C0809参考正电压为5V,参考负电压为0V,时钟输入为2MHz。单片机的P1.0 P1.2引脚通过一个转换开关接地,通过判断P1.0 P1.2引脚电平的高低,决定是否进行电阻测量、电压测量或电流测量。3.2.数字多用表的电阻测量输入电路图2所示为数字多用表的电阻测量输入电路。运算放大器的反馈电阻R作为待测量电阻,通过1000电阻R接到电源-5V。假定运算放大器理想,那么放大器的输出电压RV=,将RV送给ADC0809,转换后得到数字量为DV=。单片机读取A/D转换数据,再经过逆向运算可得R=,注意此时得到的R为二进制数,需要转化为十进制数后才能送给数码管显示。程序中采用4字节专利号除法,连续

8、进行4次除以10的除法,依1000范围内不超过2,如果测量其他范围的电阻,需要修改的数值,或者采用其他电路。3.3.电压测量输入电路图3所示为数字多用表的电压测量输入电路。待测电压经过低通滤波器滤除高频干扰,再通过同相放大器送给ADC0809,电压测量范围为05V,ADC0809的分辨率为8位,测量误差为5/2550.02V.3.4.电流输入测量电路图4所示为数字多用表的电流输入电路。电流测量范围为1100mA,因为ADC0809是电压转换器件,必须交电流转换为电压才能进行测量,这可以通过串接电阻R来实现,注意R必须很小(例如00.1),否则影响电流数值。由于待测电流和R都很小,R两端的电压也

9、很小,必须将其放大到ADC0809能够分辨的范围之内。假设待测电流大小为I,R两端节点电压分别为V和V,V经过反向缓冲电路之后V=- V。V和V经过差分放大电路得:V=-(V-V)( V-V)再经过同相放大电路得:AV= V将AV送给ADC0809转换后得到数字量为:DAV=单片机读取A/D转换数据,再经过逆向运算可得I=有两个问题值得注意,首先,由于电流的单位是mA,不能直接计算I的值应先变换为I=再进行计算;其次,这么算出来的电流值误差比较大,原因是LM324不是精密理想运算放大器,当输入信号很小时误差比较大。因此需要对计算数值进行修正,方法是先计算DAV*50000,然后将结果减去这个数

10、值是通过反复测试并经过曲线拟合得到的。4.系统的设计仿真4.1.仿真原理图4.1.1.测量电阻仿真4.1.2.测量电压仿真4.1.3.测量电流仿真4.2.主要元器件功能介绍1、AT89S52芯片功能特性描述AT89S52引脚框图:AT89S52 主要性能:1、 与MCS-51 单片机产品兼容2、8K 字节在系统可编程Flash 存储器3、1000 次擦写周期4、全静态操作:0Hz33Hz 5、 三级加密程序存储器6、32 个可编程I/O 口线7、三个16 位定时器/计数器8、八个中断源9、全双工UART 串行通道10、低功耗空闲和掉电模式l 1、掉电后中断可唤醒l2、 看门狗定时器13、双数据

11、指针l 4、掉电标识符功能特性描述:AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工

12、串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。VCC : 电源GND: 地P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验

13、时,输出指令字节。程序校验时,需要外部上拉电阻。P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。在flash编程和校验时,P1口接收低8位地址字节。表2.1 P1口的第二功能P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓

14、冲器能驱动4 个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个TTL 逻辑电平。

15、对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。在flash编程和校验时,P3口也接收一些控制信号。表2.2 P3口的第二功能RST: 复位输入。晶振工作时,RST脚持续2 个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出96 个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时

16、,锁存低8 位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置 “1”,ALE操作将无效。这一位置 “1”,ALE 仅在执行MOVX 或MOVC指令时有效。否则,ALE 将被微弱拉高。这个ALE 使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当AT89S52从外部程序存

17、储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。EA/VPP:访问外部程序存储器控制信号。为使能从0000H 到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在flash编程期间,EA也接收12伏VPP电压。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。Flash 编程并行模式:AT89S52 带有用作编程的片上Flash 存储器阵列。编程接口需要一个高电压(12V)编程使能信号,并且兼容常规的第三方Flash 或EPROM 编程器。AT89S52

18、 程序存储阵列采用字节式编程。编程方法:对AT89S52 编程之前,需根据Flash 编程模式表和图13、图14 对地址、数据和控制信号设置。可采用下列步骤对AT89S52 编程:1在地址线上输入编程单元地址信号2在数据线上输入正确的数据3激活相应的控制信号4把EA/Vpp 升至12V 5每给Flash 写入一个字节或程序加密位时,都要给ALE/PROG 一次脉冲。字节写周期时自身定制的,典型值仅50us。改变地址、数据重复第1 步到第5 步知道全部文件结束。Data Polling AT89S52 用Data Polling 作为一个字节写周期结束的标志特征2、ADC0809介绍ADC080

19、9是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。(1)ADC0809的内部逻辑结构 图2.14 ADC0809的内部逻辑结构上图可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。(2) 引脚结构 图2.15 ADC0809引脚结构图IN0IN7:8条模拟量输入通道 ADC0809对输

20、入模拟量要求:信号单极性,电压范围是05V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。 地址输入和控制线:4条 ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A,B和C为地址输入线,用于选通IN0IN7上的一路模拟量输入。通道选择表如下表所示。表2.3 地址输入线的通道选择CBA选择的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7数字量输出及控制线:1

21、1条 ST为转换启动信号。当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE1,输出转换得到的数据;OE0,输出数据线呈高阻状态。D7D0为数字量输出线。 CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ, VREF(),VREF()为参考电压输入。 ADC0809应用说明:(1) ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。 (2) 初

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论