直流数字电流表的设计.docx

上传人:小飞机 文档编号:4267823 上传时间:2023-04-12 格式:DOCX 页数:14 大小:152.85KB
返回 下载 相关 举报
直流数字电流表的设计.docx_第1页
第1页 / 共14页
直流数字电流表的设计.docx_第2页
第2页 / 共14页
直流数字电流表的设计.docx_第3页
第3页 / 共14页
直流数字电流表的设计.docx_第4页
第4页 / 共14页
直流数字电流表的设计.docx_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《直流数字电流表的设计.docx》由会员分享,可在线阅读,更多相关《直流数字电流表的设计.docx(14页珍藏版)》请在三一办公上搜索。

1、第一章设计任务及可行性分析1.1总体结构1.1.1数字电流表的组成图2.2数字电流表的组成框图数字直流电流表的核心是A/D转换器。按系统功能实现要求,决定控制系统采 用AT89C51单片机,A/D转换采用ADC0809。系统除能确保实现要求的功能外,还 可以方便地进行8路其他A/D转换量的测量和远程测量结果传送等扩展功能。数字电 流表系统设计方案框图如图 2.3 所示。1.2所需元器件清单表3.1所需兀器件材料表器件类型器件名数值数量单片机AT89S511A/D转换器ADC08091数码管TSEG-MP*4-CC-BLUE1开关按键开关1电容C1、C233uF2电解电容C310uF1电阻R11

2、K2排阻RP12001变阻器RV11K1晶振X11MHz1第二章达到的技术指标1、可以测量0-5V的8路输入电压值;2、测量结果可在四位LED数码管上轮流显示后单路选择显示;3、测量最小分辨率为0.019A;4、测量误差约为+0.0AV;第三章数字式电流表的硬件设计3.1主要元器件的介绍3.1.1 单片机 AT89S51AT89S51是美国ATMEL公司生产的低功耗、高性能CMOS 8位单片机。图4.2 和4.3分别为其实物图和内部总体结构图。AT89S51的引脚AT89S51芯片为40引脚双列直插式封装,其引脚排列如图 4.2所示。JPl Jfl 匚14d iTl VCCP1.1 匸339

3、RO o 4 ADOP1 匚338 F0.1 (赳口町Pl -3 C4371 F0AD2)P1.4 匚5 P0 AD3)PIS 匚G3& P0 .4 ADPT 站亡7S4 I二1 FO j5AD5)SCK Pl .7 匚33 RO e 4 ADSHST匸9as P0.7AD7)(RKC)円Q亡1031 EAVPPTXD P3.)匚1130 AL E/PROQ(RTaj田主匸1229 PA Eh(fRTi P3_3 匚2S二1 P2 7|TO P31 匚1427 P2j6-(A14(Tl) P3J5 匚IS2G P2iAl3Ji(V7F) P3j0 匸T总25 P2 4TO P3.7 匚1724

4、 1 P2.3XTAL2 匚1S23二1 P22A10XTALl 匚1922 P2.1WtW匚2021 lJ图4.2 AT89S51的引脚图(1) VCC:电源电压;(2) GND:接地;(3) P0 口: P0 口是一组8位漏极开路双向I/O 口,每位引脚可驱动8个TTL 逻辑门路。(4) P1 口: P1 口是一个内部提供上拉电阻的 8位双向I/O 口,P1 口的输出缓 冲器可驱动4个TTL逻辑门电路。有第二功能,如表 4.1所示。端口引脚第二功能P1.5MOSI用于ISP编程)P1.6MISO用于ISP编程)P1.7SCK用于ISP编程)P2 口: P2 口是一个内部提供上拉电阻的 8位

5、双向I/O 口,P2 口的输出缓冲 器可驱动4个TTL逻辑门电路。P3 口: P3 口是一个内部提供上拉电阻的 8位双向I/O 口,P3 口的输出缓冲 器可驱动4个TTL逻辑门电路。P3 口除了一般I/O线的功能外,还具有更为重要的 第二功能,如表4.2所示。P3 口同时为FLASH编程和编程校验接收一些控制信号表4.2 P3口的第二功能端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INTO (外部中断0)P3.3/INT1 (外部中断1)P3.4T0 (定时器0外部输入)P3.5T1 (定时器1外部输入)P3.6/WR (外部数据存储器写选通)P3.7/R

