基于Atmega16电容自动测量仪的设计140527_第1页
基于Atmega16电容自动测量仪的设计140527_第2页
基于Atmega16电容自动测量仪的设计140527_第3页
基于Atmega16电容自动测量仪的设计140527_第4页
基于Atmega16电容自动测量仪的设计140527_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、. . . . 届 别 2014 届 学 号 5 毕业设计基于 Atmega16 的电容自动测量仪的设计姓 名 许治豹 系 别、专 业 物理与电子信息工程系 电气工程与其自动化 导 师 姓 名、职 称 段 凌飞 讲师 完 成 时 间 2014.05 . . . . I / 34目录摘要 I1.引言 11.1 本论文的国外研究动态 11.2 本论文的理论和实践意义 12 方案设计 22.1 方案选择 22.2 方案设计 22.3 芯片选型 32.4 显示器选型 53 硬件电路 73.1 多谐振荡器的设计 73.2 单片机最小系统电路设计 103.3 LCD 硬件电路设计 113.4.供电电路的设

2、计 113.5 系统总原理图 124 软件设计 124.1 软件实现 124.2.主程序流程图 124.3 LCD1602 显示子程序 134.4 中断程序 144.5 数据处理程序分析 154.6 程序设计 185 系统功能测试 18参考文献 19致 20附录 21. . . . II / 34. . . . I / 34摘 要改革开放以来我国测量仪器的可靠性和稳定性问题得到了很多方面的重视,状况有了很大改观。测试仪器行业目前已经越过低谷阶段,重新回到了快速发展的轨道,尤其最近几年,中国本土仪器取得了长足的进步,特别是通用电子测量设备研发方面,与国外先进产品的差距正在快速缩小,对国外电子仪器

3、巨头的垄断造成了一定的冲击。随着模块化和虚拟技术的发展,为中国的测试测量仪器行业带来了新的契机,加上各级政府日益重视,以与中国自主应用标准研究的快速进展,都在为该产业提供前所未有的动力和机遇。从中国电子信息产业统计年鉴中可以看出,中国的测试测量仪器每年都以超过 30%以上的速度在快速增长。在此快速增长的过程中,无疑催生出了许多测试行业新创企业,也催生出了一批批可靠性和稳定性较高的产品。电容测量仪是当前实验室较为缺少的仪器,在某些试验过程中,常常需要知道电容值,而普通万用表不具备此功能。本设计以Atmega16 单片机为核心,通过555 定时器组成的多谐振荡器,能自动测量50pF-1000uF

4、的电容值,测量精度为5%以,通过LCD 显示测量值,能自动显示pF 档、nF 档、uF 档量程.关键词:电容自动测量,LCD 液晶显示,多谐振荡器. . . . AbstractReliability and stability problems of our measuring instruments since the reform and opening has been a lot ofattention, situation has improved a lot. The test instrumentindustry has crossed the low stage, back

5、to the track of rapid development, especially in recent years, China localinstrument has made considerable progress, particularly in terms of universal electronic measurement equipment research and development, the gap with foreign advanced products is rapidly shrinking, the foreign electronics gian

6、t monopoly caused certain impact. With the development of modular and virtual technology, it brings a new opportunity to test and measurement instrument industry China,coupled with all levels of government pay more and more attention, and rapid advancesin Chinese independentapplication standard, for

7、 the industry to provide the motive and opportunity hitherto unknown. From the statisticalyearbook China electronic information industry can be seen, test and measurement equipment Chinese each yearare more than 30% of the speed of rapid growth in the.This rapid growth, has spawned many testing indu

8、stry, new ventures, also gave rise to a batch of high reliability andstability of the product. Capacitance measuring instrumentof current laboratory is missing, in some test process, oftenneed to know the capacitance value, while the ordinarymultimeter do not have this feature. The design of the mic

9、rocontroller core, multivibrator basedon 555 timer, capacitor automatic measurement of 50pF - 10uF value, the measuring accuracy is within 5%,through the LCD display measurement, it can automatically display range, range pF file, nF file, uF file.KeywordsKeywords:capacitancemeasurement; LCD liquid c

10、rystal display;Multivibrator. . . . III / 34. . . . 1.引言1.1 本论文的国外研究动态目前,随着电子工业的发展,电子元器件急剧增加,在当今的电子测试领域,电容的测量已经在测量技术和产品研发中应用十分广泛。因此,设计安全、可靠、便捷的电阻测试仪具有极大的现实必要性。电子技术在日常生活中得到了广泛的应用,各种电路的不断推出以与电子产品的快速更新,电子技术已成为世界发展和人们生活中必不可少的工具。测试仪器行业目前已经越过低谷阶段,重新回到了快速发展的轨道,尤其最近几年,中国本土仪器取得了长足的进步,特别是通用电子测量设备研发方面,与国外先进产品的

