基于单片机的电流电压测量系统设计.docx

上传人:知****量 文档编号:28097711 上传时间:2022-07-26 格式:DOCX 页数:30 大小:274.49KB
返回 下载 相关 举报
基于单片机的电流电压测量系统设计.docx_第1页
第1页 / 共30页
基于单片机的电流电压测量系统设计.docx_第2页
第2页 / 共30页
点击查看更多>>
资源描述

《基于单片机的电流电压测量系统设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的电流电压测量系统设计.docx(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、基于单片机的电流电压测量系统设计目录1 前言21.1 电子测量概述21.2 数字电压表的特点31.3 单片机的概述32 系统方案的选择与论证42.1 功能要求42.2 系统的总体方案规划52.3 各模块方案选择与论证52.3.1 控制模块52.3.2 量程自动转换模块62.3.3 A/D转换模块62.3.4 显示模块62.3.5 通信模块73 系统的硬件电路设计与实现73.1 系统的硬件组成部分73.2 主要单元电路设计83.2.1 中央控制模块83.2.2 量程自动转换模块93.2.3 A/D模数转换模块133.2.4 显示模块153.2.5 通信模块153.2.6 电源部分164 系统的软

2、件设计174.1 软件的总体设计原理174.1.1 A/D转换程序设计184.1.2 数字滤波程序设计184.1.3 量程自动转换的程序设计205 系统调试及性能分析225.1 调试与测试225.2 性能分析226 结束语236.1 设计总结236.2 设计的心得237 致谢词24附录25附录1 参考文献25附录2 系统总电路图26附录3 源程序271 前言1.1 电子测量概述从广义上讲,但凡利用电子技术来进行的测量都可以说是电子测量;从狭义上来说,电子测量是在电子学中测量有关电量的量值。与其他一些测量相比,电子测量具有以下几个明显的特点:测量频率范围极宽,这就使它的应用范围很广;量程很广;测

3、量准确度高;测量速度快;易于实现遥测和长期不间断的测量,显示方式又可以做到清晰,直观;易于利用电脑,形成电子测量与计算技术的紧密结合。 随着科学技术和生产的发展,测量任务越来越复杂,工作量加大,测量速度测量准确度要求越来越高,这些都对测量仪器和测试系统提出了更高的要求。微机的出现为解决上述问题提供了条件。利用微机的记忆,存储,数学运算,逻辑判断和命令识别等能力,发展了微机化和自动测试系统。近年来微机和大规模集成电路发展很快,价格大幅下降,同时在测试系统中还解决了通用接口母线标准化问题,使微机化仪器和自动测试系统得到了很大发展,正改变着电子测量的面貌。1.2 数字电压表的特点1.读数直观、准确电

4、压表的数字化,是将连续的模拟量(如直流电压)转换成不连续的离散的数字形式并加以显示。这有别于传统的以指针与刻度盘进行读数的方法,防止了读数的视差和视觉疲劳。2.显示范围宽、分辫力高指针表的分辫力,是由刻度盘的细度表达的,刻度盘在一定条件下无法分得很细,太细了视觉分辫也很困难,而数字显示的电压表,目前可以做到从21/2到101/2。数字电压表的输入阻抗可高达(110000)M。输入阻抗越高,所吸收被测信号的电流就越小,所带来的附加误差极小,可以忽略。4.集成度高、功耗小、抗干扰能力强由于CMOS技术的发展,集成电路的功耗变得很小,即发热量很小,这样就可以在同一块芯片上集成更多的元件,形成大规模或

5、超大规模集成电路。这给制造业带来了飞跃,不仅仪表小巧而功能齐全,其他如 、袖珍电脑等也得以诞生。目前双积分或多重积分的A/D转换器构成的数字电压表,由于在积分过程中可将干扰信号部分或全部抵消掉,其串模抑制比可达100分贝,共模抑制比可达120分贝。直流数字电压表本身可以扩展成交流电压表、交直电流表、峰值表、功率表等,还可以附加智能化。例如:计算、保持、比较数字、设定时间,设定上、下量限及自动控制等多种功能。 1.3 单片机的概述单片机就是在一块半导体硅片上集成了微处理器CPU、存储器ROM、RAM、EPROM和各种输入、输出接口,这样一块集成电路芯片上具有一台电脑的属性,因而被称为单片微型电脑

6、,简称单片机。单片机根据其基本操作处理的位数可分为:1位单片机、4位单片机、8位单片机、16位单片机和32位单片机。并且其发展历史可分为以下四个阶段:第一阶段:单片机初级阶段。因工艺限制,单片机采用双片的形势而且功能比较简单。例如,仙童公司生产的F8单片机,实际上只包括了8为CPU,64 B RAM和2个并行口。因此,还需加一块3851才能组成一台完整的电脑。第二阶段:低性能单片机阶段。以Intel公司制造的MCS-48单片机为代表,这种单片机片内集成有8位CPU、并行I/O口、8位定时器/计数器、RAM和ROM等,但是不足之处是无串行口,中断处理比较简单,片内RAM和ROM容量较小且寻址范围

7、不大于4KB。第三阶段:高性能单片机阶段。这个阶段推出的单片机普遍带有I/O口,多级中断系统,16位定时器/计数器,片内ROM、RAM容量加大,且寻址范围可达64KB,有的片内还带有A/D转换器。这类单片机的典型代表是:Intel公司的MCS-51系列、Motorola公司的6801和Zilog公司的Z8等。由于这类单片机的性能价格比高,所以仍被广泛应用,是目前应用数量较多的单片机。第四阶段:8位单片机稳固发展及16位单片机、32位单片机推出阶段。此阶段的主要特征是一方面发展16位单片机、32位单片机及专用型单片机;另一方面不断完善高档8位单片机,改善其结构,以满足不同的用户需要。2 系统方案

8、的选择与论证2.1 功能要求使用AD/DC模数转换模块把模拟量转换成数字量,再采用AT89C52单片机进行电压、电流表的计算和显示,并将数据发送给PC机,要求进行硬件,软件系统设计。1、4位电压、电流显示2、8个档位自动调节3、电压范围01000V4、电流范围05A5、能串口发送给电脑,并以适时波形显示2.2 系统的总体方案规划本设计主要由五大模块组成:量程自动转换模块、A/D模数转换模块、单片机控制模块、显示模块和通信模块。按系统功能实现要求,控制模块采用AT89C52单片机,通过程序来进行电压、电流的计算等数据处理,及其功能控制;量程自动转换模块包括电压衰减和8个档位自动换档,采用纯硬件搭

9、建;A/D转换模块采用ADC0809芯片;显示模块采用四个LED数码管静态显示电压、电流值。通信模块采用串口通信将数据发送给PC机。使用MAX232芯片,实现电平转换功能,使单片机的TTL电平与RS232的电平实现匹配。如图2.1所示:图2.1 系统总体框图2.3 各模块方案选择与论证2 控制模块中央控制器为整个系统的核心,通过接受外部信息,按照控制算法驱动执行机构。对中央处理器的选择多种多样,本设计采用ATMEL公司生产的AT89S52系列的单片机作为主控制器。它支持ISP在线可编程写入技术!串行写入、其频率高达33MHz,故其速度更快、内部集成看门狗计时器,不再需要像89C51那样外接看门

10、狗计时器单元电路。稳定性更好。AT89S52 高性能8位单片机是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型电脑的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。 AT89S52具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,256 bytes的随机存取数据存

11、储器RAM,32个外部双向输入/输出I/O口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗WDT电路,片内时钟振荡器。 此外,AT89S52设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。 2 量程自动转换模块方案一、采用软件编程技术。特点:硬件简单,但编程复杂。方案二、采用纯硬件搭建技术。利用一些廉价的元

12、器件组成量程自动转换电路,特点:所用硬件多,但成本低,且不需要复杂的软件编程及调试。考虑到本次设计所需硬件较少,且所用元器件容易购买,成本低。故采用方案二2.3.3 A/D转换模块方案一、采用双积分A/D转换技术。特点是:精度高,抗干扰能力强。但高精度的双积分A/D芯片,价格较贵,增加了单片机系统的成本。方案二、采用比较型A/D转换器ADC1210。特点是:测量速度快最高可达每秒100万次以上,电路比较简单,但抗干扰能力差。方案三、采用逐次逼近型A/D转换器ADC0809。特点是:价格廉价,容易购买,但精度较低。ADC0809是8位逐次逼近型A/D转换器。带8个模拟量输入通道,有通道地址译码锁

13、存器。考虑到成本低,因而选用方案三。2.3.4 显示模块方案一、采用LCD显示。特点:显示内容丰富,采用数字式接口,体积小、重量轻,功率消耗小,但编程复杂,且成本相对LED较高。方案二、采用LED并行动态显示。即一位一位地轮流点亮各位显示器。对每一位显示器而言,每隔一段时间点亮一次。其硬件电路简单,但同样的功率驱动下,显示亮度不及静态显示,且占用I/O口较多。方案三、采用LED串行静态显示。即显示某一字符时,相应的发光二极管恒定导通或截止,这种方式每一个显示位都需要一个8位输出口控制,占用硬件较多,但仅占用控制器串口的两个I/O口,软件实现简单,显示亮度高,成本低。LED数码管显示器由7个发光

14、二极管组成,因此也称之为7段LED显示器,因为LED数码管显示成本较低,外加一个驱动芯片,所需单片机接口较少,且程序容易实现。故考虑到本次设计的需要,只要显示4位电压、电流值,采用方案三,使用4个共阳数码管及4个驱动芯片74LS164。2.3.5 通信模块 方案一、采用并行通信方式。所传送的各位同时发送或接收。一个并行数据占多少位二进制数,就要多少根传输线,这种方式的特点:通信速度快,但传输线多,价格较贵,适合近距离传输。方案二、采用串行通信方式。所传送的数据的各位按顺序一位一位地发送或接收。这种方式的特点:由于它每次只能传送一位,所以传送速度较慢。但它仅需要一到两根传输线,故传输数据时比较经

15、济,且所占I/O口少。本次设计是单片机与PC机的通信,要采用MAX232电平转换电路,可将单片机的TTL电平转换为PC机的串口电平。使单片机的TTL电平与RS232的电平实现匹配。故采用方案二。经过仔细分析和论证,决定了系统各模块的最终方案如下:1控制器模块:采用单片机AT89S52控制。2量程自动转换模块:采用纯硬件搭建。3A/D转换模块:采用逐次逼近式ADC0809转换器。4显示模块:采用LED串行静态显示。5通信模块:采用串口通信。 3 系统的硬件电路设计与实现3.1 系统的硬件组成部分 系统硬件主要由中央控制模块、量程自动转换模块、A/D转换模块、显示模块和通信模块组成。总原理图如图3

16、.1所示: 图3.1 系统总体原理图3.2 主要单元电路设计3.2.1 中央控制模块本设计主要以AT89S52单片机最小系统为核心。其P1口为电压信号通过A/D转换后所得数字量的输入端, P2.6、P2.7为单片机的模拟串口,分别连接74LS164的RXD和TXD端。是CPU送数据到LED显示的接口;P0.0、P0.1、P0.2分别接一个发光二极管,三个二极管亮灭的不同组合对应不同的量程。同时P0.3也接一发光二极管,当二极管亮时,说明待测信号超过了量程范围。 ALE端口经芯片二分频接至ADC0809的CLK端。P3.7接ADC0809的启动控制输入端口STAR和地址锁存控制信号端口ALE,P

17、3.6、P3.5分别连接ADC0809的输出允许控制端口OE、转换结束信号脉冲输出端口。P3.0 ,P3.1口连接串口通信模块。其原理图如图3.2所示: 图3.2 中央控制器原理图3.2.2 量程自动转换模块量程自动转换电路框图如图4所示被测量程判断器判断出被测量的范围,相应的量程信号输入到档位选择器。 档位选择器根据量程信号将档位自动调至适当的量程并将输入值自动地选择合适的增益或衰减处理后送至A/D转换器,实现整个量程的自动转换功能。如图4.3所示 图3.3 量程自动转换框图1 电路设计的总体要求电路设计的基本要求是在不降低测量精度的条件下实现量程的自动转换。 因此在设计电路时需要考虑以下几

18、方面的要求:1)输入值量程判断器的阻抗。要求在进行电压测量时具有高阻抗,进行电流测时具有低阻抗。2)输入值量程判断器应具备对最大量程的上限和最小量程的下限的判断力。由于被测范围较大,因此既要求在高待测量值输入时不对小量程电路造成冲击,又要求在超量程值时对档位转换电路进行关断。当输入量低于表内的测量精度时,也要求将档位选择器关断。否则,当测量仪表断开时,没有输入量,而输入值量程判断器则认为此时的输入量在最小量程的档位上,当仪表接通待测量时,待测量大于最小量程档位的范围时,档位选择电路及其后级电路必定受到较大的冲击。所以,输入值量程判断器不仅对是否超过最大量程能够判断,对是否小于最小量程的精度也有

