直流数字电流表的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章设计任务及可行性分析
1.1总体结构
1.1.1数字电流表的组成
图2.2 数字电流表的组成框图
数字直流电流表的核心是A/D转换器。按系统功能实现要求,决定控制系统采用AT89C51单片机,A/D转换采用ADC0809。系统除能确保实现要求的功能外,还可以方便地进行8路其他A/D转换量的测量和远程测量结果传送等扩展功能。数字电流表系统设计方案框图如图 2.3所示。
AT89C5
1
P0
P
2
P
1
ADC0809
4位LED显示
上电复位串口通信电源电路
图2.3 数字电流表系统设计方案框图
1.2所需元器件清单
表3.1所需元器件材料表
器件类型器件名数值数量
单片机AT89S511
A/D转换器ADC08091
数码管TSEG-MP*4-C
1
C-BLUE
开关按键开关 1
电容C1、C2 33uF 2
电解电容C3 10uF 1
电阻R1 1K 2
排阻RP1 200 1
变阻器RV1 1K 1
晶振X1 1MHz 1
第二章达到的技术指标
1、可以测量0-5V的8路输入电压值;
2、测量结果可在四位LED数码管上轮流显示后单路选择显示;
3、测量最小分辨率为0.019A;
4、测量误差约为+0.0AV;
第三章数字式电流表的硬件设计
3.1主要元器件的介绍
3.1.1单片机AT89S51
AT89S51是美国ATMEL公司生产的低功耗、高性能CMOS 8位单片机。图4.2和4.3分别为其实物图和内部总体结构图。
AT89S51的引脚
AT89S51芯片为40引脚双列直插式封装,其引脚排列如图4.2所示。
图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所示。
表4.1 P1口的第二功能
端口引脚第二功能
P1.5 MOSI(用于ISP编程)
P1.6 MISO(用于ISP编程)
P1.7 SCK(用于ISP编程)
(5)P2口:P2口是一个内部提供上拉电阻的8位双向I/O口,P2口的输出缓冲器可驱动4个TTL逻辑门电路。。
(6)P3口:P3口是一个内部提供上拉电阻的8位双向I/O口,P3口的输出缓冲器可驱动4个TTL逻辑门电路。P3口除了一般I/O线的功能外,还具有更为重要的第二功能,如表4.2所示。P3口同时为FLASH编程和编程校验接收一些控制信号
表4.2 P3口的第二功能
端口引脚第二功能
P3.0 RXD(串行输入口)
P3.1 TXD(串行输出口)
P3.2 /INTO(外部中断0)
P3.3 /INT1(外部中断1)
P3.4 T0(定时器0外部输入)
P3.5 T1(定时器1外部输入)
P3.6 /WR(外部数据存储器写选通)
P3.7 /RD(外部数据存储器读选通)
(7) RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
(8) ALE//RPOG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。
(9)/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的信号将不出现。
(10)/EA/VPP:当保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA 端保持高电平时,此间内部程序存储器。在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 有三种工作方式:捕获方式,自动重装载(向上或向下计数)方式和波特率发生器方式,工作方式由T2CON 的控制位来选择。
定时器2 由两个8 位寄存器TH2 和TL2 组成,在定时器工作方式中,每个机器周期TL2 寄存器的值加1,由于一个机器周期由12 个振荡时钟构成,因此,计数速率为振荡频率的1/12。
在计数工作方式时,当T2 引脚上外部输入信号产生由1 至0 的下降沿时,寄存器的值加1,在这种工作方式下,每个机器周期的5SP2 期间,对外部输入进行采样。若在第一个机器周期中采到的值为1,而在下一个机器周期中采到的值为0,则在紧跟着的下一个周期的S3P1 期间寄存器加1。由于识别1 至0 的跳变需要2 个机器周期(24 个振荡周期),因此,最高计数速率为振荡频率的1/24。为确保采样的正确性,要求输入的电平在变化前至少保持一个完整周期的时间,以保证输入信号至少被采样一次。
·可编程时钟输出:
定时器2 可通过编程从P1.0 输出一个占空比为50%的时钟信号。P1.0 引脚除了是一个标准的I/O 口外,还可以通过编程使其作为定时/计数器2 的外部时钟输入和输出占空比50%的时钟脉冲。当时钟振荡频率为16MHz 时,输出时钟频率范围为61Hz—4MHz。
·UART:
AT89S51的工作方式与AT89C51工作方式相同。串口为全双工结构,表示可以同时发送和接收,它还具有接收缓冲,在第一个字节从寄存器读出之前,可以开始接收第二个字节。(但是如果第二个字节接收完毕时第一个字节仍未读出,其中一个字节将会丢失)。串口的发送和接收寄存器都是通过SFR SBUF进行访问的。写入SBUF