本科毕业设计,毕业论文,电子体温计的研制.doc_第1页
本科毕业设计,毕业论文,电子体温计的研制.doc_第2页
本科毕业设计,毕业论文,电子体温计的研制.doc_第3页
本科毕业设计,毕业论文,电子体温计的研制.doc_第4页
本科毕业设计,毕业论文,电子体温计的研制.doc_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

iii本科毕业论文,电子体温计的研制本科毕业论文电子体温计的研制摘 要在现代化的工业生产中,温度是常用的测量及被控参数。随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研各个领域,已经成为一种有力的工具,本文介绍一种基于单片机控制的数字温度计。它克服了传统的水银温度计测温速度慢、环境污染严重、携带不方便等缺点。介绍了系统的硬件和软件设计,利用半导体热敏电阻物理参数(如电阻、电压、电流等)与环境温度之间存在的确定关系,将体温以数字的形式显示出来,读数清晰又安全。采用atmega16单片机来对温度进行测量,不仅控制方便、组态简单灵活,还能够减小仪表的体积。本论文将介绍电子体温计的基本概念,基于atmega16单片机的电子温度计的设计过程,分析ntc热敏电阻和lm35作为测温传感器的非线性纠正方法,介绍液晶显示屏的驱动程序。关键词:电子体温计,热敏电阻,atmega16单片机,液晶屏abstractin modern industrial production, the temperature is measured and charged with common parameters. as the times progress and development, single chip technology so pervasive in our lives, work, research in various fields, has become a powerful tool, this paper introduces a microcomputer-based control of the digital thermometer. it overcomes the traditional mercury thermometer temperature is slow, serious environmental pollution, bring inconvenience shortcomings. describes the hardware and software design, using semiconductor thermistor physical parameters (such as the resistance, voltage, current, etc.) and the environment determine the relationship that exists between the temperature, the temperature displayed in digital form, reading a clear and safe. atmega16 microcontroller used to measure the temperature not only easy to control, simple and flexible configuration, it can reduce the size of instrument. this paper will introduce the basic concepts of electronic thermometer, electronic thermometer based on atmega16 microcontroller design process, analysis of ntc thermistor and temperature sensor lm35 linear as correct methods of introducing liquid crystal display driver.i keywords: digital thermometer, thermistor,atmega16 microcontroller,lcd screen目 录1 绪论11.1 体温计的发展与现状11.2 新型智能电子体温计的结构及其特点21.3 总体方案设计22 测温电路的设计42.1 温度传感器的介绍42.2 热敏电阻温度测量计算112.3 放大电路部分122.4 恒流源电路133 atmega16单片机173.1 atmega16单片机硬件介绍173.2 电源管理与睡眠模式213.3 系统控制和复位223.4 ad转换器244 液晶屏jxd1602264.1液晶显示简介264.2 1602字符型lcd简介264.3液晶特性参数294.4 控制器接口时序说明315 编程介绍335.1 软件设计和仿真软件335.2 源程序356 结论45参考文献47致 谢4848电子体温计的研制1 绪论单片机智能化仪表是测量仪表的发展趋势。它给日常生活带来多方面的进步,其中数字温度计就是一个典型的例子,医院、家庭等随处可见,为了能更加满足人们的需要,数字体温计正在更新换代。温度测量在物理实验、医疗卫生、食品生产等领域有着特别重要的意义。现在所使用的温度计还有很多是分辨力为10.1的水银、煤油或酒精温度计。这些温度计的刻度间隔通常都很密,不容易准确分辨,读数困难,而且他们的热容量比较大,达到热平衡所需的时间较长,因此很难读准,使用非常不方便。本设计所介绍的数字体温计,与传统的温度计相比,具有读数方便,测温范围广,测温准确等优点,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用。温度计的发展很快,从原始的玻璃管温度计发展到了现在的热电阻温度计、热电偶温度计、半导体集成数字温度计等。在电子式温度计中,传感器是它的重要组成部分,温度计的精度、灵敏度基本决定了温度计的精度、测量范围、控制范围和用途等。温度传感器应用极其广泛,目前已经研制出多种新型温度传感器,从而构成性能优良的温度监控系统。1.1 体温计的发展与现状体温测量的历史,可以追溯到l6世纪。当时saatorio用空气热膨胀的原理,制出了第一支测量口腔温度的体温计。本世纪初,开始用水银来制作体温计,至今在临床上得到了广泛的应用。根据1928年ebstein的报告,当时除测量口腔及腋下的温度外,还可以测量直肠、颈部、大腿根部,外耳及尿温。这些都是用被测皮肤温度与玻璃球内积存的水银温度相等的原理实现的。由于水银体温计使用方便、精度高,因而应用很广。再加上测温方法及其结构都已成熟,没多大改进余地,人们对它的研究失去了信心,至今几乎没有什么进展。由于用水银体温计进行体温监测很不方便,水银的污染的可能也很严重等,为了正确测量人体局部温度,促使人们开发了各种不同的测温仪器和测温方法。虽然水银体温计仍不愧是一个精度高、便宜、使用方便的测温仪器。现在已有许多医院采用了电子体温计,用其它电子仪器测量体温也日益普及。这一事实至少表明,电子测温仪器的性能已接近水银温度计的性能。因此,鉴于传统的水银体温计汞的污染及其携带不方便易破碎,尤其是测量时间过长等缺点,本课题为解决此问题设计出一种数字式电子体温计。它在稳定性及响应时间上比传统的水银体温计有着显著的优势,精度要求也能和传统的水银体温计相媲美。1.2 新型智能电子体温计的结构及其特点1.2.1 结构温度传感器,这个是关键部件;放大电路;单片机及数模转换器a/d;数字显示部分(lcd显示屏组件);电源部分。ntc具有价格低廉、阻值随温度变化显著的特点,而广泛用于温度测量。通常采用一只精密电阻与ntc串联,ntc阻值的变化转变为电压变化直接进入比较电路或单片机的a/d的输入接口,不必经过放大处理,电路构成极为简单。运用ntc时除了选择合适的r值和b值之外,还应当考虑到测量速度和精度1。选择合适的b:b值直接反映ntc测量温度的响应速度,但不是越小越好,确定b值需要比较与权衡。因为b值与它的封装尺寸有关,ntc的封装尺寸小,则b值小,机械强度低;封装尺寸大,则b值大,机械强度高。确定电流范围:可根据厂家提供的非自热最大功率或利用耗散系数来确定工作电流的范围。1.2.2 特点新型电子体温计利用电子感温,灵敏度高,也适合无法长时间安静的儿童,且能在较短的时间内准确测试出体温,探热时间可快至1min。它的测量精度可达0.1,液晶屏直接显示体温数值。1.3 总体方案设计 (1)根据温度范围和精度选择ntc热敏电阻,确定其型号,根据电阻特性设计采集放大电路,利用运算放大器将温度信号转换为电压信号,设计电路时,因为单片机采集电压在02.5v,所以输入的测量范围为3542,对应输出02.5v。(2)采集完成以后输入单片机atmega16的a/d口,对模拟量进行采样,转化为数字信号,单片机对采集的信号进行处理,根据采集的信号与温度的数学关系,将电信号转化为温度值2。(3)用液晶屏显示出温度值。(4)所需的电源功率足够小,能够利用开关电源供电。电子体温计系统大多主要使用3v直流电源。总体方案系统设计框图如图1-1和图1-2所示。图1-1 电子体温计的设计方案系统框图图1-2作者搭建的电子体温计的电路2 测温电路的设计2.1 温度传感器的介绍为了尽量多学习到更多的知识,本课题同时采用了两种温度传感器:lm35以及ntc热敏电阻,设计了两个不同的电路。用同一块单片机分别测量它们的输出,用两套程序来进行计算,用同一个液晶屏分时显示这两个不同的传感器测量到的温度。因为1602lcd显示屏可以显示两行,一行显示的是体温,一行显示的是室温。还可以设计出不同的组合。在实际应用中,当然不会同时采用两种传感器。lm35是national semiconductor公司生产的集成温度传感器,其输出电压与摄氏温标呈线性关系,转换公式如式2-1所示,0时输出为0v,每升高1,输出电压增加10mv。lm35 有多种不同封装型式,外观如图所示。在常温下,lm35不需要额外的校准处理即可达到1/4的准确率。 其电源供应模式有单电源与正负双电源两种,其接脚如图所示,正负双电源的供电模式可提供负温度的量测;两种接法的静止电流-温度关系如图 所示,在静止温度中自热效应低(0.08),单电源模式在25下静止电流约50a,工作电压较宽,可在420v的供电电压范围内正常工作非常省电3。uout_lm35(t)=10mv/t (2-1)lm35系列是精密集成电路温度传感器,它的输出电压与摄氏温度成线性比例。lm35无需外部标准或微调来提供(200.25)的常用的室温精度,在-55+150温度范围内的误差为0.75,我们把利用lm35做成的温度传感器放在带有冰水的烧杯里加热,一直到水烧开,实验采用摄氏温度直接校准方式,由于受当地大气压的影响,所得的数据结果如表1所示。表2-1 温度传感器实验数据t()v(mv)t()v(mv)t()v(mv)87020208323339932121833343101002222734352111102324135360121212425736372131292526537382141342627638391151442729039401161522830040411171652930641423181803031542432191943132443442从实验结果可以看出,lm35温度传感器具有较好的线性的温度特性,特别是在30以上范围内,其电压-温度基本上呈线性特性,因为人体的体温范围在3543内,这就为制作数字温度计提供了理论和实验基础4。图2-1 lm35的温度特性曲线图2-2 to-92封装引脚图 图2-3 so-8 ic式封装引脚图图2-4 to-46金属罐形封装引脚图 图2-5 to-220 塑料封装引脚图图2-6单电源模式 图2-7正负双电源模式 表2-2 封装形式与型号关系 封装型号to-46金属罐形封装引脚图lm35h,lm35ah,lm35ch,lm35cah,lm35dhto-220 塑料封装引脚图lm35dtto-92封装引脚图lm35cz,lm35caz lm35dzso-8 ic式封装引脚图lm35dm2.1.1热敏电阻的类型及特性 热敏电阻是利用半导体的阻值随温度变化这一热性而制成的,分为ntc(负温度系数)热敏电阻、ptc(正温度系数)热敏电阻两大类。ptc热敏电阻电阻值随温度的升高而增大,ntc热敏电阻电阻值随温度的升高而降低5。正温度系数热敏电阻其电阻值随着ptc热敏电阻本体温度的升高呈现出阶跃性的增加,温度越高,电阻值越大。负温度系数热敏电阻其电阻值随着ntc热敏电阻本体温度的升高呈现出阶跃性的减小,温度越高,电阻值越小。ntc是negative temperature coefficient的缩写,意思是负的温度系数,泛指负温度系数很大的半导体材料或元器件。通常我们提到的ntc是指负温度系数热敏电阻,简称ntc热敏电阻。ntc热敏电阻是一种典型具有温度敏感性的半导体电阻,它的电阻值随着温度的升高呈阶跃性的减小。ntc热敏电阻是以锰、钴、镍和铜等金属氧化物为主要材料,采用陶瓷工艺制造而成的。这些金属氧化物材料都具有半导体性质,因为在导电方式上完全类似锗、硅等半导体材料。温度低时,这些氧化物材料的载流子(电子和孔穴)数目少,所以其电阻值较高;随着温度的升高,载流子数目增加,所以电阻值降低6。ntc热敏电阻根据其用途的不同分为:功率型ntc热敏电阻、补偿型ntc热敏电阻、测温型ntc热敏电阻。ptc是positive temperature coefficient的缩写,意思是正的温度系数,泛指正温度系数很大的半导体材料或元器件。通常我们提到的ptc是指正温度系数热敏电阻,简称ptc热敏电阻。ptc热敏电阻是一种典型具有温度敏感性的半导体电阻,超过一定的温度(居里温度)时,它的电阻值随着温度的升高呈阶跃性的增高。ptc热敏电阻根据其材质的不同分为:陶瓷ptc热敏电阻、有机高分子ptc热敏电阻。ptc热敏电阻根据其用途的不同分为:自动消磁用ptc热敏电阻、延时启动用ptc热敏电阻、恒温加热用ptc热敏电阻、过载保护用ptc热敏电阻、过热保护用ptc热敏电阻。ntc热敏电阻的测温范围:低温型号为-1000,中温型号为-50+300,高温型号为+200+800,主要材料为mn、ni、co、fe、cu、al等,用于温度测量、温度补偿和电流限制等。ptc热敏电阻的测温范围为-50+150主要材料有batio3等,用于温度开关、恒温控制和防止冲击电流等。热敏电阻有如下优点:对于温度的变化,其阻值变化较大,即输出灵敏度高;便于大批量生产,因而价格便宜;体积小而且坚固;由于灵敏度高,因而信号处理非常方便。缺点是非线性、测温范围窄、互换性差等。图2-8热敏电阻器的电阻温度特性曲线热敏电阻的电阻值与温度的关系为7: rt=r0e-b(1/t0-1/t) (2-2)其中rtntc在热力学温度为t时的电阻值r0ntc在热力学温度为t0时的电阻值,多数厂商将t0设定在298.15k(25)b热敏电阻的常数,它代表热敏电阻的灵敏度(对温度的敏感程度),与热敏电阻的制造材料有关。热敏电阻r0与常数b的关系如表所示8。表2-3 热敏电阻r0 与常数b的关系使用温度范围()标准电阻值r0标称常数b-501006(t0=0)3390015030(0)3450502003(100)38941002500.55(200)43001503004(200)51332003508(200)5559计算端基线性度误差: (2-3)式中 d lmax 最大非线性偏差; ymaxymin输出范围。图2-9 传感器线性度示意图a)端基线性度这图要改为你自己的真实的曲线 1端其拟合直线y =a+k x 2实际特性曲线 2.1.2线性化处理多数传感器的输出信号与被测量之间的关系并非线性误差,如图2-10中的曲线1和曲线2。图2-10 输出信号与被测量之间的非线性关系1-类似于指数型非线性特性 2-类似于对数型非线性特性 3-线性化后的特性在非线性情况下,将严重影响测量准确度。因此必须先将实际曲线1或曲线2进行线性化处理,得到曲线3。线性化处理的方法:线性化处理可以由硬件实现,但线性化电路往往较复杂,也会增加检测系统的成本。在计算机系统处理能力允许的条件下,可以用软件实现线性化处理。设传感器的静态输入/输出的特性为y=f(x),是非线性的,则可以通过查表法、线性插值法,以及二次抛物线折线法等几种线性化方法,得到线性的结果:y=kx。查表法虽然简单,但需逐点测量输入-输出对应数据;采用线性插值法时,划分的段数越多,得到的结果就越精确,但计算所需时间就越长,即仪器稳定时间就越长;二次抛物线折线法的计算就更加复杂。本设计采用对数计算的方法。利用t=3950/(log(rt/ro)+3950/298.15)-273.15公式来计算温度与热敏电阻的关系。2.1.3 ntc热敏电阻用于温度测量和控制简介热敏电阻具有尺寸小、响应速度快、灵敏度高等优点,因此它在许多领域得到广泛应用。热敏电阻在工业上的用途很广,根据产品型号不同,其适用范围也各不相同,具有以下方面9:(1)热敏电阻测温 作为测量温度的热敏电阻一般结构较简单,价格较低廉。没有外面保护层的热敏电阻只能应用在干燥的地方;密封的热敏电阻不怕湿气的侵蚀,可以使用在较恶劣的环境下。由于热敏电阻的阻值较大,故其连接导线的电阻和接触电阻可以忽略,在热敏电阻测量粮仓温度中,其引线可长达近千米。热敏电阻的测量电路多采用桥路,热敏电阻体温表原理图如图2-11所示。图2-11 模拟指针式电子体温计电路调试电桥电路时,必须先调零,再调满度,最后再验证刻度盘中其他各点的误差是否在允许的范围内,上述过程称为标定。具体做法如下:将绝缘的热敏电阻放入32(表头的零位)的温水中,待热量平衡后,调节rp1,使指针指在32上,再加入热水,用更高一级的数字式温度计监测水温,使其上升到45。待热量平衡后,调节rp2,使指针指在45上。再加入冷水,逐渐降温,检查3245范围内刻度的准确性。如果不正确:可重新刻度;在带微机的情况下,可用软件修正。虽然目前热敏电阻温度计均已数字化,但上述的“调试”、“标定”的概念是作为检测技术人员必须掌握的最基本技术,必须在实践环节反复训练类似的调试基本功。(2)热敏电阻用于温度补偿 热敏电阻可在一定的温度范围内对某些元件进行温度补偿。例如,动圈式表头中的动圈由铜线绕制作而成。温度升高,电阻增大,引起测量误差。可以在动圈回路中串入由负温度系数热敏电阻组成的电阻网络,从而抵消由于温度变化所产生的误差。在三极管电路、对数放大器中,也常用热敏电阻组成补偿电路,补偿由于温度引起的漂移误差。(3)热敏电阻用于温度控制及过热保护 在电动机的定子绕组中嵌入突变型热敏电阻并与继电器串联。当电动机过载时钉子电流增大,引起发热。当温度大于突变点时,电路中的电流可以由十分之几毫安突变为几十毫安,因此继电器动作,从而实现过热保护。热敏电阻在家用电器中用途也十分广泛,如空调与干燥器、电热水器、电烘箱温度控制等都用到热敏电阻。(4)热敏电阻用于液面的测量给ntc热敏电阻施加一定的加热电流,它的表面温度将高于周围的空气温度,此时它的阻值较小。当液面高于它的安装高度时,液体将带走它的热量,使之温度下降、阻值升高。判断它的组织变化,就可以知道液面是否低于设定值。汽车油箱中的油位报警传感器就是利用以上原理制作的。热敏电阻在汽车中还用于测量油温、冷却水温等。利用类似的原理,热敏电阻还可用于气体流量的测量10。热敏电阻的优点是可测量到小范围内的温度,变化率较大,固有电阻大,无需延长导线时的误差补偿;其缺点是变化率非线性,不适合测量高温区。2.2 热敏电阻温度测量计算lm285/lm385系列微功率带隙稳压器二极管。设计工作低于10a到20a的宽电流范围。这些器件特征有非常低的动态阻抗、低噪声以及随时间和温度稳定工作。通过片内微调可以实现严格的电压误差11。根据公式rt= r0 *exp(b*(1/t0-1/t1)对上面的公式解释如下: rtntc在热力学温度为t时的电阻值r0ntc在热力学温度为t0时的电阻值,多数厂商将t0设定在298k(25)b热敏电阻的常数,它代表热敏电阻的灵敏度(对温度的敏感程度),与热敏电阻的制造材料有关。exp是e的n次方。例如作者手头有一个mf58502f395型号的热敏电阻,参数如下述。 mf58 型号玻璃封装 502 常温25度的标称阻值为5k f 允许偏差为1% 395 b值为3950k的ntc热敏电阻 则rt=5000*exp(3950*(1/t0-1/(273+25),这时候代入t0温度就可以求出相应温度下热敏电阻的阻值,注意温度单位的转换,例如我们要求零上10摄氏度的阻值,那么t0就为(273+10) 12。表2-4 热敏电阻与温度的计算关系电压(v)阻值(k)温度()2.511.7434423.437511022.610.8846153824.173829512.7229.9485672325.050406832.89.39285714325.613437782.98.72413793126.3400153538.127.073839243.17.51612903227.81707633.26.9687528.572035323.36.45454545529.341212393.45.97058823530.127344643.55.51428571430.933475053.65.08333333331.763032683.74.67567567632.61993373.84.28947368433.508711383.93.92307692334.4346862243.57535.404193284.13.24390243936.424891964.22.92857142937.5061984.32.62790697738.659900924.42.34090909139.901072294.52.06666666741.249446454.61.80434782642.731603094.71.55319148944.384583194.81.312546.262236744.9211.03434261348.9563810850.8651.075913125.10.64705882454.397797695.20.44230769258.947722165.30.24528301966.254451235.40.05555555686.166546432.3 放大电路部分lm324系列运算放大器是价格便宜的带差动输入功能的四运算放大器。可工作在单电源下,电压范围是3.0v32v或最大16v13。与单电源应用场合的标准运算放大器相比,它们有一些显著优点。该四运算放大器可以工作在低到3.0伏或者高到32伏的电源下,静态电流为mc1741的静态电流的五分之一。共模输入范围包括负电源,因而消除了在许多应用场合中采用外部偏置元件的必要性。lm324的特点14:(1)短路保护输出;(2)真差动输入级;(3)可单电源工作:3v32v;(4)低偏置电流:最大100na;(5)每封装含四个运算放大器;(6)具有内部补偿的功能;(7)共模范围扩展到负电源;(8)行业标准的引脚排列;(9)输入端具有静电保护功能。图2-12 lm324的引脚图图2-13 温度传感器经过lm324放大电路温度传感器lm35输出的电压经过lm324反相端输入放大电路将电压放大5倍。2.4 恒流源电路图2-14 电子工具箱搭建的恒流源电路图2-15用protel画的恒流源电路这是最简单的偏置电路,偏置电流ib自电源vcc(取vcc=5v)经过10k,电阻流通。即这一电路的偏置电流ib可用下式表示:ib=(vcc-ube)/10=(5-0.7)/10= 0.43ma (2-4)式中ube的值对锗晶体三极管而言约为0.2v,对硅晶体三极管而言约为0.60.7v。因此,一旦给定vcc的值,由该电路中的ib就基本决定,所以该电路称为固定偏置电路。它虽电路简单且功耗小,但由于对温度的稳定性能差,故用于像玩具那样的放大倍数不高、保真度要求低的场合。对于npn管来说,三个电极的电位关系是:uc ub ue;对于pnp管来说,三个电极的电位关系是:uc ub ue。对于三极管,它由基极、集电极和发射极组成。其中三者关系可以用一下公式来表示:ie= ic+ ib (2-5)当ib=0(将基极开路)时,ie= ic此时电流由集电区穿过基区流入发射区12。上图中ie=(1.2-0.7)/4.3k=0.1ma (2-6)所以,ie= ic=0.1 ma,而热敏电阻两端的电压urt=10k0.1ma=1v,然后再将热敏电阻两端的电压输送到单片机的ad转换器的c1口。图2-16 总电路原理图上图为本设计电子体温计的总原理图,以单片机为核心,温度传感器和1602lcd液晶显示屏为辅件,完成整个电路图的搭建。3 atmega16单片机3.1 atmega16单片机硬件介绍atmega16是基于增强的avr risc结构的低功耗8位cmos微控制器。由于其先进的指令集以及单时钟周期指令执行时间,atmega16的数据吞吐率高达1 mips/mhz,从而可以缓减系统在功耗和处理速度之间的矛盾15。 atmega16 avr 内核具有丰富的指令集和32个通用工作寄存器。所有的寄存器都直接与算逻单元(alu)相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的cisc 微控制器最高至10倍的数据吞吐率。atmega16有如下特点:16k字节的系统内可编程flash(具有同时读写的能力,即rww),512字节eeprom,1k字节sram,32个通用i/o 口线,32个通用工作寄存器,用于边界扫描的jtag接口,支持片内调试与编程,三个具有比较模式的灵活的定时器/计数器(t/c),片内/外中断,可编程串usart,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益(tqfp 封装) 的adc ,具有片内振荡器的可编程看门狗定时器,一个spi 串行端口,以及六个可以通过软件进行选择的省电模式。 工作于空闲模式时cpu停止工作,而usart、两线接口、a/d 转换器、sram、t/c、spi 端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态;adc噪声抑制模式时终止cpu 和除了异步定时器与adc 以外所有i/o 模块的工作,以降低adc 转换时的开关噪声;standby 模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展standby 模式下则允许振荡器和异步定时器继续工作。本芯片是以atmel 高密度非易失性存储器技术生产的。片内isp flash允许程序存储器通过isp 串行接口,或者通用编程器进行编程,也可以通过运行于avr 内核之中的引导程序进行编程。引导程序可以使用任意接口将应用程序下载到应用flash存储区(applicationflash memory)。在更新应用flash存储区时引导flash区(boot flash memory)的程序继续运行,实现了rww操作。通过将8 位risc cpu 与系统内可编程的flash 集成在一个芯片内,atmega16 成为一个功能强大的单片机,为许多嵌入式控制应用提供了灵活而低成本的解决方案。atmega16具有一整套的编程与系统开发工具,包括:c 语言编译器、宏汇编、 程序调试器/软件仿真器、仿真器及评估板16。3.1.1 atmega16产品特性高性能、低功耗的8位avr微处理器;先进的risc结构;131条指令;大多数指令执行时间为单个时钟周期;32个8位通用工作寄存器;全静态工作;工作于16mhz时性能高达16mips;只需两个时钟周期的硬件乘法器;非易失性程序和数据存储器;16k字节的系统内可编程flash,擦写寿命: 10,000次;具有独立锁定位的可选boot代码区,通过片上boot程序实现系统内编程,真正的同时读写操作;512 字节的eeprom,擦写寿命: 100,000次;1k字节的片内sram;可以对锁定位进行编程以实现用户程序的加密;jtag 接口(与ieee 1149.1标准兼容);符合jtag标准的边界扫描功能;支持扩展的片内调试功能;通过jtag接口实现对flash、eeprom、熔丝位和锁定位的编程17。(1)外设特点:两个具有独立预分频器和比较器功能的8位定时器/计数器;一个具有预分频器、比较功能和捕捉功能的16位定时器/计数器;具有独立振荡器的实时计数器rtc;四通道pwm;8路10位adc,8个单端通道,2个具有可编程增益(1x, 10x, 或200x)的差分通道;面向字节的两线接口;两个可编程的串行usart;可工作于主机/从机模式的spi串行接口;具有独立片内振荡器的可编程看门狗定时器;片内模拟比较器;(2)特殊的处理器特点:上电复位以及可编程的掉电检测;片内经过标定的rc振荡器;片内/片外中断源;(3)6种睡眠模式: 空闲模式、adc噪声抑制模式、省电模式、掉电模式、standby模式以及扩展的standby模式。(4)i/o和封装32个可编程的i/o口40引脚pdip封装, 44引脚tqfp封装, 与44引脚mlf封装(5)工作电压:atmega16l:2.7 - 5.5vatmega16:4.5 - 5.5v(6)速度等级:8mhz atmega16l;0-16mhz atmega16;atmega16l在1mhz, 3v, 25c时的功耗;正常模式:1.1ma;空闲模式:0.35ma;掉电模式: 1a。3.1.2 atmega16 引脚功能图3-1 atmega16引脚图vcc:电源正gnd:电源地端口a(pa7.pa0) :端口a做为a/d转换器的模拟输入端。端口a为8 位双向i/o口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口a处于高阻状态。端口b(pb7.pb0) :端口b为8位双向i/o口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口b 处于高阻状态。端口b 也可以用做其他不同的特殊功能。端口c(pc7.pc0) :端口c为8 位双向i/o口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口c处于高阻状态。如果jtag接口使能,即使复位出现引脚pc5(tdi)、pc3(tms)与pc2(tck)的上拉电阻被激活。端口c也可以用做其他不同的特殊功能。端口d(pd7.pd0): 端口d为8位双向i/o 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口d处于高阻状态。端口d也可以用做其他不同的特殊功能。reset 复位输入引脚:持续时间超过最小门限时间的低电平将引起系统复位。持续时间小于门限间的脉冲不能保证可靠复位。xtal1:反向振荡放大器与片内时钟操作电路的输入端。xtal2:反向振荡放大器的输出端。avcc:avcc是端口a与a/d转换器的电源。不使用adc时,该引脚应直接与vcc连接。使用adc时应通过一个低通滤波器与vcc连接。aref :a/d的模拟基准输入引脚18。3.1.3 atmega16内核介绍为了获得最高的性能以及并行性, avr采用了harvard 结构,具有独立的数据和程序总线。程序存储器里的指令通过一级流水线运行。cpu在执行一条指令的同时读取下一条指令( 在本文称为预取)。这个概念实现了指令的单时钟周期运行。程序存储器是可以在线编程的flash。 快速访问寄存器文件包括32个8位通用工作寄存器,访问时间为一个时钟周期。从而实现了单时钟周期的alu操作。在典型的alu操作中,两个位于寄存器文件中的操作数同时被访问,然后执行运算,结果再被送回到寄存器文件。整个过程仅需一个时钟周期。寄存器文件里有6个寄存器可以用作3个16位的间接寻址寄存器指针以寻址数据空间,实现高效的地址运算。其中一个指针还可以作为程序存储器查询表的地址指针。这些附加的功能寄存器即为16位的x、y、z寄存器。alu支持寄存器之间以及寄存器和常数之间的算术和逻辑运算。alu也可以执行单寄存器操作。运算完成之后状态寄存器的内容得到更新以反映操作结果。程序流程通过有/ 无条件的跳转指令和调用指令来控制,从而直接寻址整个地址空间。大多数指令长度为16位,亦即每个程序存储器地址都包含一条16位或32位的指令。程序存储器空间分为两个区:引导程序区(boot 区)和应用程序区。这两个区都有专门的锁定位以实现读和读/写保护。用于写应用程序区的spm指令必须位于引导程序区。在中断和调用子程序时返回地址的程序计数器(pc)保存于堆栈之中。堆栈位于通用数据sram,因此其深度仅受限于sram的大小。在复位例程里用户首先要初始化堆栈指sp。这个指针位于i/o空间,可以进行读写访问。数据sram可以通过5种不同的寻址模式进行访问。avr存储器空间为线性的平面结构。avr有一个灵活的中断模块。控制寄存器位于i/o空间。状态寄存器里有全局中断使能位。每个中断在中断向量表里都有独立的中断向量。各个中断的优先级与其在中断向量表的位置有关,中断向量地址越低,优先级越高。i/o存储器空间包含64个可以直接寻址的地址,作为cpu外设的控制寄存器、spi,以及其他i/o功能。映射到数据空间即为寄存器文件之后的地址0x20 - 0x5f。3.2 电源管理与睡眠模式睡眠模式可以使应用程序关闭mcu中没有使用的模块,从而降低功耗。avr 具有不同的睡眠模式,允许用户根据自己的应用要求实施剪裁。进入睡眠模式的条件是置位寄存器mcucr的se,然后执行sleep 指令。具体哪一种模式( 空闲模式、adc 噪声抑制模式、掉电模式、省电模式、standby 模式和扩展standby模式) 由mcucr 的sm2、sm1 和sm0 决定,如表3-1 所示。使能的中断可以将进入睡眠模式的mcu唤醒。经过启动时间,外加4个时钟周期后, mcu就可以运行中断例程了。然后返回到sleep的下一条指令。唤醒时不会改变寄存器文件和sram的内容。如果在睡眠过程中发生了复位,则mcu 唤醒后从中断向量开始执行。mcu控制寄存器包含了电源管理的控制位。表3-1 电源管理控制位bits 7, 5, 4 sm2-0:休眠模式选择位2、1和0。bit 6 se:休眠使能。表3-2 休眠模式选择 sm2sm1sm0休眠模式000空闲模式001adc 噪声抑制模式010掉电模式011省电模式100保留101保留110standby(1) 模式111扩展standby(1) 模式3.3 系统控制和复位3.3.1 复位avr复位时所有的i/o 寄存器都被设置为初始值,程序从复位向量处开始执行。复位向量处的指令必须是绝对跳转jmp 指令,以使程序跳转到复位处理例程。如果程序永远不利用中断功能,中断向量可以由一般的程序代码所覆盖。这个处理方法同样适用于当复位向量位于应用程序区,中断向量位于boot 区或者反过来 的时候。figure 15 为复位逻辑的电路图。table15则定义了复位电路的电气参数。复位源有效时i/o 端口立即复位为初始值。此时不要求任何时钟处于正常运行状态。所有的复位信号消失之后,芯片内部的一个延迟计数器被激活,将内部复位的时间延长。这种处理方式使得在mcu 正常工作之前有一定的时间让电源达到稳定的电平。延迟计数器的溢出时间通过熔丝位sut与cksel设定。atmega16芯片有如下几种通过flash熔丝位进行选择的时钟源。时钟输入到avr时钟发生器,再分配到相应的模块。延迟时间的选择请见表3-3。 表3-3 时钟源选择器件时钟选项cksel3.0外部晶体/陶瓷振荡器1111 - 1010外部低频晶振1000 - 0101外部rc 振荡器1000 - 0101标定的内部rc 振荡器0100 - 0001外部时钟0000当cpu自掉电模式或省电模式唤醒之后,被选择的时钟源用来为启动过程定时,保证振荡器在开始执行指令之前进入稳定状态。当cpu从复位开始工作时,还有额外的延迟时间以保证在mcu开始正常工作之前电源达到稳定电平。这个启动时间的定时由看门狗振荡器完成。看门狗溢出时间所对应的wdt振荡器周期数列于表3-4。看门狗振荡器的频率由工作电压决定19。表3-4 看门狗振荡器周期数典型的溢出时间 (vcc = 5.0v)典型的溢出时间(vcc = 3.0v)时钟周期数4.1 ms 4.3 ms4k (4,096)65 ms 69 ms64k (65,536)3.3.2 晶体振荡器xtal1与xtal2分别为用作片内振荡器的反向放大器的输入和输出,如图3-2所示,这个振荡器可以使用石英晶体,也可以使用陶瓷谐振器。熔丝位ckopt 用来选择这两种放大器模式的其中之一。当ckopt被编程时振荡器在输出引脚产生满幅度的振荡。这种模式适合于噪声环境,以及需要通过xtal2驱动第二个时钟缓冲器的情况。而且这种模式的频率范围比较宽。当保持ckopt为未编程状态时,振荡器的输出信号幅度比较小。其优点是大大降低了功耗,但是频率范围比较窄,而且不能驱动其他时钟缓冲器。对于谐振器,ckopt未编程时的最大频率为8 mhz,ckopt编程时为16 mhz。c1和c2的数值要一样,不管使用的是晶体还是谐振器。最佳的数值与使用的晶体或谐振器有关,还与杂散电容和环境的电磁噪声有关。图3-2 晶体振荡器连接图3.3.3 复位源atmega16有5个复位源: 上电复位。电源电压低于上电复位门限 vpot时,mcu复位。 外部复位。引脚reset上的低电平持续时间大于最小脉冲宽度时mcu复位。 看门狗复位。看门狗使能并且看门狗定时器溢出时复位发生。 掉电检测复位。掉电检测复位功能使能,且电源电压低于掉电检测复位门限 vbot时mcu即复位。 jtag avr复位。复位寄存器为1时mcu复位20。3.4 ad转换器atmega16有一个10位的逐次逼近型adc。adc与一个8通道的模拟多路复用器连接,能对来自端口a的8路单端输入电压进行采样。单端电压输入以0v(gnd)为基准。器件还支持16路差分电压输入组合。两路差分输入(adc1、adc0 与adc3、adc2)有可编程增益级,在a/d转换前给差分输入电压提供0db(1x)、20db(10x) 或46db(200x)的放大级。七路差分模拟输入通道共享一个通用负端(adc1),而其他任何adc 输入可做为正输入端。如果使用1x或10x增益,可得到8位分辨率。如果使用200x 增益,可得到7位分辨率。adc包括一个采样保持电路,以确保在转换过程中输入到adc的电压保持恒定。adc由avcc 引脚单独提供电源。avcc 与vcc 之间的偏差不能超过 0.3v。标称值为2.56v 的基准电压,以及avcc,都位于器件之内。基准电压可以通过在aref引脚上加一个电容进行解耦,以更好地抑制噪声。adc 通过逐次逼近的方法

温馨提示

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

最新文档

评论

0/150

提交评论