1 2011年春季西南交通大学大学生电子设计竞赛 设计报告
有效值检波器
2011年5月27日 有效值检波器 引言 2
单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。 单片机因为体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,被广泛应用于仪器仪表中。目前市场上的便携式仪表大多都是以单片机为核心。 LCD1602为工业字符型液晶,能够同时显示16x02即32个字符。(16列2行)单片机加LCD1602液晶显示器,基本可以满足本次单片机控制的数显频率计的设计与制作。 ADC0832是NS(National Semiconductor)公司生产的串行接口8位A/D转换器,通过三线接口与单片机连接,功耗低,性能价格比较高,适宜在袖珍式的智能仪器仪表中使用。ADC0832 为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。芯片具有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件连接和处理器控制变得更加方便。通过DI 数据输入端,可以轻易的实现通道功能的选择。
一.方案认证 1.单片机部分: 考虑到电子设计竞赛的内容和设计的目的,决定选取STC89C52。此单片机虽然属于低端机型,但足以满足设计的要求。选取其它的高端机型有些浪 3
费。 所以使用STC89C52。 2.显示部分: 此次电子设计大赛要求地显示部分能够完成数字和常用字符的显示。若用数码管则只能显示0-F,不能显示其它的字符及符号。所以不能用数码管。而选用LCD1602恰好符合要求。 所以应用LCD1602。 3.A/D转换部分: ADC0832 为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。芯片具有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件连接和处理器控制变得更加方便。通过DI 数据输入端,可以轻易的实现通道功能的选择。 所以应用ADC0832。
二、硬件电路的设计 1.工作原理及系统框图 此次课程设计的要求如下:一方面,单片机要通过I/O中接收输入信号,另一方面要通过I/O口控制液晶的初始化、显示方式以及要显示的字符。 因此,设计必须以单片机为核心,显示器为外围设备。硬件上,单片机通过电路板电路与液晶显示电路相连;软件上,单片机要下载完整的程序对二者进行适时的控制。
5V 5V 单片机 电源模块 液晶模块 4
单片机控制的数显频率计电路系统框图 从图中可以看出,单片机控制的有效值检波器的主要功能模块分为4类: 液晶显示:是指在单片机的控制下,液晶模块显示被测信号的频率与有效值。 电源模块:为单片机和液晶显示器提供工作电源。 A/D模块:将交流电压由模拟量转换为数字量。 放大模块:将微小交流电压量放大。 单片机电路主要是通过编写程序来控制硬件电路。因此,可以通过改变程序,提高测量精度。 2.各部分电路设计 2.1 单片机控制电路 单片机控制电路由STC89C52单片机、晶振时序电路、复位电路构成。 2.2.1 单片机STC89C52 STC89C52 是一种带8K 字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8 位微处理器,俗称单片机。该器件采用ATMEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,STC89C52是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 本次设计主要用到单片机4个I/O口中的3个,其中P3口及P1.0-P1.2与液晶显示器相接,18、19脚外界晶振电容为单片机提供时序。 2.2.2 晶振时序电路 XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 2.2.3 复位电路
电压信号输入 频率信号输入 12V 5
常见的复位电路有两种:上电复位电路和开关复位电路,可根据电路的需要选择复位电路。 2.3 液晶显示电路 字符型液晶显示模块LCD1602是一种用5x7点阵图形来显示字符的液晶显示器,其引脚功能如下表所示。 编号 符号 引脚说明 编号 符号 引脚说明 1 VSS 电源地 9 D2 Data I/O 2 VDD 电源正极 10 D3 Data I/O 3 VL 液晶显示偏压信号 11 D4 Data I/O 4 RS 数据/命令选择端(H/L) 12 D5 Data I/O 5 R/W 读写选择端(H/L) 13 D6 Data I/O 6 E 使能信号 14 D7 Data I/O 7 D0 Data I/O 15 BLA 背光源正极 8 D1 Data I/O 16 BLK 背光源负极 读状态:输入:RS=L,RW=H,E=H 输出:D0~D7=状态字 写指令:输入:RS=L,RW=L,D0~D7=指令码,E=高脉冲 输出:无 读数据:输入:RS=H,RW=H,E=H 输出:D0~D7=数据 写数据:输入:RS=H,RW=L,D0~D7=数据,E=高脉冲 输出:无 根据1602液晶显示器的读写时序操作,编写相应的单片机驱动程序,便可以实现液晶显示器的显示输出。 2.4 A/D转换电路 ADC0832有DIP和SOIC两种封装,DIP封装的ADC0832引脚排列如图所示。 各引脚说明如下: CS——片选端,低电平有效。 CH0,CH1——两路模拟信号输入端。 DI——两路模拟输入选择输入端。 DO——模数转换结果串行输出端。 CLK——串行时钟输入端。 Vcc/REF——正电源端和基准电压输入端。 ADC0832引脚图 6
GND——电源地。 2.4 电压放大及整流电路 在本设计中,采用LM324运放组成放大电路,对微量交流电压信号进行放大。同时,对交流信号全波整流。
三、系统的软件设计 软件调试主要是编写相应的程序,在电路仿真软件上仿真,直至到预期效果。 1.程序框图 主程序及各子程序的框图见图。
主程序框图 LCD程序流程图
2.程序清单 根据程序流程图,编写相应的子程序和主程序。程序清单见附录3。
四、测试数据 1.同一频率在不同电压时的测量。 40mV 100mV 500mV 1V 5V
开始 初始化 被测信号输入 测量电压和频率 显示 结束 7
20 Hz 20 0.0% 20 0% 20 0% 20 0% 20 0% 50 Hz 50 0.0% 50 0% 52 4% 50 0% 53 6% 100Hz 100 0.0% 107 7% 101 1% 100 0% 101 1% 200Hz 199 0.5% 204 2% 200 0% 199 0.5% 199 0.5% 500Hz 526 5.2% 499 0.2% 499 0.2% 499 0.2% 498 0.4% 1k Hz 1004 0.4% 998 0.2% 998 0.2% 999 0.1% 998 0.2% 2k Hz 1995 0.2% 1997 0.1% 1993 0.3% 1995 0.2% 1998 0.1% 5k Hz 4990 0.2% 4999 0.1% 4986 0.3% 4990 0.2% 4983 0.4% 10k 9976 0.2% 9986 0.1% 9992 0.1% 9982 0.1% 9975 0.2% 20k 19987 0.6% 19978 0.7% 19994 0.1% 19986 0.6% 19955 1% 100k 99967 0.1% 99936 0.1% 99967 0.1% 99957 0.1% 99849 0.1% 误差平均在0.2%以内。
2.同一电压在不同频率时的测量。 10 Hz 100 Hz 1000 Hz 10KHz 50KHz 50 mV 50.8 1.4% 50.8 1.4% 50.4 1.4% 48 4% 46 8% 100 mV 106.4 6.4% 106 6% 104 4% 92 8% 84 16% 200 mV 213 6.5% 210 5% 204 2% 201 0.5% 189 5.5% 500 mV 502 0.4% 500 0% 500 0% 500 0% 458 8.2% 1V 1.03 3% 1.02 2% 1.01 1% 1.01 1% 0.92 8% 2V 2.1 0.5% 2.04 2% 2.01 0.5% 1.94 3% 1.85 7.5% 5V 5.08 1.6% 5.00 0% 4.92 1.6% 4.76 2.8% 4.52 9.6% 20V 20 0% 20 0% 20 0% 20 0% 18.5 0.7% 误差平均在3%以内。
五.心得体会