19、判断能力。3)电路安全要求。在本设计中,利用传输的延时,对档位进行从关断测量到最大量程档位向低量程档位逐级下降直至到适当档位的转换,这样就使得电路在测量完高待测后就能顺利地进行对最低待测量的测量。4)成本及功耗问题。由于输入值判断器所判断出的值不是用来测量,而是用于转换量程档位,所转换出的数值不需要十分精确,故其电路功耗可按仪表需要选择适当的芯片。2 电路设计的实现1量程判断电路的设计 。量程判断电路框图如图3.4所示。输入的被测量经分压电路分压,并经隔离电路后输入电压判断电路,再至档位选择器。图3.4 量程判断电路框图单量程的量程判断实现电路如图3.5所示:图3.5 单量程判断实现电路电路中

20、Uin代表被测信号,电阻R1、R2 组成分压电路。运放A1组成隔离电路。电压判断电路由电压源UEF2和运放A3组成的单限电压比较器实现。该电压比较器的阈值电压 为UT为: UT = -R3/R4* UREF (1)电路下半部分与上半部分的结构和工作原理相似。不过,比较电压由A4 的反相端输入。由(1)式可知,当跟随器A V 时,比较器A3输出高电平;当跟随器AV时,比较器A4 VUin 1000V A1111100000 B1110011000 C1101010100 INH1000000001档位状态截止0.22V220V20100V100200V200400V400600V600800V8