11、差距正在快速缩小,对国外电子仪器巨头的垄断造成了一定的冲击5。在现代实验室和电子设备维修中,电容是不可缺少的电子元器件,而因电容导致的电路故障也占多数,电容的检测和更换维修常常需要工具,直接测量其电容值是判断电容好坏的重要参数,一般测量工具无法测量电容容值,不能够满足当代测量工具自动化和智能化的要求。中国电子测量技术经过 40 多年的发展历程,为中国的经济发展、科学文化、 特别是国防军事的发展做出了的巨大贡献。随着世界高科技发展的潮流,中国电子测量仪器也步入了高速发展的道路,特别是经过“九五”期间的发展,我国电子测量技术在若干重大科技领域取得了突破性进展,为我国电子测量仪器走向世界水平奠定了良

12、好的基础。进入 21 世纪以来,科学技术的发展已难以用日新月异来描述。新工艺、新材料、新的制造技术催生了新的一代电子元器件,同时也促使电子测量技术和电公务员之家子测量仪器产生了新概念和新发展趋势5。对于电容测量,一直是一个难题,一般万用表不具备电容测量,或者测量精度较差,要精确测量有些难度,一般采用电容振荡的方式测量,在技术上问题不大。现在主要是在测量的自动化、减小设备体积上做文章。当然,这些测量也可以用单片机来实现,并获得许多辅助功能如自动量程切换、自动记录和分析测试结果、于上位电脑接口实现数据传送、自动平衡。 用单片机精确测量电容可以实现自动量程切换,避免操作失误时卡住指针,损坏仪表,同时

13、在测量时的精度也大有提高,同时可以实现自动记录跟分析结果,操作十分方便,而且由单片机构成的应用系统有较大的可靠性,系统配置、扩展灵活。1.2 本论文的理论和实践意义因为传统的测电容因系统误差较大,故本文采用多谐振荡方式测量,将电容转换为频率后,进行计算,且测量方便本设计中,考虑到单片机具有物美价廉、功能强、使用灵活方便、可靠性高等特点。采用Atmega16单片机作为主控制器,对待测电容进行测试,再通过程序对所测数. . . . 2 / 34据进行分析计算,最后将所得数据经过液晶屏显示出来。不仅测量精度高、便于使仪表实现自动化。2 方案设计2.1 方案选择方案一:利用电容器放电测电容本方案时利用

14、电容器充电后,所带电量 Q 与两极板间电压 U 和电容 C 之间满足QCU 的关系。U 可由直流电压表测出,Q 可由电容器放电测量。使电容器通过高电阻放电,放电电流随电容器两极板间的电压下降而减少,通过测出不同时刻的放电电流值,直至 I0,作出放电电流 I 随时间变化的曲线,曲线下的面积即等于电容器所带电量。由 CQU 可求出电容器的电容值。方案二:利用放电时间比率来测电容本方案时利用其测量原理是把被测电容和基准电容连接到同一电阻上,构成 RC 网络。通过测量两个电容放电时间的比率,就可以求出被测电容的电容值。测量围从pF(10-12F)到几十个 nF(10-9F),并且在寄生电容的抑制和温度

15、稳定性方面具有极很大的优势。方案三:利用单片机测脉冲来测时间常数 RC 再计算电容本方案时利用其测量原理是把被测电容和电阻串联,构成 RC 网络,然后可利用这个时间常数去弄个振荡器,调好振荡信号的波形然后开始计数脉冲值,可能的周期为T=A0RC,A0为一个常数,可通过周期可以计算出 C 的值。这个可以用单片机来测,理论上可以从测的值可以为 N 多个,大大超过前面所讲述的。方案一,利用电荷电量来测电容,当电压固定时,电容容值较小时,电荷电量较低,电流也较小,但是电容较大时,电荷电量较高,电流也较大,容易烧毁芯片和器件。方案二,当测量围从 pF(10-12F)到几十个 nF(10-9F),寄生电容

16、的抑制和温度稳定性方面具有极很大的优势。超出此围时,误差较大,且此测量方法围太小。方案三,此方案时将电容值通过 RC 振荡,将电容值转换为稳定的频率值,便于单片机检测,且测量精度较高,便于实现自动化测量。综上考虑,本次设计选择方案三。2.2 方案设计 本设计采用 555 定时器构成的多谐振荡器,将电容值转换为频率值送定时器/计数器 T1 的输入捕捉口 PD6,将频率值通过输入捕捉中断和溢出中断计算出频率值,再经. . . . 3 / 34转换为相应的电容值,通过单片机控制 LCD1602 显示电路将电容值显示出来。电容信号调理电路Atmega16单片机LCD显示器图 1 系统整体组成2.3 芯

