当前位置:文档之家› 数字电流表设计

数字电流表设计

辽宁工业大学

单片机原理及接口技术课程设计(论文)题目:数字电流表设计

院(系):

专业班级:

学号:

学生姓名:

指导教师:(签字)

起止时间:2015.06.22-2015.7.05

课程设计(论文)任务及评语

院(系):教研室:Array

注:成绩:平时20% 论文质量60% 答辩20% 以百分制计算

摘要

本设计是通过采样电阻及信号放大电路将待测的电流信号I转换成电压信号V, 由A/D转换器采集电压信号,并将电压的模拟量信号转换为数字量信号传输给单片机,由单片机完成对采样信号的处理、分析与计算,最后输出信号驱动两个8位LED数码管,数码管采用动态显示的方式,用以显示被测的电流值。

整个设计的关键部分在于采样电路和A/D转换部分,采样电路需要将很小的电流信号转变成电压信号,故采用比例运算放大电路实现效果。A/D转换部分采用ADC0809,将模拟量转变为数字量。简易数字电流测量电路由A/D转换、数据处理、显示控制等模块组成,可以实现量程的自动切换。本设计是通过采样电阻及信号放大电路将待测的电流信号I转换成电压信号V, 由A/D转换器采集电压信号,并将电压的模拟量信号转换为数字量信号传输给单片机,由单片机完成对采样信号的处理、分析与计算,最后输出信号驱动两个8位LED数码管,数码管采用动态显示的方式,用以显示被测的电流值。

关键词:A/D转换;单片机;LED动态显示

目录

第1章绪论 (1)

1.1数字电流表概况 (1)

1.2本文研究内容 (1)

第2章CPU最小系统设计 (2)

2.1数字电流表总体设计方案 (2)

2.2CPU的选择 (2)

2.3数据存储器扩展 (4)

2.4复位电路设计 (5)

2.5时钟电路设计 (6)

2.6CPU最小系统图 (7)

第3章数字电流表输入输出接口电路设计 (8)

3.1电源电路设计 (8)

3.2采样待测电流 (8)

3.3数字电流表检测接口电路设计 (9)

3.3.1 A/D转换器选择 (9)

3.3.2 模拟量检测接口电路图 (10)

3.4人机对话接口电路设计 (10)

3.4.1 键盘设计 (10)

3.4.2 显示器设计 (11)

第4章数字电流表软件设计 (13)

4.1软件实现功能综述 (13)

4.2流程图设计 (13)

4.2.1 主程序流程图设计 (13)

4.2.2 模拟量检测流程图设计 (14)

4.2.3 单片机处理流程图设计 (15)

第5章系统设计与分析 (16)

5.1系统原理图 (16)

5.2系统原理综述 (17)

第6章课程设计总结 (18)

参考文献 (19)

第1章绪论

1.1数字电流表概况

数字电流表表具有变送、LED显示和数字接口等功能.通过对电网中各参量的交流采样。经CPU进行数据处理。将三相电流参数、频率等电参量由LED直接显示,同时输出0~5V、0—20mA或4—20mA相应的模拟电量,与远动装置RTU 相连;并带有RS-232或485接口.与微机进行数据交换;具有设置显示倍率、多路变送、多量显示的组合功能。按信号形式分:电流表、电压表、频率表、温度表、功率表。按被测量的数目:单点表、多点表。按功能分:单纯显示、显示报警表、显示变送表、显示通讯表、显示记录表、多功能表等,以满足不同用户的使用要求。

数字电流表是一种更直观、更便捷的电流表,在工业生产中体现出了其优势。数字电流表表具有变送、LED显示和数字接口等功能.通过对电网中各参量的交流采样,经CPU进行数据处理.将三相电流参数、频率等电参量由LED直接显示,同时输出0~5V、0—20mA或4—20mA相应的模拟电量,与远动装置RTU相连;并带有RS--232或485接口.与微机进行数据交换;具有设置显示倍率、多路变送、多量显示的组合功能。

1.2本文研究内容