21、001000V截止表 译码表 输入值 输出值ABCINHY0Y1Y2Y3Y4Y5Y6Y7111100000000111000000001110000000010101000000100100000001000011000010000010000100000001001000000000010000000000100000000 根据芯片输入、输出的引脚特性,其电路接线图如图3.7所示。输入信号分压等变换后送入CD4051的X0-X7,8个通道。其中1个控制引脚:INH是4051的禁止端,为低电平开启,INH=1模拟开关被禁止工作,INH=0时,由A、B、C上的信号来控制某一路的选通。 电路引脚

22、中,假设A、B、C无输入或悬空时,Y0输出1,控制档位在最高量程电压档位上,起到保护电路的作用。图3.7 档位判断电路3量程自动选择总电路根据上述研究,可得量程自动转换电路如图3.8所示。路中所用的基准电压都是2 V,可用同一直流电源提供。稳压管均采用28 V工作电压的稳压管。图3.8 量程自动选择总电路3.2.3 A/D模数转换模块采用ADC0809转换芯片,采集信号由INT0输入;数字量输出接至CPU的P1口;其START与ALE引脚接至CPU的P3.7,OE引脚接至CPU的P3.6,EOC引脚接至CPU的P3.5脚;A、B、C三位地址线共同接地,表示对INT0的输入信号进行模数转换。在I