17、片选型2.3.1 单片机选型本设计选用 ATmega16 单片机,它的芯片部集成了较大容量的存储器和丰富强大的硬件接口电路,具备 AVR 高档单片机 Mega 系列的全部性能和特点。但由于采用了小引脚封装(为 DIP 40 和 TQFP/MLF32),所以其价格仅与低档单片机相当,再加上 AVR 单片机的系统可编程特性,使得无需购买昂贵的仿真器和编程器也可进行单片机嵌入式系统的设计和开发6。Atmega16 是一款采用低功耗 CMOS 工艺生产的基于 AVR RISC 结构的 8 位单片机。AVR 单片机的核心是将 32 个工作寄存器和丰富的指令集联结在一起,所有的工作寄存器都与 ALU(算术

18、逻辑单元)直接相连,实现了在一个时钟周期执行的一条指令同时访问(读写)两个独立寄存器的操作。这种结构提高了代码效率,使得大部分指令的执行时间仅为一个时钟周期。因此,ATmega16 可以达到接近 1MIPS/MHz 的性能,运行速度比普通 CISC 单片机高出 10 倍。同时自带 10 位 6 路 ADC,方便软件设计,而且在省电性能、稳定性、抗干扰性以与灵活性方面考虑得更加周全和完善6。具有如下特点:16K 字节的系统可编程 Flash(具有同时读写的能力,即 RWW)。512 字节 EEPROM,1K 字节 SRAM,32 个通用 I/O 口线,32 个通用工作寄存器,三个具有比较模式的灵

19、活的定时器/计数器(T/C), 片/外中断,可编程串行 USART,面向字节的两线串行接口,10 位 6 路(8 路为 TQFP 与 MLF 封装)ADC,具有片振荡器的可编程看门狗定时器,一个 SPI 串行端口,与五种可以通过软件进行选择的省电模式6。其引脚图如图 2 所示。工作于空闲模式时 CPU 停止工作,而 SRAM、T/C、SPI 端口以与中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态;ADC 噪声抑制模式时终止 CPU 和除了异步定时器与 ADC 以外所

20、有 I/O 模块的工作,以降低 ADC 转换时的开关噪声;Standby 模式下只有晶体或谐振振荡器运行,. . . . 4 / 34其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力6。本芯片是以 Atmel 高密度非易失性存储器技术生产的。片 ISPFlash 允许程序存储器通过 ISP 串行接口,或者通用编程器进行编程,也可以通过运行于 AVR 核之中的引导程序进行编程。在更新应用 Flash 存储区时引导 Flash 区(Boot Flash Memory)的程序继续运行,实现了 RWW 操作。通过将 8 位 RISCCPU 与系统可编程的 Flash 集成在一个

21、芯片,ATmega16 成为一个功能强大的单片机,为许多嵌入式控制应用提供了灵活而低成本的解决方案7。Atmega16 具有一整套的编程与系统开发工具,包括:C 语言编译器、宏汇编、程序调试器/软件仿真器、仿真器与评估板7。图 2Atmega16 引脚图 引脚说明:表 1 单片机引脚VCC数字电路电源。GND地。端口B(PB7.PB0)端口B为8位双向I/O口。端口C(PC5.PC0)端口C为7位双向I/O 口。PC6/RESET若RSTDISBL熔丝位编程,PC6作为I/O 引脚使用。若RSTDISBL熔丝位未编程,PC6 作为复位输入引脚。端口D(PD7.PD0)端口D为8位双向I/O口。

22、RESET复位输入引脚。持续时间超过最小门限时间的低电平将引起复位。AVCCAVCC是A/D转换器、端口C(3.0)与ADC (7.6)的电源。AREFA/D 的模拟基准输入引脚。ADC7.6( (TQFP与MLF 封装) )TQFP与MLF封装的ADC7.6作为A/D转换器的模拟输入。为模拟电源 且作为10位ADC通道。2.4 显示器选型2.4.1. LCD 简介LCD(Liquid Crystal Display)液晶显示器。LCD 的构造是在两片平行的玻璃基板当中放置液晶盒,下基板玻璃上设置 TFT(薄膜晶体管) ,上基板玻璃上设置彩色. . . . 5 / 34滤光片,通过 TFT 上

23、的信号与电压改变来控制液晶分子的转动方向,从而达到控制每个像素点偏振光出射与否而达到显示目的。现在 LCD 已经替代 CRT 成为主流,价格也已经下降了很多,并已充分的普与8。2.4.2 LCD 的类型按照背光源的不同,LCD 可以分为 CCFL 和 LED 两种。CCFL 指用 CCFL(冷阴极荧光灯管)作为背光光源的液晶显示器(LCD)。CCFL 的优势是色彩表现好,不足在于功耗较高9。LED 指用 LED(发光二极管)作为背光光源的液晶显示器(LCD),通常意义上指 WLED(白光 LED)。LED 的优势是体积小、功耗低,因此用 LED 作为背光源,可以在兼顾轻薄的同时达到较高的亮度。

24、其不足主要是色彩表现比 CCFL 差,所以专业绘图 LCD 大都仍采用传统的 CCFL 作为背光光源10。2.4.3 工作原理LCD 由两块玻璃板构成,厚约 1mm,其间由包含有液晶材料的 5m 均匀间隔隔开。因为液晶材料本身并不发光,所以在显示屏两边都设有作为光源的灯管,而在液晶显示屏背面有一块背光板(或称匀光板)和反光膜,背光板是由荧光物质组成的可以发射光线,其作用主要是提供均匀的背景光源11。背光板发出的光线在穿过第一层偏振过滤层之后进入包含成千上万液晶液滴的液晶层。液晶层中的液滴都被包含在细小的单元格结构中,一个或多个单元格构成屏幕上的一个像素。在玻璃板与液晶材料之间是透明的电极,电极