基于单片机的智能综合仪表是基于智能化、数字化、网络化、新一代智能仪表的设计理念,采用智能调理、灵巧总线、工业网络、液晶显示、电子储存技术、综合指示仪表、调节仪表、计算仪表与记录仪表功能。具有高测量控制精度、工可靠性稳定性的特点。

本文将制作数字电流表,具有检测0~5A电流的能力,精度5%。电路设计共分为单片机最小系统电路设计、电流检测电路设计、显示电路设计以及电源电路设计。并使用汇编语言对单片机进行编程,并由数码管显示最终数据。

在设计中,采用运算放大器对电流采样,经A/D转换器,将电压模拟量转变为数字量,输出给单片机。单片机通过运算,将结果通过I/O口传递给3个8位共阴极LED数码管,数码管采用动态扫描工作方式,以显示最终的数值。

第2章CPU最小系统设计

2.1数字电流表总体设计方案

本文将设计数字电流表,数字电流表的过程原理图如下:

采样电流A/D转换单片机处理LED显示

图2.1 过程层原理框图

采样电流部分:对待检测的电流信号进行采样,同时,由于考虑到AD转换需要输入电压信号,因此将电流信号经过集成运算放大器转化成电压信号后,再输入到AD转换器中。

AD转换部分:采用ADC0809进行模数转换,并用74LS373锁存。AD转换是整个设计的核心部分,它涉及到精度的控制,以及数据的转换。

单片机计算部分:由ADC0809转换后的数字量通过I/O口传送到89C51单片机中,通过计算得到的电压数值,推算出被检测电流的数值,并将数值传送到LED 显示模块。

LED显示部分:89C51控制8位数码管,将计算后得到的结果在LED上显示。

2.2CPU的选择

本文中选用的单片机型号为89C51。89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压、高性能CMOS8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,89C2051是它的一种精简版本。89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

1)片内4KB Flash ROM程序存储器;

2)128B的片内数据存储器;

3)有4个并行I/O接口分别为P0、P1、P2 和P3口,每个I/O接口有8条可单独编程的I/O线;

4)5个中断源,2个中断优先级;

5)2个16位的定时/计数器;

6)21个特殊功能寄存器;

7)可编程串行口。

具体说明40只引脚其功能如下:

VCC:电源。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1

口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL 门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE 只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微

处理器在外部执行状态ALE禁止,置位无效。

/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时, /EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)

2.3数据存储器扩展

结89C51片内有128B的RAM存储器,在实际应用中仅仅依靠这128B的数据存储器是远远不够的。这种情况下可利用89C51单片机所具有的扩展功能,扩展外部数据存储器。89C51单片机最大可扩展64KB RAM。

单片机采用89C51,地址锁存器采用74ALS373,数据存储器采用6264。

74ALS373为三态输出的八D透明锁存器,它带有清除端,只有清除端CLRAR 为高电平时,才具有锁存功能,锁存控制端为11脚CLK,且为上升沿锁存。当允许控制端OE为低电平时,Q0~Q7为正常逻辑状态,可用来驱动负载或者总线。当OE为高电平时,Q0~Q7呈高阻态,即不驱动总线,也不为总线负载,但锁存器内

部的逻辑操作不受影响。当锁存允许端LE为高电平时,Q随数据D而变。当LE

为低电平时,D被锁存在已建立的数据电平。

6264数据存储器,是8K×8位静态随机存储器,采用CMOS工艺制造,单一+5V电源供电,额定功耗200mW典型存取时间200ns,为28线双列直插式封装。Array图2.3 CPU与数据存储器的硬件原理图

2.4复位电路设计

单片机的复位都是靠外部复位电路来实现得,在时钟电路工作后,只要在单片机得RESET引脚上出现24个时钟脉冲(两个机器周期)以上的高电平,单片机就能实现复位。为了保证系统可复位,在设计复位电路时,一般使RESET引脚保持100ms以上的高电平,单片机便可以可靠地复位。当RESET从高电平变为低电平以后,单片机从0000H地址开始执行程序。在复位有效期间,ALE和PSEN引脚输出高点平。该设计采用的是按健电平复位电路,使用比较方便,在此复位电路中,干扰易串入复位端,在大多数情况下不会造成单片机的错误复位,但会引起内部某些寄存器错误复位。在RESET复位引脚上接一个去耦电容。在程序跑飞时,