23、NT0的输入端口接一选择开关电路,用以判断对电压测量还是对电流测量。ADC0809的工作过程是:首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。主要特性18路8位A/D转换器,即分辨率8位。 2具有转换起停控制端。3转换时间为100s。4单个5V电源供电。5模拟输入电压

24、范围05V,不需零点和满刻度校准。 6工作温度范围为-4085摄氏度。7低功耗,约15mW。外部特性引脚功能 ADC0809芯片有28个引脚,采用双列直插式封装,各引脚功能如下:IN0-IN7:8路模拟量输入端。D0-D7:8位数字量输出端。ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路。ALE:地址锁存允许信号。高电平时,把三位地址信号送入地址锁存器,经译码选择相应的模拟输入通道,使用时,该信号可以和STARE信号连在一起,以便同时锁存通道地址和启动A/D转换。高电平有效。 START: A/D转换启动信号,输入,高电平有效。 EOC: A/D转换结束信号输出端口

25、,转换期间一直为低电平。当A/D转换结束时,此端输出一个高电平有效。 OE:数据输出允许信号输入端口,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。 REF+、REF-:基准电压。 Vcc:电源,单一5V。 GND:地。3.2.4 显示模块1 数码管的选取LED发光二极管,它是一种由某些特殊的半导体材料制作成的PN结。其发光强度与其正向压降VF和电流IF的乘积有关,其乘积越大,则发光强度越大。工作电流一般在5MA20MA。从系统整体考虑,选用的是LDS-5101BH型七段LED数码管。2 驱动芯片选用