25、分为行和列,在行与列的交叉点上,通过改变电压而改变液晶的旋光状态,液晶材料的作用类似于一个个小的光阀。在液晶材料周边是控制电路部分和驱动电路部分11。当 LCD 中的电极产生电场时,液晶分子就会产生扭曲,从而将穿越其中的光线进行有规则的折射,然后经过第二层过滤层的过滤在屏幕上显示出来11。综合考虑,本次设计选用 2 行 16 位显示器 LCD1602 作为显示屏。2.4.4 液晶 LCD1602LCD16021602 字符型 LCD 通常有 14 条引脚线或 16 条引脚线的 LCD,多出来的 2 条线是背光电源线。LCD1602 的引脚图如下图图 3 所示,引脚定义和主要参数分别在表 2,表

26、 3 中,其基本时序操作在下文中有说明。图 3LCD1602 引脚图LCD1602 的引脚定义如表 1:. . . . 6 / 34表 2LCD1602 引脚定义表编号符号引脚说明编号符号引脚说明1VSS电源地9D2Data I/O2VDD电源正极10D3Data I/O3VL液晶显示偏压信号11D4Data I/O4RS数据/命令选择端(H/L)12D5Data I/O5R/W读/写选择端(H/L)13D6Data I/O6E使能信号14D7Data I/O7D0Data I/O15BLA背光源正极8D1Data I/O16BLK背光源负极1602 主要参数:表 3 LCD1602 主要参数

27、显示容量:162 字符芯片工作电压:4.5V.5V工作电流:2.0mA(5.0V)最佳模块工作电压:5.0V字符尺寸:2.954.35(WXH)mm基本操作时序:读状态:输入:RS=L,RW=H,E=H 输出:D0D7=状态字。写指令:输入:RS=L,RW=L, D0-D7=指令码,E=高脉冲 输出:无。读数据:输入:RS=H,RW=H,E=H 输出: D0-D7=数据。写数据:输入;RS=H,RW=L,D0-D7=指令码,E=高脉冲 输出:无。3 硬件电路3.1 多谐振荡器的设计3.1.1 555 多谐振荡器电路设计555 定时器是一种模拟和数字功能相结合的中规模集成器件,其电源电压围宽,可

28、在 4.5V16V 工作,输出驱动电流约为 200mA,其输出可与 TTL、CMOS 或者模拟电路电平兼容。其引脚图如图 4 所示,其引脚功能如表 4 所示。. . . . 7 / 34图 4555 引脚图和部电路图表 4555 定时器引脚功能引脚名称功能1GND(地)接地,作为低电平2TRIG(触发)当此引脚电压降至 1/3VCC(或有控制端决定的阀值电压)时输出端给高电平。3OUT(输出)输出高电平(+VCC)或低电平4RESET(复位)是直接清零端。当此端接低电平,则时基电路不工作,此时不论 TR、TH处于何电平,时基电路输出为“0”,该端不用时应接高电平。5CTRL(控制)VC 为控制

29、电压端。若此端外接电压,则可改变部两个比较器的基准电压,当该端不用时,应将该端串入一只 0.01F 电容接地,以防引入干扰。6THR(阀值)TH 高触发端7DIS(放电)放电端。该端与放电管集电极相连,用做定时器时电容的放电。8VCC(供电)提供高电平给芯片以下为 NE555 的电气参数:表 5. NE555 电气参数供电电压(VCC)4.5-15V最大输出电流200mA额定工作电流(VCC=+5V)3-6mA最大功耗600mA额定工作电流(VCC=+15V)10-15mA最低工作功耗30Mw(5v),225Mw(15v)3.1.2 555 构成的多谐测量电路多谐振荡器又称为无稳态触发器,在无

