运用单片机制作四位半数字电压表
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
这是我参加电子大赛本科组D题的论文,不足之处还请各位高手来指正!
本科组(D题)数字电压表
【摘要】
本设计是基于ATmega16单片机开发平台和自动控制原理的基础上实现的一种高精度、智能化的数字电压表系统。该系统采用ATmega16单片机作为控制核心,以12位的A/D转换MAX187为数据采样系统,实现被测电压的高精度数据采样;使用系列比较器检测输入电压的范围,并通过继电器阵列实现了输入量程的全自动转换;同时具有显示模式的按键切换、LCD液晶显示等显著优点。系统具有人性化的交互界面,硬件配置合理,控制方案优化,完全满足题目的基本要求。
【关键字】全自动量程转换电压检
测 MAX187 ATmega16 LCD显示
Digital Voltmeter
Summary : 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 system, 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 of interface, hardware configuration reasonable control program optimization, the subject completely meet the basic requirements. Keywords: Disney-range conversion, voltage detection, MAX187, ATmegal16, LCD Display.
目录
一、方案设计与论证 1
1.试题分析 1
2.系统控制方案 1
3.各模块方案 2
1)单片机选择 2
2)A/D采样系统 3
3)自动量程切换 3
4)电压检测 3
5)显示部分 3
二、理论分析与电路设计 4
1.系统总体设计与框图 4
2.实际电路图 4
2.1单片机系统 4
2.2 AD转换电路 6
2.3信号调理模块 6
2.4继电器模块 9
2.5按键与LCD显示电路设计 10
3.信号调理总体设计电路图 10
三、软件设计与流程 11
1.系统软件介绍 11
2.软件程序流程图 11
四、实验测试与结果分析 12
五、参考文献 13
六、附录 13
数字电压表
一、方案设计与论证
1.试题分析
根据题目要求,系统设计需要基于自动控制原理,实现电压量程的自动切换、数据采样、电压显示等功能。主要来说,系统由信号调理电路、A/D转换电路、按键输入电路、单片机控制系统、LCD显示系统等几个模块组成。由于本设计属于高精度实时监测控制系统,因此各模块必须具有高精度、低噪声、可靠性强等诸多性能要求。
2.系统控制方案
『方案一』仅采用CPLD作为控制核心部件的方案
选用一片CPLD作为系统的核心部件,实现控制与处理的功能。CPLD具有速度快、编程容易、资源丰富、开发周期短等优点,可利用VHDL语言进行编写开发。但CPLD在控制上较单片机有较大的劣势。同时,CPLD的处理速度非常快,而电压表的数据采样速度不可能太高,在这一点上,MCU就已经可以胜任了。若采用该方案,必将在控制上遇到许许多多不必要增加的难题。为此,我们不采用该种方案,进而提出了第二种设想。
图1.2.1 以CPLD为核心部件的原理图
『方案二』仅采用单片机作为控制核心部件的方案
如图1.2.2 所示:我们采用单片机作为整个系统的核心,用其输入电压的范围、控制信号调理电路,实现输入量程的自动切换,以达到其既定的高精度性能指标。
充分分析我们的系统,其关键在于实现电压调理的自动量程控制,而在这一点上,单片机就显现出来它的优势——控制简单、方便、快捷。而且,单片机其资源丰富、控制功能强大及可位寻址操作、价格低廉等,使得在实际制作过程中是一个较为理想的方案。
鉴于上述分析,在充分考虑到系统的需要及开发周期的情况下,我们决定选用第二种方案,即“仅采用单片机作为核心部件的方案”。
3.各模块方案
1)单片机选择
『方案一』选用51系列单片机。51系列单片机目前得到广泛使用,如89S51它除了89C51所具有的优点外,还具有可在线编程,可在线仿真的功能,这让调试变得方便。当与凌阳十六位单片机相比时,AT89S51八位单片机的价格便宜,再者编程方便。编程技术及外围功能电路的配合使用都很成熟,这对于在网上查找相关资料和在图书馆查找相关资料时非常方便的。但本系统是个多信息处理的复杂程序控制系统,需要占用大量的硬件资源,89S51单片机中的资源在此就显得相当紧张,将对整个系统的性能产生很大的影响。
『方案二』选用AVR系列单片机。AVR单片机是高速单片机,硬件采用哈佛(Harward)结构,达到一个时钟周期可以执行一条指令,绝大部分指令都为单周期指令,而MSC-51要12个时钟周期执行一条指令;它支持程序的在系统编程ISP,开发门槛较低,性价比高;有丰富的外设,如RTC、 WATCHDOG、 AD 转换器、PWM、UART接口等,部分型号还可以使用片内振荡器提供系统1~8 MHz的系统时钟,使该类单片机无外加晶振器件即可工作;I/O口功能强、驱动能力大,I/O口有输入/输出、三态高阻输入,也可设定内部拉高电阻作输入端的功能, 工业级产品,具有大电流(灌电流)10~40 mA,可直接驱动可控硅SSR或继电器, 节省了外围驱动器件;具有较大容量EEPROM,可擦写10万次的EEPROM,为掉电后数据的保存带来方便,来电后能记住掉电时的工作状态,EEPROM容量为64 B~4 KB ;AVR是低功耗单片机,具有休眠省电功能(Power Down)及闲置(Idle)低功耗功能。一般耗电在1~2.5 mA;AVR单片机内嵌高质量的Flash程序存储器,增强性的高速同/异步串口,具有硬件产生校验码、硬件检测和校验侦错、两级接收缓冲、波特率自动调整定位(接收时)、屏蔽数据帧等功能,提高了通信的可靠性,方便程序编写,更便于组成分布式网络和实现多机通信系统的复杂应用,串口功能大大超过MCS-51/96单片机的串口,加之AVR单片机高速,中断服务时间短,故可实现高波特率通讯。
根据题目要求,综合考虑上述方案,我们选用ATMEGA16L单片机方案。
2)A/D采样系统
根据题目要求,要实现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的优点是精度比较高,而且占用单片机的端口资源较少,外围电路也比较简单,缺点是转换速度不如并行AD转