26、74LS164芯片。74LS164是串行输入/8位并行输出的移位寄存器。每片74LS164有两个串行数据输入端和一个同步移位脉冲输入端,以及8个并行输出口。时钟CLK端上每一个上升沿都会使该芯片的8位数据输出右移一位。显示模块总体原理图如图3.9所示:图3.9 显示模块原理图3 通信模块1 单片机与PC机通信的概述在实际应用中,因为单片机功能有限,因而在较大的测控系统中,常常把单片机应用系统作为前端机也称为下位机或从机直接用于控制对象的数据采集与控制,而把PC机作为中央处理机也称为上位机或主机用于数据处理和对下位机的监控管理。它们之间的信息交换主要是采用串行通信,此时单片机可直接采用串行接口,

27、而PC机可利用其配置的8250或8251、16450等可编程串行接口芯片。实现单片机与PC机串行通信的关键是在通信协议的约定上要一致,例如,应设定相同的波特率及帧格式等。在正式工作之前,双方应先互发联络信号,以确保通信收发数据的准确性。2 本设计的通信串行通信采用MAX232电平转换电路,可将单片机的TTL电平转换为PC机的串口电平。使单片机的TTL电平与RS232的电平实现匹配。RS232使用-3-25V,表示数字1;325V表示数字0。RS232在空闲时处于逻辑“1”状态,在开始传送时,首先产生一个起始位,起始位为一个宽度的逻辑“0”,紧随其后的为所需要传送的数据,所要传送的数据由最低位开

28、始依次送出,并以一个结束位标志该字节传送结束,结束位为一个宽度的逻辑“1”状态。单片机与PC机的通信连接图如图3.10所示,下位机单片机将接收的数据从串行口P3.0、P3.1输出,上位机接收到数据后在屏幕上进行显示。图3.10 单片机与PC机通信连接图3.2.6 电源部分单片机电源采用自制+5V电源供电。其原理图如图3.11所示图3.11 电源电路图4 系统的软件设计4.1 软件的总体设计原理 系统上电后,初始化程序包括对各种参数进行初始化、清零以及一些端口属性的设定,开始进行量程判断,再调用A/D转换子程序,对输入信号进行A/D模数转换,转换结束,为提高测量精度,系统对输入电压连续采集10次

29、进行滑动平均值滤波处理,其结果作为对应的电压值。再调用LED显示子程序,显示所测量的电压或电流值,最后调用通信子程序实现串口通信。系统总流程图如图4.1所示:图4.1系统总流程图4.1.1 A/D转换程序设计系统上电后,初始化各参量。开启A/D转换,调用延时程序,接着判断A/D转换是否结束,结束则清标志位、取数据,否则再延时,继续判断A/D是否结束。总程序结束。流程图如图4.2所示:图4.2 A/D转换程序流程图4.1.2 数字滤波程序设计1数字滤波概述数字滤波,即在数据采集系统里,由于数据采集环境的电磁干扰,传感器和放大器自身的影响,往往会含有多种频率成分的噪声信号,严重时,这种噪声信号会淹

30、没待提取的输入信号,使测试系统无法获取被测信号。在这种情况下,为了滤除干扰需要采取滤波措施,抑制不需要的杂散信号,使系统的信噪比增加。如果对模拟信号进行离散采样,通过软件算法对采样信号进行平滑加工,增强有效信号,消除或减少噪声,从而到达滤波的目的,这种滤波方法称为数字滤波方法。数字滤波完成的功能是将一组输入数字序列按照一定的算法转化为一组输出数字序列,经过数字滤波后的输出序列比输入序列更平滑和易于处理。与此对应的就是模拟滤波,模拟滤波主要有无源滤波直接用电阻、电容、电感等不外接电源的元件组成的与有源滤波如运算放大器等需要外接电源组成的,其目的是将信号中的噪音和干扰滤去或者将希望得到的频率信号滤

