数字电流表设计(共24页).doc
精选优质文档-倾情为你奉上辽 宁 工 业 大 学单片机原理及接口技术 课程设计(论文)题目: 数字电流表设计 院(系): 专业班级: 学 号: 学生姓名: 指导教师: (签字)起止时间:2015.06.22-2015.7.05 专心-专注-专业课程设计(论文)任务及评语院(系): 教研室: 学 号学生姓名 专业班级 课程设计(论文)题目数字电流表设计课程设计(论文)任务电流测量范围:05 A;测量精度:0.5;量程自动切换;采用显示;可用现场提供的220 V交流。设计任务:1. CPU最小系统设计(包括CPU选择,晶振电路,复位电路)2. 电流检测电路设计3. 显示电路及电源电路设计4 程序流程图设计及程序清单编写技术参数:1电流测量范围05 A,工作电源220V2测量精度:0.5设计要求:1、分析系统功能,尽可能降低成本,选择合适的单片机、AD转换器、输出电路等;2、应用专业绘图软件绘制硬件电路图和软件流程图;3、按规定格式,撰写、打印设计说明书一份,其中程序开发要有详细的软件设计说明,详细阐述系统的工作过程,字数应在4000字以上。进度计划第1天 查阅收集资料第2天 总体设计方案的确定第3-4天 CPU最小系统设计第5天 电流检测电路设计第6天显示电路及电源电路设计第7天 程序流程图设计第8天 软件编写与调试第9天 设计说明书完成第10天 答辩指导教师评语及成绩 平时: 论文质量: 答辩: 总成绩: 指导教师签字: 年 月 日注:成绩:平时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 数字电流表概况数字电流表表具有变送、LED显示和数字接口等功能通过对电网中各参量的交流采样。经CPU进行数据处理。将三相电流参数、频率等电参量由LED直接显示,同时输出05V、020mA或420mA相应的模拟电量,与远动装置RTU相连;并带有RS-232或485接口与微机进行数据交换;具有设置显示倍率、多路变送、多量显示的组合功能。按信号形式分:电流表、电压表、频率表、温度表、功率表。按被测量的数目:单点表、多点表。按功能分:单纯显示、显示报警表、显示变送表、显示通讯表、显示记录表、多功能表等,以满足不同用户的使用要求。数字电流表是一种更直观、更便捷的电流表,在工业生产中体现出了其优势。数字电流表表具有变送、LED显示和数字接口等功能通过对电网中各参量的交流采样,经CPU进行数据处理将三相电流参数、频率等电参量由LED直接显示,同时输出05V、020mA或420mA相应的模拟电量,与远动装置RTU相连;并带有RS-232或485接口与微机进行数据交换;具有设置显示倍率、多路变送、多量显示的组合功能。1.2本文研究内容基于单片机的智能综合仪表是基于智能化、数字化、网络化、新一代智能仪表的设计理念,采用智能调理、灵巧总线、工业网络、液晶显示、电子储存技术、综合指示仪表、调节仪表、计算仪表与记录仪表功能。具有高测量控制精度、工可靠性稳定性的特点。本文将制作数字电流表,具有检测05A电流的能力,精度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.2 CPU的选择本文中选用的单片机型号为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.2 89C51单片机引脚图2.3 数据存储器扩展结89C51片内有128B的RAM存储器,在实际应用中仅仅依靠这128B的数据存储器是远远不够的。这种情况下可利用89C51单片机所具有的扩展功能,扩展外部数据存储器。89C51单片机最大可扩展64KB RAM。单片机采用89C51,地址锁存器采用74ALS373,数据存储器采用6264。74ALS373为三态输出的八D透明锁存器,它带有清除端,只有清除端CLRAR为高电平时,才具有锁存功能,锁存控制端为11脚CLK,且为上升沿锁存。当允许控制端OE为低电平时,Q0Q7为正常逻辑状态,可用来驱动负载或者总线。当OE为高电平时,Q0Q7呈高阻态,即不驱动总线,也不为总线负载,但锁存器内部的逻辑操作不受影响。当锁存允许端LE为高电平时,Q随数据D而变。当LE为低电平时,D被锁存在已建立的数据电平。6264数据存储器,是8K×8位静态随机存储器,采用CMOS工艺制造,单一+5V电源供电,额定功耗200mW典型存取时间200ns,为28线双列直插式封装。图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这样,就将待测的电流信号成功转化成了电压信号。 图3.2 电流、电压信号转换3.3 数字电流表检测接口电路设计3.3.1 A/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)转换时间为100s(时钟为640kHz时),130s(时钟为500kHz时)4)单个+5V电源供电5)模拟输入电压范围0+5V,不需零点和满刻度校准。6)工作温度范围为-40+85摄氏度7)低功耗,约15mW。ADC0809典型时钟频率为640KHZ,每一通道的转换时间需要6673个时钟脉冲,约为100ms。在启动ADC0809后,EOC大约在10us后才变为低电平。ADC0809与单片机接口十分简单。89C51单片机通过地址线P2.7和读、写信号来控制转换器模拟输入通道地址锁存、启动和输出允许,ALE为其地址锁存控制信号。八个模拟输入通道(IN0IN7)的地址分别为7FF8H7FFFH。3.3.2 模拟量检测接口电路图由CPU、AD转换器等电路连接而成的完整的模拟量检测电路如图3.3示。输入电压信号经ADC0809转换后输出到89C51单片机中,以进行下一步的计算。图3.3模拟量检测接口电路3.4 人机对话接口电路设计3.4.1 键盘设计在单片机应用系统中,为了控制其运行状态,需要向系统输入一些命令或数据,因此应用系统中应设有键盘,包括数字键、功能键和组合控制键等。这些按键或者键盘都是以开关状态来设置控制功能或输入数据。当所设置的功能键或数字键按下时,单片机应用系统应完成该按键所设定的功能,因此,键盘信息输入是与软件结构密切相关的。CPU对键盘操作的响应要满足实时性,即及时发现键盘操作,及时做出响应,因此,键输入接口与软件应可靠而快速地实现键信息输入与键功能任务。图3.4 独立式按键电路单片机应用系统中,键盘与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.5数码显示电路图第4章 数字电流表软件设计4.1 软件实现功能综述单片机得到经A/D转换器转换后的电压信号,由待测电流值与电压信号的关系可知,单片机中软件部分需要将接收到的数字量除以5,便可得到所检测的电流信号的数值。4.2 流程图设计4.2.1 主程序流程图设计开始启动系统系统初始化采样数据送A/D转换单片机计算输出显示图4.1 主程序流程图主程序由初始化部分、调用A/D转换子程序和相应外部中断显示电流数值程序组成。其中初始化部分包含存放通道的缓冲区初始化和显示缓冲区初始化。另外,对于单路显示和循环显示,系统设置了一个标志位00H控制,初始化时00H位设置为0,默认为循环显示,00H位通过单路、循环按键控制。主程序流程图如图4.1所示。4.2.2 模拟量检测流程图设计初始值调用延时存转后的十六进制数数据指针加一入栈保护4路转换次数减一N判断是否为0Y进行十六进制调整显示电流值图4.2 模拟量检测流程图A/D转换子程序用于对ADC0809的4路输入模拟电流进行A/D转换,并将转换的数值存入4个相应的存储单元中,A/D转换子程序每隔一定时间调用一次,即隔一段时间对输入电流采样一次,如图4.2。4.2.3 单片机处理流程图设计单片机处理过程需要将接受到的数字量除以5,即得到待测电流的实际值,再将计算后的数值传送给LED显示。流程图如图4.3所示接收数字量值除以5转换成二进制送LED显示图4.3 单片机处理流程图。第5章 系统设计与分析5.1 系统原理图系统原理图如图5.1所示: 图5.1 系统原理图5.2 系统原理综述本次设计的数字电流表,以AT89C51单片机和ADC0809转换器为基本结构,主要分为信号采样、A/D转换和显示三个模块。在信号采样模块,电流通过微小电阻后产生一个微弱的电压信号,经放大电路将该电压放大100倍后作为A/D转换器的模拟量输入。输入的模拟量在 A/D转换模块,经过转换后成为数字量输入到单片机中进行运算。 单片机经过计算后,将计算结果通过I/O口传输到LED数码管,数码管采用动态扫描方式,分别由8个段选和3个位选控制,显示待测电流的大小。第6章 课程设计总结本文课题题目为数字电流表的设计,设计主要需实现对05A电流的检测,并通过数码管显示相应的电流数值,电流检测精度0.5%,故需要显示两位有效数字。为解决这一问题,本文设计了单片机(89C51)最小系统(包括时钟电路、复位电路、数据存储器扩展)、电源电路、信号采集及放大电路、A/D转换电路、LED显示电路,来实现功能。经过设计调试后,效果基本实现,对电流的检测均可正常完成。这次课程设计过程中,掌握了设计基于AT89C51单片机的数字电流表的方法和步骤,巩固和扩充了单片机原理及接口技术课程的相关知识,并且锻炼了运用Protel 99 SE软件进行电路图设计和系统调试与仿真的能力。参考文献1 梅丽凤等编著 单片机原理及接口技术 清华大学出版社2009.72 赵晶 主编 Prote199高级应用 人民邮电出版社,2000 3 于海生 编著 微型计算机控制技术 清华大学出版社2003.44 江志红 编著51单片机技术与应用系统开发案例精选 清华大学出版 社 2008.12.15 李泉溪 编著 单片机原理与应用实例仿真 北京航空航天大学出版 社 2009.8.16 戴佳等编著 51单片机C语言应用程序设计实例精讲(第二版) 电子工业出版社 2009.11.27 李然飞 主编 单片机课程设计指导 北京航空航天大学出版社 2007.7.1 8 康华光 主编 电子技术基础模拟部分 高等教育出版社20059 阎石 主编 数字电子技术基础 高等教育出版社 2005 410 李全利. 单片机原理及接口技术M. 北京: 北京航空航天大学出版社, 2004.