可以手动复位,按下按键后,使RESET端产生高电平,按键时间决定复位时间,

这样就不用在重起单片机电源,就可以实现复位。(如图2.4所示)

图2.4 复位电路硬件连线图

2.5时钟电路设计

现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。时钟电路用于产生单片机工作所需的时间信号。时钟信号可以有两种方式产生:内部时钟方式和外部时钟方式。

89C51单片机内部有一个高增益反向放大器(及与非门的一个输入端编程为常有效时),用于构成片内振荡器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。在XTAL1和XTAL2两端跨接晶体或陶瓷谐振器,就构成了稳定的自激振荡器,其发出的脉冲直接送入内部时钟发生器,如图2.5所示。

外接晶振时,C1和C2值通常选择为30pF左右;外接陶瓷谐振器时,C1和C2可稳定频率并对振荡频率有微调作用,振荡频率范围是0到24MHz。为了减少

寄生电容,更好地保证振荡器稳定可靠的工作,谐振器和电容应尽可能安装的与单片机芯片可靠。

内部时钟发生器实质上是一个二分频的触发器,其输出是单片机工作所需的时钟信号。

图2.5 时钟电路硬件连线图

2.6 CPU 最小系统图

在经过数据存储器扩展、复位电路设计、时钟电路设计后,构成了单片机最小系统硬件电路图,如图2.6:

图2.6 单片机最小系统硬件连线图

第3章 数字电流表输入输出接口电路设计

3.1 电源电路设计

单片机的电源电路一般由USB 接口提供+5V 的工作电压,驱动单片机工作,图3.1提供了一种可为单片机供电的电源电路设计方案。

图3.1 电源电路

3.2 采样待测电流

由于ADC0809只能将电压的模拟量信号转变为数字量信号,所以要将待测的电流信号转换成电压信号,本文采用集成运算放大器,具体电路如图3.2所示:

待测电流经分压电阻R 流入一个阻值很小的电阻R0(0.01Ω),R0另一端接地,R0则会产生一个微弱的电压信号,输入由运放AR1、R1、R2构成的比例放大电路中。

此时的电压与输入电压反相,故将Var1通过AR2进行反相,则输出的Vo=100Vi

这样,就将待测的电流信号成功转化成了电压信号。

J P1

7404

图3.2 电流、电压信号转换

3.3数字电流表检测接口电路设计

3.3.1A/D转换器选择

A/D转换部分本系统采用了ADC0808芯片. ADC0808是采样分辨率为8位的、以逐次逼近原理进行模/数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。ADC0808是ADC0809的简化版本,功能基本相同。一般在硬件仿真时采用ADC0808进行A/D转换,实际使用时采用ADC0809进行A/D转换。

其主要特性如下:

1)8路输入通道,8位A/D转换器,即分辨率为8位。

2)具有转换起停控制端。

3)转换时间为100μs(时钟为640kHz时),130μs(时钟为500kHz时)

4)单个+5V电源供电

5)模拟输入电压范围0~+5V,不需零点和满刻度校准。

6)工作温度范围为-40~+85摄氏度

7)低功耗,约15mW。

ADC0809典型时钟频率为640KHZ,每一通道的转换时间需要66~73个时钟脉冲,约为100ms。在启动ADC0809后,EOC大约在10us后才变为低电平。

ADC0809与单片机接口十分简单。89C51单片机通过地址线P2.7和读、写信

号来控制转换器模拟输入通道地址锁存、启动和输出允许,ALE为其地址锁存控制信号。八个模拟输入通道(IN0~IN7)的地址分别为7FF8H~7FFFH。

3.3.2模拟量检测接口电路图

