《运用单片机制作四位半数字电压表》由会员分享,可在线阅读,更多相关《运用单片机制作四位半数字电压表(21页珍藏版)》请在金锄头文库上搜索。
1、 这是我参加电子大赛本科组D题的论文,不足之处还请各位高手来指正!本科组(D题)数字电压表【摘 要】 本设计是基于ATmega16单片机开发平台和自动控制原理的基础上实现的一种高精度、智能化的数字电压表系统。该系统采用ATmega16单片机作为控制核心,以12位的A/D转换MAX187为数据采样系统,实现被测电压的高精度数据采样;使用系列比较器检测输入电压的范围,并通过继电器阵列实现了输入量程的全自动转换;同时具有显示模式的按键切换、LCD液晶显示等显著优点。系统具有人性化的交互界面,硬件配置合理,控制方案优化,完全满足题目的基本要求。【关键字】全自动量程转换 电压检测 MAX187 ATme
2、ga16 LCD显示Digital VoltmeterSummary : The design is based on ATmega16 and automation development platform based on the principle of achieving a high accuracy and intelligent digital voltage meter system. The system uses ATmega16 core as a control, 12 to the MAX187 D conversion for data sampling syste
3、m, the measured voltage and high-precision data sampling; Series comparison with the use of detection of the input voltage range, and through Relay array of input range of automatic conversion; the same time it is the display mode switch button, LCD display significant advantages. Humanized system o
4、f interface, hardware configuration reasonable control program optimization, the subject completely meet the basic requirements.Keywords: Disney-range conversion, voltage detection, MAX187, ATmegal16, LCD Display.目 录一、方案设计与论证 11.试题分析 12.系统控制方案 13.各模块方案 21)单片机选择 22)A/D采样系统 33)自动量程切换 34)电压检测 35)显示部分 3
5、二、理论分析与电路设计 41.系统总体设计与框图 42.实际电路图 42.1单片机系统 42.2 AD转换电路 62.3信号调理模块 62.4继电器模块 92.5按键与LCD显示电路设计 103.信号调理总体设计电路图 10三、软件设计与流程 111.系统软件介绍 112.软件程序流程图 11四、实验测试与结果分析 12五、参考文献 13六、附录 13数字电压表一、方案设计与论证1.试题分析根据题目要求,系统设计需要基于自动控制原理,实现电压量程的自动切换、数据采样、电压显示等功能。主要来说,系统由信号调理电路、A/D转换电路、按键输入电路、单片机控制系统、LCD显示系统等几个模块组成。由于本
6、设计属于高精度实时监测控制系统,因此各模块必须具有高精度、低噪声、可靠性强等诸多性能要求。2.系统控制方案方案一仅采用CPLD作为控制核心部件的方案选用一片CPLD作为系统的核心部件,实现控制与处理的功能。CPLD具有速度快、编程容易、资源丰富、开发周期短等优点,可利用VHDL语言进行编写开发。但CPLD在控制上较单片机有较大的劣势。同时,CPLD的处理速度非常快,而电压表的数据采样速度不可能太高,在这一点上,MCU就已经可以胜任了。若采用该方案,必将在控制上遇到许许多多不必要增加的难题。为此,我们不采用该种方案,进而提出了第二种设想。图1.2.1 以CPLD为核心部件的原理图方案二仅采用单片
7、机作为控制核心部件的方案如图1.2.2 所示:我们采用单片机作为整个系统的核心,用其输入电压的范围、控制信号调理电路,实现输入量程的自动切换,以达到其既定的高精度性能指标。充分分析我们的系统,其关键在于实现电压调理的自动量程控制,而在这一点上,单片机就显现出来它的优势控制简单、方便、快捷。而且,单片机其资源丰富、控制功能强大及可位寻址操作、价格低廉等,使得在实际制作过程中是一个较为理想的方案。鉴于上述分析,在充分考虑到系统的需要及开发周期的情况下,我们决定选用第二种方案,即“仅采用单片机作为核心部件的方案”。3.各模块方案1)单片机选择方案一选用51系列单片机。51系列单片机目前得到广泛使用,
8、如89S51它除了89C51所具有的优点外,还具有可在线编程,可在线仿真的功能,这让调试变得方便。当与凌阳十六位单片机相比时,AT89S51八位单片机的价格便宜,再者编程方便。编程技术及外围功能电路的配合使用都很成熟,这对于在网上查找相关资料和在图书馆查找相关资料时非常方便的。但本系统是个多信息处理的复杂程序控制系统,需要占用大量的硬件资源,89S51单片机中的资源在此就显得相当紧张,将对整个系统的性能产生很大的影响。方案二选用AVR系列单片机。AVR单片机是高速单片机,硬件采用哈佛(Harward)结构,达到一个时钟周期可以执行一条指令,绝大部分指令都为单周期指令,而MSC-51要12个时钟
9、周期执行一条指令;它支持程序的在系统编程ISP,开发门槛较低,性价比高;有丰富的外设,如RTC、 WATCHDOG、 AD 转换器、PWM、UART接口等,部分型号还可以使用片内振荡器提供系统18 MHz的系统时钟,使该类单片机无外加晶振器件即可工作;I/O口功能强、驱动能力大,I/O口有输入/输出、三态高阻输入,也可设定内部拉高电阻作输入端的功能, 工业级产品,具有大电流(灌电流)1040 mA,可直接驱动可控硅SSR或继电器, 节省了外围驱动器件;具有较大容量EEPROM,可擦写10万次的EEPROM,为掉电后数据的保存带来方便,来电后能记住掉电时的工作状态,EEPROM容量为64 B4
10、KB ;AVR是低功耗单片机,具有休眠省电功能(Power Down)及闲置(Idle)低功耗功能。一般耗电在12.5 mA;AVR单片机内嵌高质量的Flash程序存储器,增强性的高速同/异步串口,具有硬件产生校验码、硬件检测和校验侦错、两级接收缓冲、波特率自动调整定位(接收时)、屏蔽数据帧等功能,提高了通信的可靠性,方便程序编写,更便于组成分布式网络和实现多机通信系统的复杂应用,串口功能大大超过MCS-51/96单片机的串口,加之AVR单片机高速,中断服务时间短,故可实现高波特率通讯。根据题目要求,综合考虑上述方案,我们选用ATMEGA16L单片机方案。2)A/D采样系统根据题目要求,要实现
11、0-20V电压的精确测量,测量精度达到1mV,最高采样数据要达到20000,而12位的A/D为:212=4096,15位的ADC为:215=16384,16位的ADC为:216=32768,所以必须采用16位ADC才能满足题目的要求,然而16位的ADC价格昂贵,实验室并不常见,加上系统开发时间的限制,我们只好采用实验室较为常见的12位AD。方案一用1片12位并行AD集成芯片ADC574,12位并行DAC574集成芯片的转换速度快,而且精度高,但是其占用大量的单片机端口,外围电路较复杂。方案二采用一片12位串行ADC芯片MAX187的优点是精度比较高,而且占用单片机的端口资源较少,外围电路也比较
12、简单,缺点是转换速度不如并行AD转换快。但是,数字电压表对数据采样的速度要求不高,而且串行DA的程序也容易实现,所以我们最终决定选择方案二来实现对输入电压的采样。3)自动量程切换智能数字电压表中关键技术之一为自动量程转换问题。方案一用单片机控制多组继电器进行量程切换。特点是简单实用,缺点是机械噪声大。方案二采用光耦进行切换,其特点是控制部分隔离,无机械切换的噪声,可靠性好。显然,采用方案二电气特性功能上更好,但是由于本系统中要使用多组电子开关,相对而言,采用继电器切换方式降低了设计的难度,因而更加有利于短期内的系统开发。 4)电压检测为了实现对输入的微小信号或大信号进行精确测量,我们拟采用信号
13、放大或衰减预处理电路,即需要对被测量电压的极性、范围进行判断和确定,从而将被测电压的基本信息传递给单片机系统。方案一用多组比较器进行电压范围的分段检测,实现对输入电压的粗略测量。方案二输入信号通过电阻分压后,由ADC转换成数字信号传递给单片机系统实现电压的粗略测量。由于预处理电路只需要对输入电压进行范围的粗略测量,所以方案一完全能够满足实际要求,而方案二虽然测量结果较为精确,但电路复杂,还增加了编程难度。故采用的方案一。5)显示部分方案一采用LED数码管动态扫描显示。采用8位LED动态扫描显示的优点是能改善外部信号对显示的干扰,但单片机在工作时要求CPU不停地对LED更新,这将会降低系统的运行
14、速度,且占用资源比较多。方案二串行通讯方式实现8位LED的静态显示。采用串行通讯方式实现8位LED的静态显示,虽可降低端口的使用,也不会降低CPU的运行速度,但整个显示界面显得不太友好。方案三采用LCD液晶显示器显示。液晶显示功耗低,轻便防震,显示界面友好。因此本系统采用方案三。二、理论分析与电路设计1.系统总体设计与框图系统框图如图2.1.1所示。本系统采用ATMEGAL16L单片机作为控制核心,以12位的A/D转换MAX187为数据采样系统,实现被测电压的高精度数据采集与显示。该过程是:首先通过系列比较器检测输入电压的极性与范围,单片机根据电压极性与范围对继电器阵列进行相应的动作,实现了输
15、入量程的全自动转换。经过调理后的电压信号由AD转换后送出液晶显示,同时可以通过按键进行显示模式切换并具有过压保护、过压报警的功能。2.实际电路图2.1单片机系统本设计是以ATMEGA16L单片机为控制核心,其外围接口电路如图所示。 图2.2.2 ATMEGA16L单片机接口图ATmega16是基于增强的AVR RISC结构的低功耗8 位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega16 的数据吞吐率高达1 MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。Tmega16 有如下特点:16K字节的系统内可编程Flash(具有同时读写的能力,即RWW),512 字节 EEPROM,1K字节 SRAM,32 个通用I/O 口线,32 个通用工作寄存器,用于边界扫描的 JTAG 接口,支持片内调试与编程,三个具有比较模式的灵活的定时器 / 计数器(T/C),片内/外中断,可编程串行USART,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益 (TQFP 封装 ) 的 ADC ,具有片内振荡器的可编程看门狗定时器,一个 SPI串行端口,以及六个可以通过软件进行选择的省电模式。 工作于空闲模式时 CPU 停止工作,而 USART