30、稳态工作模式下 555 定时器可输出连续的特定频率的方波。图 5 电容测量电路本电路图是由 NE555 定时器构成的占空比可调的多谐振荡器,电源 Vcc 通过R5、D6 向(待测电容)充电,以与 CX 通过 D5、R6 向 NE555 的第 7 脚 DIS 放电,是电XC路产生振荡。电容在 1/3VCC 和 2/3VCC 之间充放电(占空比为 0.5),其波形如图XC6,输出信号的时间参数为 :. . . . 8 / 34 式 3-0PLPHTTT 式 3-1XPHCRT57 . 0 式 3-2XPLCRT67 . 0 式 3-3)65(/43. 1)65(7 . 01)1 (RRCRRCTf

31、XX根据设计要求为 50pF-10uF 的电容值XC图 6 多谐振荡产生的波形由式 3-3 所示,设计要求能够测量 50pf-10uF 的值,下面按 pF、nF、uF 将其分为三个部分进行近似计算,其中,R 为常数为 102Kohm,则 式 3-4RCf/ )43. 1 (maxmin 式 3-5RCf/ )43. 1 (minmax :pF 档:当 时,555 多谐振荡器输出 pF 级最小频率;KohmRpFC102,1000maxmin1f将 R 代入式 3-4 得: 式 3-6)(0196.14102000/)101000(43. 1 / )43. 1 (12maxmin1KHzRCf当

32、时,555 多谐振荡器输出 pF 级最大频率;KohmRpFC102,50minax1mf将 R 代入式 3-5 得: 式 3-7)(396.280102000/)1050(43. 1 /min)43. 1 (12max1KHzRCf nF 档:当时,555 多谐振荡器输出 nF 级最小频率;KohmRnFC102,1000maxmin2f将 R 代入式 3-4 得: 式 3-8)(049.14102000/)101000(43. 1 / )43. 1 (9maxmin2HzRCf当时,555 多谐振荡器输出 pF 级最大频率;KohmRnFC102,1minax2mf将 R 代入式 3-5

33、得: 式 3-9)(0196.14102000/)101 (43. 1 / )43. 1 (9minmax2KHzRCf uF 档: 当时,555 多谐振荡器输出 nF 级最小频率;KohmRuFC102,1000maxmin3f将 R 代入式 3-4 得: 式 3-10)(0140196. 0102000/)101000(43. 1 / )43. 1 (6maxmin3HzRCf当时,555 多谐振荡器输出 pF 级最大频率;KohmRuFC102,1minax3mfV0VCH0TPLTTPH. . . . 9 / 34将 R 代入式 3-5 得: 式 3-11)(0196.14102000

34、/)101 (43. 1 / )43. 1 (6minmax3HzRCf综上所述,555 多谐振荡器在不同电容值情况下,输出频率如表 6 所示。表 6.档位频率值档位频率最小值minf频率最大值maxfR 值级别备注PF14.0196 KHZ(1.43/Q MHZ)280.392 KHZ(28.6/Q MHZ)Kohm 级别Q=102nF14.0196 HZ(1.43/Q KHZ)14.0196 KHZ(1.43/Q MHZ)Kohm 级别Q=102uF0.0140196 HZ(143/Q HZ)14.0196 HZ(1.43/Q KHZ )Kohm 级别Q=102由表6 可知,取R=102K

35、, 0.0140196 HZ 280.392 KHZ 在系统晶振可测量 f围。 故取 R5,R6,为 51k 金属膜电阻精度为1%,总电阻R=102k。由于被测量电路有会产生高频,所以D6,D7 选用肖基特二极管IN5819。3.2 单片机最小系统电路设计3.2.1. 复位电路设计单片机复位电路如图 7 所示。由于 ATMega16 已经置了上电复位设计。并且在“熔丝位”里,可以控制复位时的额外时间,故改芯片的外部上电复位线路的设计变得简单,由 R2(10K)的电阻到 VCC 和 C5(0.1uF)的电容接地以消除干扰、杂波。图中 D3(1N4007)的作用有两个:作用一是将复位输入的最高电压

36、钳在 Vcc+0.5V 左右,另一作用是系统断电时,将 R2(10K)电阻短路,让 C5 快速放电,让下一次来电时,能产生有效的复位。 当 AVR 在工作时,按下 SB0 开关时,复位脚变成低电平,触发 AVR 芯片复位。PB0(XCK/T0)1PB1(T1)2PB23PB34PB45PB56PB67PB78RESET9VCC10GND11XTAL212XTAL113PD014PD115PD216PD317PD418PD519PD620PD721PC022PC123PC224PC325PC426PC527PC628PC729AVCC30GND31AREF32PA733PA634PA535PA4

37、36PA337PA238PA139PA040U1ATMEGA16VCCR210KC50.1UFD3IN4007SB0RESETVCC图 7 复位电路3.2.2. 晶振电路设计. . . . 10 / 34图 8 晶振电路ATMega16 已经置 RC 振荡线路,可以产生 1M、2M、4M、8M 的振荡频率。由于置采用 RC 振荡电路,晶振频率不够稳定,在一些要求较高的场合,如定时器等需要比较精确的定时时间时,使用外部的晶振线路更为可靠。综合考虑,本设计选择外接晶振电路,如图 8 所示。3.3 LCD 硬件电路设计3.3.1. 显示电路设计PB0(XCK/T0)1PB1(T1)2PB23PB34

38、PB45PB56PB67PB78RESET9VCC10GND11XTAL212XTAL113PD014PD115PD216PD317PD418PD519PD620PD721PC022PC123PC224PC325PC426PC527PC628PC729AVCC30GND31AREF32PA733PA634PA535PA436PA337PA238PA139PA040U1ATM EGA16C422PFVSS1VCC2VEE3RS4R/W5E6DB07DB18DB29DB310DB411DB512DB613DB714A15K16U3LCDY112MHZC322PFVCCR210KC50.1UFD3I

39、N4007SB0RESETVCCVCCR310KVCCR410VCCVEFVEFRSR/WEDB0DB1DB2DB3DB4DB5DB6DB7RSR/WEDB0DB1DB2DB3DB4DB5DB6DB7图 9 显示电路单片机的 PA0-PA7 为显示元件 LCD1602 的数据传输总线,PD5-PD7 为显示屏的控制总线,R3 为屏幕亮度调节电阻。3.4.供电电路的设计本系统采用 6F22 碳性的 9V 电池供电,通过按键开关 K1 和二极管 D1,经滤波电容C1 输入 LM7805 三端正稳压集成电路的输入端口,经 LM7805 稳压后由其输出端口输出,. . . . 11 / 34再经滤波电

40、容 C2 滤波输出稳定的 5V 工作电源。其电路图如图 10 所示,其中发光二极管 D2 作为输出电源的指示灯,电阻 R1 为 D2 的限流电阻,二极管 D4 的作用是防止电流从输出口倒灌是烧毁 LM7805,对 LM7805 起保护作用。图 10 系统供电电路图3.5 系统总原理图本次设计采用 555 定时器构成多振荡器,将电容的容量值转换成频率值,然后送到 Atmega16 芯片将输入的频率值通过定时器 T1 的输入捕捉功能和溢出中断功能,计算出频率值,再根据公式转换成电容值送到 LCD1602 显示器中显示出来。系统电源由 9V 电池经过 LM7805 输出稳定的 5V 电压提供给各部件

41、工作。总电路图见附录 1。4 软件设计4.1 软件实现本设计由555定时器构成的多谐振荡电路得到待测电容对应的频率值,利用单片机定时器/计数器T1的输入捕捉功能和定时器/计数器T1的溢出中断把频率值转换成数字量,再利用软件比较、切换量程然后计算出相应的电容值,在液晶显示模块上正确显示出来,并能保持稳定。主程序不仅担负着量程的识别与转换,而且还负责数据的修正和传输。主控制器的工作状态直接决定整个测量系统能否正常工作。4.2.主程序流程图首先,初始化系统,定义相应的变量并赋予初值;其次,初始化显示子程序的数据端口和控制端口,进行一段时间演唱,然后调用显示子程序显示 z=1 时的值,即开机显示和其他

42、状况时的显示,均显示“1”和“Welcome to Test”;最后,初始化定时器/计数器 1 的控制寄存器 TCCR1A 和 TCCR1B,设置好中断屏蔽寄存器相关位,开启总中断,等待定时器/计数器 T1 的输入捕捉第 2 次中断到来之后,结束循环等待,关闭总中断进行数据处理和档位选择,将处理好的数据送显示字程序显示,延迟段时间后返回定时器/计数器 T1 初始化处进行无限循环。. . . . 12 / 34开始开始系统初始化系统初始化显示子程序初始化显示子程序初始化调用显示子程序(开机显示)调用显示子程序(开机显示)定时器/计数器T1初始化定时器/计数器T1初始化中断初始化中断初始化T1捕捉

43、中断第2次相应?(K=2?)T1捕捉中断第2次相应?(K=2?)关中断关中断调用数据处理程序调用数据处理程序调用显示子程序调用显示子程序调用延迟子程序调用延迟子程序清零相关参数清零相关参数NY图 11 主流程图4.3 LCD1602 显示子程序LCD1602 液晶显示器的初始化主要步骤是:显示模式设置;显示关闭;显示清屏;显示光标移动设置;数据指针设置;写数据;延迟一段时间。显示初始化设置完之后重复写数据和调用延迟时间程序,将要显示的数据写完为止。. . . . 13 / 34LCD1602显示子程序LCD1602显示子程序显示模式设置显示模式设置显示关闭显示关闭显示清屏显示清屏显示光标移动设

44、置显示光标移动设置数据指针设置数据指针设置写数据写数据调用延迟子程序调用延迟子程序图 12LCD 显示子程序4.4 中断程序定时器/计数器 T1 的溢出中断程序流程图:T1溢出中断T1溢出中断统计中断次数(h=h+1)统计中断次数(h=h+1)中断返回中断返回图 13T1 溢出中断程序流程图定时器/计数器 T1 的输入捕捉中断程序流程图:. . . . 14 / 34T1输入捕捉中断程序T1输入捕捉中断程序记录当前捕捉的计数值(储存在数组xk中)记录当前捕捉的计数值(储存在数组xk中)K+K+开启T1的溢出中断屏蔽寄存位开启T1的溢出中断屏蔽寄存位K=2?K=2?关闭中断关闭中断停止计数停止计

45、数Y中断返回中断返回N图 14T1 输入捕捉中断流程图4.5 数据处理程序分析 定时器/计数器 T1 的输入捕捉和溢出中断测出输入的频率值,计数脉冲个数为 式 4-1hxxN655360 1 (h 为 T1 溢出中断次数)则输入频率为 式 4-2NfNTfclkCLK/)/(1为系统时钟频率 12MHZ,T/C1 的时钟选择设为 001(TCCR1B 相应时钟选择设clkf置位),设无预分频,其时钟频率为系统外部晶振频率,由于数据储存区最大 10 进制为 216=65536,如果 N65536(N 为测量时间间隔脉冲个数)则数据会产生溢出,影响数据的准确。而电容 C 的值由两部分组成,一是两次

46、捕捉标志计数脉冲值之差,一是技术溢出中断的电容值,我们用 C 代表电容的容值,C1 代表电容的两次捕捉标记的计数脉冲值之差,C2 代表计数溢出的电容值。由 得 :RCf43. 1 式 4-3)*(43. 1fRC)*(*43. 1clkfRNC. . . . 15 / 34可由,C21 CCC 式 4-4)*()0 1 (*43. 11clkfRxxC 式 4-5)*()65536*(*43. 12clkfRhC已知,所以 KohmR102 式 4-6(nF)h *76.566(F) 10-9*76.566hC2 由式 4-4 得: 式 4-7(PF)-x(x. (F)-x(x. C-0116

47、81100116830651112设 C1,C2 皆为 4 字节,即数据长度为 16 为二进制数,最大的能够储存的 10 进制数为 65536。当时,65536C2 855.941h 所以当 h855 时(h 为整数),C2 数据会产生溢出。本次设计电容 C 最大为10UF,所以 h 不会产生溢出错误。 同理,当 C1=65536 时,56109.5x0-x1所以,当 时,C1 数据会产生溢出错误。56109.5x0-x1为了计算方便,将 C1 拆分为整数部分 C11 和小数部分 C12 分开计算,之后 C12 取整与 C11 相加赋给 C1。 式 4-8-xxC0111 式 4-9)-x*(

48、x.C01168012 所以 式 4-10112111/CCC当时,为防止 C1 数据溢出,所以将其拆分为两部分计算,大5610901-xx于 56094 的用代替原 C1, 另一部分相当于增加了 65.536nF,所以在溢655361211-CC出计算公式的整数部分 C2 加 上 65nF,在其小数部分加上 566PF。 式 4-1156623236522CCCC其值就不会因溢出而产生错误。当 T1 有溢出中断时,有式 4-6 知,每溢出一次电容容值 C 要加上 76.566nF,即每溢出一次 C2 要加上 76.566nF,即 式 4-121566227621CChC对于溢出部分的数据处理

49、,由式 4-6 知,C2 可以看成两部分组成,一是整数部分C21=76h,一是小数部分 C22=0.566h。如果 C22 大于 1,则. . . . 16 / 34 式 4-131222121/CCCC22 小于 1 的部分,则化为 PF 级别的整数储存,即 式 4-1310001222223)/-C(CC 档位调整,上叙只是单纯从数据储存角度分析,实际上电容值大于 1000pF 且小于 1000nF 时,就要切换到 nF 档显示,大于 1000nF 就要切换到 UF 档显示。 PF 档:电容值在小于 1000pF 时,电容显示在 pF 档,此时有几种情况:当定时器/计数器 T1 没有溢出(

50、h=0)时,由式 4-6 知,C2=0所以 C=C1,根据式 4-7 得: 式 4-141648561681100001.-xx当定时器/计数器 T1 有溢出(h=1)时,但是第二次标记的值小于第一次标记的值(x113 时,显示 uF 档。. . . . 17 / 34取出数组x中的值取出数组x中的值X0 x1?X0 x1?C11=65536-x0+x1C11=65536-x0+x1C12=0.168*C11C12=0.168*C11C12取整C12取整C11=x1-x0C11=x1-x0YYC1156109?C1156109?C1=C11+C12C1=C11+C12C1=C11+C12-65

51、536C1=C11+C12-65536C2=C2+65,C23=C23+566C2=C2+65,C23=C23+566h=1&C11=10?h=1&C11=10?转入PF档处理程序转入PF档处理程序Y(h1)|(C11856&hx0)?(h1)|(C11856&hx0)?转入nF档处理程序转入nF档处理程序Yh=13?h=13?转入UF档处理程序转入UF档处理程序返回主程序返回主程序NYN图 15.数据处理流程图4.6 程序设计程序见附录。5 系统功能测试测量仪器:万用表测量方法:将待测电容放在Cx位置,在LCD上读出被测电阻阻值,再用万用表测量电容容值。测量结

52、果表7. 测量结果表标准电容值100pF10nF22nF100nF3.3uF10uF实测误差. . . . 18 / 34误差在要求的正负5%围,符合设计要求,造成误差的原因由测量误差和元器件性能质量误差。. . . . 19 / 34参考文献1 牛百齐. 基于单片机的电容测量仪设计 J. 仪器仪表用户. 2005 (04).2 金峰,鸣. 简易电容测量仪的设计与调试 J. 实验科学与技术. 2005 (03).3 任晓虹,周启炎. 一种电阻电容测量电路的设计 J. 工业学院学报. 2002 (01).4 佘生能,士平. 基于V/T 变换的电容传感器新型电容测量电路 J. 现代测量与实验室管理

53、 . 2005 (01).5 高彦丽,蓓,邵富群,章勇高. 用于ECT 系统的低成本、宽带微小电容测量电路 J. 电测与仪表. 2004 (09).6 胡汉才. 高档 AVR 单片机原理与应用的习题解答与实验指导M. 市:清华大学, 2007.7 徐益民,红刚,凤武. 零基础学 AVR 单片机 基于 ATmega16、汇编与 C 语言M. 市:机械工业, 2011.018 迎春. 液晶显示器应开拓大尺寸市场J.现代显示.2011(07)9 欣欣,龙春平,王威.TFT-LCD 工艺与静电击穿J.现代显示.2007(03)10 季旭东. LCD 用的 LED 背光源技术J.照明工程学报.2003(

54、03)11 周波. TFT 液晶显示原理J.科技资讯.2006(35) 致 本论文是在段凌飞老师的悉心指导和热情关怀下完成的。段老师丰富的实践经验、严峻的治学态度与随和的为人之道给我留下了难以磨灭的印象,这将使我终身受益,为此,我要对他致以最衷心的感. . . . 20 / 34在本科学习的四年中,我与同学建立了深厚的友谊,他们在我遇到困难时无私地伸出援助之手,对他们的帮助我特别感。最后,对关心、支持我的亲人和老师致以最衷心的感。附录附录 1. . . . 21 / 34PB0(XCK/T0)1PB1(T1)2PB23PB34PB45PB56PB67PB78RESET9VCC10GND11XT

55、AL212XTAL113PD014PD115PD216PD317PD418PD519PD620PD721PC022PC123PC224PC325PC426PC527PC628PC729AVCC30GND31AREF32PA733PA634PA535PA436PA337PA238PA139PA040U1ATM EGA16C422PFVSS1VCC2VEE3RS4R/W5E6DB07DB18DB29DB310DB411DB512DB613DB714A15K16U3LCDY112MHZVin1GND2Vout3W1LM7805E9VC10.33UFC20.1UFD1IN4007D2LEDK1R14.

56、7KVCCC322PFVCCR210KC50.1UFD3IN4007SB0RESETVCCVCCR310KD4IN4007VCCR410VCCVEFVEFRSR/WEDB0DB1DB2DB3DB4DB5DB6DB7RSR/WEDB0DB1DB2DB3DB4DB5DB6DB7GND1TRIG2OUT3RESET4CTRL5THR6DIS7VCC8U2NE555VCCVCCGNDC60.01UFVCCCXoutR551KR651KOUTD6IN5819D7IN5819图 16.系统总电路图. . . . 22 / 34附录 2.程序:#include /包含型号头文件#include /包含位操作

57、头文件#include /标准输入输出头文件#include /包含自定义常量头文件#define uchar unsigned char#define uint unsigned int#pragrma data:codeunsigned char const kj=huan ying ce shi;/开机显示“huan ying ce shi”#pragrma data:codeunsigned char const numb=0 x55,0 x46,0 x6E,0 x46,0 x50,0 x46,0X2E; /UF,nF,PF,.(小数点 ASCALL)#pragram data:dat

58、aunsigned char const temp=0 x30,0 x31,0 x32,0 x33,0 x34,0 x35,0 x36,0 x37,0 x38,0 x39; /* 0 1 2 3 4 5 6 7 8 9 */unsigned long int x2;/定义数组储存输入捕捉的值uchar q=0 ,b=0,s=0,g=0,b1=0,s1=0,g1=0;/电容转换时千百十个位和小数位unsigned int h=0,k=0;/定义溢出中断统计次数和捕捉中断次数unsigned int z=1;/*z 为 1 时测量值超出围,0 时为 uf 档,2 时为 nf 档,4 时为 pf 档

59、。*/#pragma interrupt_handler TIMER1_CAPT:6 /定时器/计数器 1 的事件捕捉 void TIMER1_CAPT () /T1 的输入捕捉中断服务程序 xk=ICR1H*256+ICR1L; k+; TIMSK|=BIT(2);/开启 T/C1 溢出中断标志位 if(k=2)TCCR1B=0X00;/停止计数SREG=0X00;/关中断. . . . 23 / 34#pragma interrupt_handler TIMER1_OVF:iv_TIM1_OVF/定时器/计数器 1 的溢出void TIMER1_OVF() /定时器/计数器 1 的溢出中断

60、服务程序 h=h+1; void main () uchar i=1;DDRD|=BIT(3);/蜂鸣器接口初始化PORTD|=BIT(3);/默认关闭蜂鸣器 dy_cs();/* LCD 显示子程序初始化*/display();/开机显示delay(10);DDRD&=BIT(6);/T1 输入捕捉端口初始化PORTD|=BIT(6);while(1)TCCR1A=0X00; TCCR1B=0X81;/*设置为下降沿触发,无与分频,时钟为系统时钟,ICP1 的输入被滤波。*/TCNT1H=0X00;TCNT1L=0X00;TIMSK=0 x20; /输入捕捉中断使能 bit-5 ,篢/C1 溢出中断使能 bit-2SREG=0X80;/开中断 while(i)/等待第二

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论