31、出为系统所用。数字滤波的出现克服了模拟滤波的很多不足,具有以下优点: A是用程序实现的,不需要增加硬设备,所以可靠性高,稳定性好。 B可以对频率很低的信号实现滤波,克服了模拟滤波的缺陷。 C可以根据信号的不同,采用不同的滤波方法或参数,具有灵活、方便、功能强的特点。2数字滤波的方法数字滤波的方法有很多种,常用的数字滤波方法有:算术平均值滤波、加权平均值滤波、滑动平均值滤波、中值滤波等,可以根据不同的测量参数进行选择。1算术平均值滤波算术平均法是对一点多次采样,然后取其平均值,并用平均值作为该点的采样结果。该方法适用于对具有随机干扰的信号进行滤波。这种滤波的效果与采样数目有较大的关系,当样本增多

32、时,信号会变得更平滑,但可能会掩盖某些变化;假设样本较少,信号的平滑度降低,但对数据的变化较为敏感。实际中采样数目就具体情况而定,对于非常平稳的信号,可以将样本数增大,但对于变化频繁的信号,则应将样本数减至34。这种滤波方法对周期性的干扰有良好的抑制作用。N的取值取决于平滑度和灵敏度的要求,N 增大则平滑度提高,灵敏度减小。2加权平均值滤波 算术平均滤波法存在平滑性和灵敏度的矛盾。采样次数太少,平滑效果差;次数太多,灵敏度下降,对参数的变化趋势不敏感。为协调两者关系,可采用加权平均滤波。对连续N次采样值,分别乘上不同的加权系数之后再求累加和,加权系数一般先小后大,以突出后面假设干采样的效果,加

33、强系统对参数变化趋势的区分。各个加权系数均为小于1的小数,且满足总和等于1的约束条件。这样,加权运算之后的累加和即为有效采样值。3) 滑动平均值滤波滑动平均值滤波是把连续取N个采样值看成一个队列,队列的长度固定为N,每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据.(先进先出原则),把队列中的N个数据进行算术平均运算,就可获得新的滤波结果。算术平均值法和加权平均值滤波,都需要连续采样N个数据,然后求平均值或加权平均值。需要时间较长,故检测速度较慢。因此可以采用滑动平均值滤波,其主要用于实时性比较强的系统。在这些系统中,需要对A/D采样值进行平均值滤波,而没有足够的时间允许A/D进行连续的

34、多次采样,这时采用滑动平均值滤波,可以到达滤波效果。滑动平均滤波算法只采样一次,将这一次采样值和过去的假设干次采样值一起求平均值,得到的有效采样值即可投入使用。如果取N个采样值求平均,RAM中必须开辟N个数据的暂存区。每次新采集一个数据便存入暂存区,同时去掉一个最老的数据,保持这N个数据始终是最近的数据,而后求包括新数据在内的N个数据的算术平均值或加权平均值。这样,每进行一次采样,就可以算出一个新的平均值,从而大大加快了数据处理的速度。这种滤波方法兼容了另两种滤波算法的优点,既能有效的抑制脉冲干扰和周期性干扰,又能提高滤波算法的灵敏度。本设计采用滑动平均值滤波,先初始化,再读入电压值Vi,设滑

35、动平均滤波队列长度为N,当判断i是否大于N,是则删除队首的数据;求新队列的平均值;否则使i=i+1,继续读入电压值,直至iN。其流程图如图4.3所示:图4.3滑动平均滤波流程4.1.3 量程自动转换的程序设计 程序开始后先初始化,首先设置量程最大档,接着存储采样值i,并将其与最大量程进行比较,假设超出量程范围,则有溢出显示,系统结束,否则进行下一轮的比较,直到选择出合适的档位。软件实现流程图如图4.4所示图4.4 量程自动转换流程图5 系统调试及性能分析5.1 调试与测试采用Keil软件进行源程序编译,用Proteus软件对其进行仿真。同时进行硬件电路板的设计制作。烧好程序后进行软硬件联调,最

36、后进行端口电压、电流的比照测试. 5.2 性能分析由于单片机为8位处理器,当输入电压为5V时,输出数据值为255FFH5/255。这就决定了该电压表、电流表的最大分辨率精度只能到达0.0196V。测试时电压/电流数值的变化一般以0.02的幅度变化。如果要想获得更高的精度,应采用12位、13位的A/D转换器。6 结束语6.1 设计总结本次设计的课题是基于单片机的电压电流测量系统,首先从课题中我们可以看出,这次设计主要涉及到的是关于单片机的知识。而之所以使用单片机作为本次设计的核心,就个人理解而言,单片机现在是社会上应用比较广泛的器件,并且能在设计的同时锻炼大家的语言编程能力,养成良好的语言编程风