6、D (外部数据存储器读选通)(7) RST复位输入。当振荡器复位器件时,要保持 RST脚两个机器周期的高电 平时间。(8)ALE/RPOG当访问外部存储器时,地址锁存允许的输出电平用于锁存地址 的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。(9)/PSEN :外部程序存储器的选通信号。在由外部程序存储器取指期间,每个 机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的信号将不出 现。(10)/EA/VPP :当保持低电平时,则在此期间外部程序存储器(OOOOH-FFFFH, 不管是否有内部程序存储器。注意加密方式 1时,/EA将内部锁定为RESET当/EA 端保持高

7、电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP。定时器0和定时器1:AT89S51的定时器0和定时器1的工作方式与AT89C51相同。定时和计数功能 由特殊功能寄存器TMOD勺控制位C/T进行选择,这两个定时/计数器有4种操作模 式,通过TMOD勺M1和M0选择。其中模式0、1和2都相同,模式3不同。定时器2:定时器2是一个16位定时/计数器。它既可当定时器使用,也可作为外部事件 计数器使用,其工作方式由特殊功能寄存器 T2CON勺C/T2位选择。定时器2有三 种工作方式:捕获方式,自动重装载(向上或向下计数)方式和波特率发生器方式, 工作方式由T2C

8、ON的控制位来选择。定时器2由两个8位寄存器TH2和TL2组成,在定时器工作方式中,每个机 器周期TL2寄存器的值加1,由于一个机器周期由12个振荡时钟构成,因此,计 数速率为振荡频率的1/12。在计数工作方式时,当T2引脚上外部输入信号产生由1至0的下降沿时,寄 存器的值加1,在这种工作方式下,每个机器周期的5SP2期间,对外部输入进行采 样。若在第一个机器周期中采到的值为1,而在下一个机器周期中采到的值为 0,则 在紧跟着的下一个周期的S3P1期间寄存器加1。由于识别1至0的跳变需要2个 机器周期(24个振荡周期),因此,最高计数速率为振荡频率的1/24。为确保采样 的正确性,要求输入的电

9、平在变化前至少保持一个完整周期的时间,以保证输入信 号至少被采样一次。可编程时钟输出:定时器2可通过编程从P1.0输出一个占空比为50%勺时钟信号。P1.0弓I脚除 了是一个标准的I/O 口外,还可以通过编程使其作为定时/计数器2的外部时钟输 入和输出占空比50%勺时钟脉冲。当时钟振荡频率为16MHz时,输出时钟频率范围 为 61Hz 4MHz UARTAT89S51的工作方式与 AT89C51工作方式相同。串口为全双工结构,表示可以 同时发送和接收,它还具有接收缓冲,在第一个字节从寄存器读出之前,可以开始 接收第二个字节。(但是如果第二个字节接收完毕时第一个字节仍未读出,其中一个 字节将会丢

10、失)。串口的发送和接收寄存器都是通过 SFRSBUF进行访问的。写入SBUF 的数据装入发送寄存器,对SBUF勺读操作是对物理上分开的接收寄存器进行访问。该串口有4种操作模式(模式0、模式1模式2和模式3),在这4种模式中, 发送过程是以任意一条写SBUF乍为目标寄存器的指令开始的,模式0时接收通过设 置R0=0及REN=1初始化,其他模式下如若REN=侧通过起始位初始化。中断:AT89S51共有6个中断向量:两个外中断(INTO和INT1),3个定时器中断(定 时器0、1、2)和串行口中断。这些中断源可通过分别设置专用寄存器IE的置位或清0来控制每一个中断的 允许或禁止。IE也有一个总禁止位

11、EA它能控制所有中断的允许或禁止。定时器2的中断是由T2CON中的TF2和EXF2逻辑或产生的,当转向中断服务 程序时,这些标志位不能被硬件清除,事实上,服务程序需确定是 TF2或EXF2产 生中断,而由软件清除中断标志位。定时器0和定时器1的标志位TF0和TF1在定时器溢出那个机器周期的 S5P2 状态置位,而会在下一个机器周期才查询到该中断标志。然而,定时器2的标志位TF2在定时器溢出的那个机器周期的 S2P2状态置位,并在同一个机器周期内查询 到该标志。时钟振荡器:AT89S51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放

12、大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡 器,振荡电路。外接石英晶体(或陶瓷谐振器)及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。对外接电容 C1、C2虽然没有十分严格的要求,但电容容量的大小 会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性, 如果使用石英晶体,我们推荐电容使用 30pF 10pF,而如使用陶瓷谐振器建议选择 40pF 10F。用户也可以采用外部时钟。采用外部时钟的电路。这种情况下,外部时钟脉冲 接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对

13、外 部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时 间应符合产品技术条件的要求。 Flash存储器的编程:AT89S51单片机内部有8k字节的Flash PEROM这个Flash存储阵列出厂时已 处于擦除状态(即所有存储单元的内容均为 FFH ,用户随时可对其进行编程。编程 接口可接收高电压(+12V或低电压(Vcc)的允许编程信号。低电压编程模式适合 于用户在线编程系统,而高电压编程模式可与通用 EPROM程器兼容。数据查询:AT89S51单片机用Data Palling 表示一个写周期结束为特征,在一个写周期 中,如需读取最后写入的一个字节,则读出的数据的最高位(

14、P0.7)是原来写入字节最高位的反码。写周期完成后,所输出的数据是有效的数据,即可进入下一个字 节的写周期,写周期开始后,Data Palli ng 可能随时有效。 Ready/Busy:字节编程的进度可通过“ RDY/BSY输出信号监测,编程期间, ALE变为高电平“ H后,P3.4 (RDY/BSY端电平被拉低,表示正在编程状态(忙 状态)。编程完成后,P3.4变为高电平表示准备就绪状态。程序校验:如果加密位 LB1、LB2没有进行编程,则代码数据可通过地址和 数据线读回原编写的数据,采用如图12的电路。加密位不可直接校验,加密位的校 验可通过对存储器的校验和写入状态来验证。芯片擦除:利用

15、控制信号的正确组合并保持 ALE/PROG引脚10mS的低电平脉 冲宽度即可将PEROM阵列(4k字节)和三个加密位整片擦除,代码阵列在片擦除操 作中将任何非空单元写入“ T,这步骤需再编程之前进行。3.1.2 A/D 转换芯片 ADC0809ADC0809是典型的8位8通道逐次逼近式A/D转换器,其实物如图1-3所示。 它可以和微型计算机直接接口。 ADC0809专换器的系列芯片是ADC0808可以相互替 换。3.1.3 ADC080呐部逻辑结构INO ISTCLKEOC地址 tJUZ 1 i的讨VR VROEDO:态 愉hHi沉Ia ( b -_t* C I- AL |*图4.3 ADC0

16、809的内部逻辑结构图ADC080啲内部逻辑结构如图4.7所示。图中多路模拟开关可选通 8路模拟通 道,允许8路模拟量分时输入,并共用一个 A/D转换器进行转换。地址锁存与译码 电路完成对A B C三个地址位进行锁存与译码,如表 4.3所示。表4.3 ADC0809通道选择表C(ADDC)B(ADDB)A(ADDA)选择的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN73.1.4 ADC080啲引脚ADC0809芯片为28引脚双列直插式芯片,其主要功能:(1)IN0IN7: 8路模拟量输入通道。(2) A、B、C:模拟通道地址线。这3根地址线

17、用于对8路模拟通道的选择,其 译码关系如表4.3所示。其中,A为低地址,C为高地址,引脚图中为ADDA ADDB 和 ADDC(3) ALE :地址锁存允许信号。对应 ALE上跳沿,A、B、C地址状态送入地址锁存 器中。(4) START:转换启动信号。START!升沿时,复位 ADC0809 START下降沿时启 动芯片,开始进行A/D转换;在A/D转换期间,START应保持低电平。本信号有时 简写为ST。(5) D7D0:数据输出线。为三态缓冲输出形式,可以和单片机的数据线直接相 连。D0为最低位,D7为最高。(6) OE:输出允许信号。用于控制三态输出锁存器向单片机输出转换得到的数据。

18、OE=0输出数据线呈高阻;0E=1输出转换得到的数据。(7) CLK :时钟信号。ADC080啲内部没有时钟电路,所需时钟信号由外界提供, 因此有时钟信号引脚。通常使用频率为 500KHZ的时钟信号。(8) E0C:转换结束信号。EOC=0正在进行转换;E0C=1转换结束。使用中该状态 信号即可作为查询的状态标志,又可作为中断请求信号使用。(9) Vcc : +5V 电源,GND 地。(10) Vref :参考电压。参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准。其典型值为 +5V(Vref(+)=+5V, Vref(-)=0V)。3.1.5 4位一体7段LED数码管本实验的显示模块

19、主要由一个 4位一体的7段LED数码管(SM410564)构成,用 于显示测量到的电压值。它是一个共阳极的数码管,每一位数码管的原理图如图4.5 所示。每一位数码管的a,b,c,d,e,f,g 和dp端都各自连接在一起,用于接收AT89C52 的P1 口产生的显示段码。C1,C2, C3, C4引脚端为其位选端,用于接收 AT89C52 的P3 口产生的位选码。COMid 1r、abdef图4.7复位电路和时钟电路电容C和电阻R1实现上电自动复位。增加按键开关 S又可实现按键复位功能。一般取 C=10uF,R1=1。单片机中CPU每执行一条指令,都必须在统一的时钟脉冲的控制下严格按时间 节拍进

20、行,而这个时钟脉冲是单片机控制中的时序电路发出的。CPU执行一条指令的各个微操作所对应时间顺序称为单片机的时序。MCS-51单片机芯片内部有一个高 增益反相放大器,用于构成震荡器,XTAL1为该放大器的输入端,XTAL2为该放大器 输出端,但形成时钟电路还需附加其他电路。本设计系统采用内部时钟方式,禾U用单片机内部的高增益反相放大器,外部电 路简,只需要一个晶振和2个电容即可。电路中的器件选择可以通过计算和实验确定, 也可以参考一些典型电路的参数, 电路中,电容器C1和C2对震荡频率有微调作用,通常的取值范围是 30 10pF,在 这个系统中选择了 33uF;石英晶振选择范围最高可选 24MH

21、z它决定了单片机电路 产生的时钟信号震荡频率,在本系统中选择的是12MHz因而时钟信号的震荡频率为 12MHz 3.2.2 A/D转换电路A/D转换由ADC0809I成。ADC0809具有8路模拟输入端口,地址线(2325 脚)可决定对哪一路模拟输入作 A/D转换。22脚为地址控制,当输入为高电平时, 对地址信号进行锁存。6脚为测试控制,当输入一个2卩s宽高电平脉冲时,就开始 A/D转换。7脚为A/D转换结束标志,当A/D转换结束时,7脚输出高电平。9脚为 A/D转换数据输出允许控制,当 0E脚为高电平时,A/D转换数据从该端口输出。10脚为ADC0809勺时钟输入端,利用单片机AT89S51

22、的30脚的六分频晶振频率再通过14024二分频得到1MHz时钟。AT89S51与ADC080啲连接电路原理图如图 4.8所示431-toPU24i C7ALE E&Pl .412 旳泅J P?|E14 PZ.fWSP1(ipmgpPLlmiirmPI ?厂di而PI 3Pll 4PI513 4/raP3.SA1Pit眄附斤PITP27.ro4-.TB&CE1PICpQRAM=7CArw(i.HtA . _71NQ.1?aca iSTART12KKrKourare0UI2rv-JUT4hLU &ULJISADODcureRDOCwnALEVREF(4.JWF(-)DF1;D5T1:1aD:佔D2

23、i: m1?图4.8 AT89S51与ADC0809的连接电路原理图AT89S51与ADC0809勺连接必须注意处理好 3个问题: 在START端送一个100卩s宽的启动正脉冲;(2) 获取EOC端上的状态信息,因为它是 A/D转换的结束标志;(3) 给“三态输出锁存器”分配一个端口地址,也就是给OE端送一个地址译码器的输出信号。第四章数字式电流表的软件设计4.1系统程序设计总方案根据模块的划分原则,将该程序划分初始化模块,A/D转换子程序和显示子程序,这三个程序模块构成了整个系统软件的主程序,如图 5.1所示初始化调用A/D转换子程序r 调用显示子程序.三=结束I图5.1数字式直流电流表主程

24、序框图4.2系统子程序设计4.2.1初始化程序所谓初始化,是对将要用到的MCS_5系列单片机内部部件或扩展芯片进行初始 工作状态设定,初始化子程序的主要工作是设置定时器的工作模式,初值预置,开 中断和打开定时器等。4.2.2 A/D转换子程序A/D转换子程序用来控制对输入的模块电流信号的采集测量,并将对应的数值 存入相应的内存单元,其转换流程图如图5.2所示。第五章技术难点由于单片机AT89C51为8位处理器,当输入电流为 5.00A时,ADC0809俞出数 据值为255 (FFH,因此单片机最高的数值分辨率为 0.0196A(5/255)。这就决定了 电流表的最高分辨率只能到0.0196A,测试电流一般以0.01A的幅度变化。简易数字电流表测得的值基本上比标准电压值偏大 0-0.01A,这可以通过校正 ADC080啲基准电压来解决。因为该电压表设计时直接用 5A的供电电源作为电压, 所以电压可能有偏差。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号