由CPU、AD转换器等电路连接而成的完整的模拟量检测电路如图3.3示。输入电压信号经ADC0809转换后输出到89C51单片机中,以进行下一步的计算。

图3.3模拟量检测接口电路

3.4人机对话接口电路设计

3.4.1键盘设计

在单片机应用系统中,为了控制其运行状态,需要向系统输入一些命令或数据,因此应用系统中应设有键盘,包括数字键、功能键和组合控制键等。这些按键或者键盘都是以开关状态来设置控制功能或输入数据。当所设置的功能键或数字键按下时,单片机应用系统应完成该按键所设定的功能,因此,键盘信息输入

是与软件结构密切相关的。CPU 对键盘操作的响应要满足实时性,即及时发现键盘操作,及时做出响应,因此,键输入接口与软件应可靠而快速地实现键信息输入与键功能任务。

单片机应用系统中,键盘与CPU 的连接方式可以分为独立式按键和矩阵式键盘。这次设计数字电流表所需要的按键数量较少,因此选用独立式按键方式。独。立式按键电路如图3.4所示

独立式按键是指直接用I/O 口线构成的单个按键电路。每个独立式按键单独占用一根I/O 口线,每根I/O 口线上的按键工作状态不会影响其他I/O 口线的工作状态。

3.4.2 显示器设计

数码管是一种把多个LED 显示段集成在一起的显示设备。有两种类型,一种是共阳型,一种是共阴型。共阳型就是把多个LED 显示段的阳极接在一起,又称为公共端。共阴型就是把多个LED 显示段的阴极接在一起,即为公共商。阳极即为二极管的正极,又称为正极,阴极即为二极管的负极,又称为负极。通常的数码管又分为8段,即8个LED 显示段,这是为工程应用方便如设计的,分别为A 、B 、C 、D 、E 、F 、G 、DP ,其中DP 是小数点位段。而多位数码管,除某一位的公共端会连接在一起,不同位的数码管的相同端也会连接在一起。即,所有的A 段都会连在一起,其它的段也是如此,这是实际最常用的用法。数码管显示方法可分为静态显示和动态显示两种。静态显示就是数码管的8段输入及其公共端电平一直有效。动态显示的原理是,各个数码管的相同段连接在一起,共同占用8

图3.4 独立式按键电路

段引管线;每位数码管的阳极连在一起组成公共端。利用人眼的视觉暂留性,依次给出各个数码管公共端加有效信号,在此同时给出该数码管加有效的数据信号,当全段扫描速度大于视觉暂留速度时,显示就会清晰显示出来。

图3.5数码显示电路图

第4章数字电流表软件设计

4.1软件实现功能综述

单片机得到经A/D转换器转换后的电压信号,由待测电流值与电压信号的关系可知,单片机中软件部分需要将接收到的数字量除以5,便可得到所检测的电流信号的数值。

4.2流程图设计

4.2.1主程序流程图设计

图4.1 主程序流程图

主程序由初始化部分、调用A/D转换子程序和相应外部中断显示电流数值程序组成。其中初始化部分包含存放通道的缓冲区初始化和显示缓冲区初始化。另外,对于单路显示和循环显示,系统设置了一个标志位00H控制,初始化时00H 位设置为0,默认为循环显示,00H位通过单路、循环按键控制。

主程序流程图如图4.1所示。

4.2.2模拟量检测流程图设计

图4.2 模拟量检测流程图

A/D转换子程序用于对ADC0809的4路输入模拟电流进行A/D转换,并将转换的数值存入4个相应的存储单元中,A/D转换子程序每隔一定时间调用一次,即隔一

段时间对输入电流采样一次,如图4.2。

4.2.3 单片机处理流程图设计

单片机处理过程需要将接受到的数字量除以5,即得到待测电流的实际值,再将计算后的数值传送给LED 显示。流程图如图4.3所示

图4.3 单片机处理流程图。

接收数字量

值除以5

转换成二进制

送LED 显示

相关主题
文本预览
相关文档 最新文档