37、格。6.2 设计的心得课程设计是一个综合性的实践课程,是将理论联系到实际中的实验过程,是考察学生就最近知识以及综合知识掌握能力,同时也能让同学更好的理解甚至于学习相关内容。从拿到本次设计任务后,开始查阅资料,对课设计课题进行论证,到设计电路,软件上的程序编写到仿真、调试,硬件上元器件确定、选型及电路搭建,软硬件联调,直到论文文本的撰写。最终完成所设计项目数字电压、电流表的设计,这一过程锻炼了我们对单片机应用系统的设计及动手能力。近两周的课程设计实践,使我深深的体会到理论结合实际的重要性,在设计过程中要特别细心,在软件中可能是一个标点或一个字母的问题,而导致运行错误;在硬件搭建中更是如此,焊接、

38、连线的牢固性,还要防止短路和断路。所以每一个环节都是不可大意的。另外,大家在一起讨论,互相学习,让我更深地体会到同学间互相帮助的作用。在软、硬件调试过程中,真的培养了我的耐心。软件的调试修改再调试,如此反复,最终完成了设计的部分任务,但设计还存在很多问题,没有完全到达设计要求。而且精度也存在问题,有待改良。在不断的学习与讨论中,我对单片机知识有了更为深刻的认识与体会。在收获的同时,我也受益非浅深感自身理论知识的欠缺与动手能力的不足,在以后的学习及设计中,还要不断的努力。由于时间的紧缺和许多课业的繁忙,此次设计没有很好的完成。但是,从基础而言,我们还没有放弃。相信以后我们会以更加积极地太对对待我

39、们的毕业设计,甚至于今后的人生。7 致谢词 本次课程设计结束了,首先要感谢此次给与指导的王胜老师。由于设计时间的匆忙性,本次设计并没有要求大家以实物为设计结点。所以有很多问题存在,甚至于是很大的课题谬论,但王胜老师给与的指导都能很好的解决此类问题。他总是耐心地和我们一起探讨、分析,再让我们自己解决。这样,我们不但解决了问题,还从中学到了更多知识。王老师渊博的知识、严谨的作风、以及友善的态度是我以后学习和生活上的榜样。同时,我要感谢我们班的几位同学,当我遇到一些措手不及又难以解决的问题时,是在他们的热心帮助下,才一一得以解决。最后,要感谢我们系里给我们这次理论结合实践的时机,一次作为电子系学生的

40、最有意义的作业。本次设计结束的同时也意味着一次良好的知识学习时机也随之而逝,并且在接下来的大学课程中,都不会有此类的时机留于我们。附录附录1 参考文献6 单片机C语言编程与例如7 程序设计第二版 148051单片机基础教程 陈明荧 北京:科学出版社 2003 18单片机语言C51程序设计 赵文博等 人民邮电出版社 2005.。10附录2 系统总电路图附录3 源程序#include #define Byte unsigned char#define Word unsigned intsbit DisClk=P27;sbit DisDat=P26;sbit A1=P00;sbit B1=P01;s

41、bit C1=P02;sbit D1=P03;/*-功能:ADC0809接口程序目标芯片:AT89S52单片机占用资源:采集到的数字量接P1口、 MCU ADC0809 变量名称 P3.7 START/ALE ADC_ST P3.5 EOC ADC_EOC P3.6 OE ADC_OE ALE CLK经二分频 无用户接口函数:Byte ADC0809(void)-*/#define AdcData P1/ADC输出的数字量接单片机P1口#define N 10 /滑动平均滤波队列长度Byte ValueBufN;/滑动平均滤波队列Byte FilterCnt=0;/队列指针sbit ADC_ST=P37;/START & ALEsbit ADC_EOC=P35;/EOCsbit ADC_OE=P36;/OUTPUT ENABLE -OEByte ADC0809(void) Byte i; ADC_ST=1;/启动ADC0809,锁存转换通道地址,开始转换 for(i=10;i0;i-);/微秒级延时,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