热敏电阻电子体温计的研制_第1页
热敏电阻电子体温计的研制_第2页
热敏电阻电子体温计的研制_第3页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

1、目录1 绪论 11.1 体温计的发展与现状 11.2 新型智能电子体温计的结构及其特点 21.3 总体方案设计 22 测温电路的设计 42.1 温度传感器的介绍 42.2 热敏电阻温度测量计算 1.12.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 软件设计和仿真

2、软件 335.2 源程序356 结论 45参考文献 47致 谢 481 绪论单片机智能化仪表是测量仪表的发展趋势。它给日常生活带来多方面的进步,其中数字温度计就是一个典型的 例子,医院、家庭等随处可见,为了能更加满足人们的需要,数字体温计正在更新换代。温度测量在物理实验、医疗卫生、食品生产等领域有着特别重要的意义。现在所使用的温度计还有很多是分辨 力为10.1 c的水银、煤油或酒精温度计。这些温度计的刻度间隔通常都很密,不容易准确分辨,读数困难,而且他 们的热容量比较大,达到热平衡所需的时间较长,因此很难读准,使用非常不方便。本设计所介绍的数字体温计, 与传统的温度计相比,具有读数方便,测温范

3、围广,测温准确等优点,其输出温度采用数字显示,主要用于对测温 比较准确的场所,或科研实验室使用。温度计的发展很快,从原始的玻璃管温度计发展到了现在的热电阻温度计、热电偶温度计、半导体集成数字温 度计等。在电子式温度计中,传感器是它的重要组成部分,温度计的精度、灵敏度基本决定了温度计的精度、测量 范围、控制范围和用途等。温度传感器应用极其广泛,目前已经研制出多种新型温度传感器,从而构成性能优良的 温度监控系统。1.1 体温计的发展与现状体温测量的历史,可以追溯到16世纪。当时Saatoric用空气热膨胀的原理,制出了第一支测量口腔温度的体温计。本世纪初,开始用水银来制作体温计,至今在临床上得到了

4、广泛的应用。根据1928年 Ebstein的报告,当时除测量口腔及腋下的温度外,还可以测量直肠、颈部、大腿根部,外耳及尿温。这些都是用被测皮肤温度与玻璃球内积存的水 银温度相等的原理实现的。由于水银体温计使用方便、精度高,因而应用很广。再加上测温方法及其结构都已成熟,没多大改进余地,人 们对它的研究失去了信心,至今几乎没有什么进展。由于用水银体温计进行体温监测很不方便,水银的污染的可能 也很严重等,为了正确测量人体局部温度,促使人们开发了各种不同的测温仪器和测温方法。虽然水银体温计仍不 愧是一个精度高、便宜、使用方便的测温仪器。现在已有许多医院采用了电子体温计,用其它电子仪器测量体温也 日益普

5、及。这一事实至少表明,电子测温仪器的性能已接近水银温度计的性能。因此,鉴于传统的水银体温计汞的 污染及其携带不方便易破碎,尤其是测量时间过长等缺点,本课题为解决此问题设计岀一种数字式电子体温计。它 在稳定性及响应时间上比传统的水银体温计有着显著的优势,精度要求也能和传统的水银体温计相媲美。1.2新型智能电子体温计的结构及其特点 结构温度传感器,这个是关键部件;放大电路;单片机及数模转换器A/D ;数字显示部分(LCD显示屏组件);电源部分。NTC具有价格低廉、阻值随温度变化显著的特点,而广泛用于温度测量。通常采用一只精密电阻与NTC串联,NTC阻值的变化转变为电压变化直接进入比较电路或单片机的

6、 A/D的输入接口,不必经过放大处理,电路构成极为 简单。运用NTC时除了选择合适的 R值和B值之外,还应当考虑到测量速度和精度 1。选择合适的B: B值直接反映NTC测量温度的响应速度,但不是越小越好,确定B值需要比较与权衡。因为 B值与它的封装尺寸有关,NTC的封装尺寸小,则B值小,机械强度低;封装尺寸大,则B值大,机械强度高。确定电流范围:可根据厂家提供的非自热最大功率或利用耗散系数来确定工作电流的范围。1.2.2 特点新型电子体温计利用电子感温,灵敏度高,也适合无法长时间安静的儿童,且能在较短的时间内准确测试出体 温,探热时间可快至1min。它的测量精度可达土0.1 'C,液晶

7、屏直接显示体温数值。1.3总体方案设计(1) 根据温度范围和精度选择 NTC热敏电阻,确定其型号,根据电阻特性设计采集放大电路,利用运算放大器将温度信号转换为电压信号,设计电路时,因为单片机采集电压在02.5V,所以输入的测量范围为 3542C,对应输出02.5V。(2) 采集完成以后输入单片机 ATmega16的A/D 口,对模拟量进行采样,转化为数字信号,单片机对采集的信号进行处理,根据采集的信号与温度的数学关系,将电信号转化为温度值叫(3) 用液晶屏显示出温度值。(4)所需的电源功率足够小,能够利用开关电源供电。电子体温计系统大多主要使用3V直流电源。总体方案系统设计框图如图1-1和图1

8、-2所示。图1-1电子体温计的设计方案系统框图图1-2作者搭建的电子体温计的电路2测温电路的设计2.1温度传感器的介绍为了尽量多学习到更多的知识,本课题同时采用了两种温度传感器:LM35以及NTC热敏电阻,设计了两个不同的电路。用同一块单片机分别测量它们的输出,用两套程序来进行计算,用同一个液晶屏分时显示这两个不同的 传感器测量到的温度。因为1602LCD显示屏可以显示两行,一行显示的是体温,一行显示的是室温。还可以设计出不同的组合。在实 际应用中,当然不会同时采用两种传感器。LM35是National Semiconductor公司生产的集成温度传感器,其输出电压与摄氏温标呈线性关系,转换公

9、式如式2-1所示,0时输出为0V,每升高1C,输出电压增加10mVoLM35有多种不同封装型式,外观如图所示。在常温下,LM35不需要额外的校准处理即可达到 土 1/4 C的准确率。其电源供应模式有单电源与正负双电源两种,其接脚如图所示,正负双电源的供电模式可提供负温度的量测;两种接法的静止电流-温度关系如图 所示,在静止温度中自热效应低(0.08C),单电源模式在 25C下静止电流约 50卩A,工作电压较宽,可在420V的供电电压范围内正常工作非常 省电3oUout_LM35(T)= 10mV/ C X T(2-1)LM35系列是精密集成电路温度传感器,它的输出电压与摄氏温度成线性比例。LM

10、35无需外部标准或微调来提供(20± 0.25)C的常用的室温精度,在-55+150C温度范围内的误差为土 0.75C,我们把利用LM35做成的温度传 感器放在带有冰水的烧杯里加热,一直到水烧开,实验采用摄氏温度直接校准方式,由于受当地大气压的影响,所 得的数据结果如表1所示。表2-1温度传感器实验数据t(C)V(mV)t( C )V(mV)t(C )V(mV)87020208323339932121833343101002222734352111102324135360121212425736372131292526537382141342627638391151442729039

11、401161522830040411171652930641423181803031542432191943132443442从实验结果可以看出,LM35温度传感器具有较好的线性的温度特性,特别是在30C以上范围内,其电压-温度基本上呈线性特性,因为人体的体温范围在3543C内,这就为制作数字温度计提供了理论和实验基础。图2-1 LM35的温度特性曲线图2-2 TO-92封装引脚图 图2-3 SO-8 IC式封装引脚图Phnlic 首roiMeial Car Package*BDtrro viewyH;图2-4 TO-46金属罐形封装引脚图图2-5TO-220塑料封装引脚图图 2-6单电源模式

12、图2-7正负双电源模式表2-2封装形式与型号关系封装型号TO-46金属罐形封装引脚图LM35H,LM35AH,LM35CH,LM35CAH,LM35DHTO-220塑料封装引脚图LM35DTTO-92封装引脚图LM35CZ,LM35CAZ LM35DZSO-8 IC式封装引脚图LM35DM热敏电阻的类型及特性热敏电阻是利用半导体的阻值随温度变化这一热性而制成的,分为NTC (负温度系数)热敏电阻、PTC(正温度系数)热敏电阻两大类。PTC热敏电阻电阻值随温度的升高而增大,NTC热敏电阻电阻值随温度的升高而降低问。正温度系数热敏电阻其电阻值随着PTC热敏电阻本体温度的升高呈现岀阶跃性的增加,温度

13、越高,电阻值越大。负温度系数热敏电阻其电阻值随着NTC热敏电阻本体温度的升高呈现岀阶跃性的减小,温度越高,电阻值越小。NTC是Negative Temperature Coefficient的缩写,意思是负的温度系数,泛指负温度系数很大的半导体材料或元器件。通常我们提到的 NTC是指负温度系数热敏电阻,简称NTC热敏电阻。NTC热敏电阻是一种典型具有温度敏感性的半导体电阻,它的电阻值随着温度的升高呈阶跃性的减小。NTC热敏电阻是以锰、钻、镍和铜等金属氧化物为主要材料,采用陶瓷工艺制造而成的。这些金属氧化物材料都具有半导体性质,因为在导电方式上完全类似锗、硅等半导体材料。温度低时,这些氧化物材料

14、的载流子(电子 和孔穴)数目少,所以其电阻值较高;随着温度的升高,载流子数目增加,所以电阻值降低冋。NTC热敏电阻根据其用途的不同分为:功率型 NTC热敏电阻、补偿型 NTC热敏电阻、测温型 NTC热敏电阻。PTC是Positive Temperature Coefficient的缩写,意思是正的温度系数,泛指正温度系数很大的半导体材料或元器件。通常我们提到的 PTC是指正温度系数热敏电阻,简称PTC热敏电阻。PTC热敏电阻是一种典型具有温度敏感性的半导体电阻,超过一定的温度(居里温度)时,它的电阻值随着温度的升高呈阶跃性的增高。PTC热敏电阻根据其材质的不同分为:陶瓷PTC热敏电阻、有机高分

15、子 PTC热敏电阻。PTC热敏电阻根据其用途的不同分为:自动消磁用PTC热敏电阻、延时启动用PTC热敏电阻、恒温加热用PTC热敏电阻、过载保护用 PTC热敏电阻、过热保护用 PTC热敏电阻。NTC热敏电阻的测温范围:低温型号为-100 0 °C,中温型号为-50+300 C,高温型号为+200+800 C,主要材料为Mn、Ni、Co、Fe、Cu、Al等,用于温度测量、温度补偿和电流限制等。PTC热敏电阻的测温范围为-50+150C主要材料有BaTiO3等,用于温度开关、恒温控制和防止冲击电流等。 热敏电阻有如下优点:对于温度的变化,其阻值变化较大,即输岀灵敏度高;便于大批量生产,因而

16、价格便宜; 体积小而且坚固;由于灵敏度高,因而信号处理非常方便。缺点是非线性、测温范围窄、互换性差等。图2-8热敏电阻器的电阻一温度特性曲线热敏电阻的电阻值与温度的关系为RT=Roe-B(1/To"1/T)(2-2)其中Rt NTC在热力学温度为T时的电阻值Ro NTC在热力学温度为 To时的电阻值,多数厂商将 To设定在298.15K ( 25C)B热敏电阻的常数,它代表热敏电阻的灵敏度(对温度的敏感程度),与热敏电阻的制造材料有关。热敏电阻RO与常数B的关系如表所示问。Amax1OO%(2-3)表2-3热敏电阻RO与常数B的关系使用温度范围C)标准电阻值 RO标称常数B-5O1O

17、O6 ( TO=O C)3390O15O3O(O C)34505O2OO3(100 C)38941OO25O0.55(200 C)430015O3OO4(200 C)51332OO35O8(200 C)5559计算端基线性度误差:ymaxy min式中Lmax最大非线性偏差;ymax - ymin输出范围。图2-9传感器线性度示意图图2-10输岀信号与被测量之间的非线性关系a端基线性度这图要改为你自己的真实的曲线i-类似于指数型非线性特性1端其拟合直线y = a+K x 2 实际特性曲线2-类似于对数型非线性特性3-线性化后的特性线性化处理多数传感器的输岀信号与被测量之间的关系并非线性误差丫,

18、如图2-10中的曲线1和曲线2。在非线性情况下,将严重影响测量准确度。因此必须先将实际曲线1或曲线2进行线性化处理,得到曲线3。线性化处理的方法:线性化处理可以由硬件实现,但线性化电路往往较复杂,也会增加检测系统的成本。在计算机系统处理能力允许的条件下,可以用软件实现线性化处理。设传感器的静态输入/输岀的特性为y=f(x),是非线性的,则可以通过查表法、线性插值法,以及二次抛物线折线法等几种线性化方法,得到线性的结果:y=Kx。查表法虽然简单,但需逐点测量输入-输岀对应数据;采用线性插值法时,划分的段数越多,得到的结果就越精确,但计算所需时间就越长,即仪器稳定时间就越长;二次抛物线折线法的计算

19、就更加复杂。本设计采用对数计算的方法。利用T=3950/(log(R t/R。)+3950/298.15)-273.15公式来计算温度与热敏电阻的关系。2.1.3 NTC热敏电阻用于温度测量和控制简介热敏电阻具有尺寸小、响应速度快、灵敏度高等优点,因此它在许多领域得到广泛应用。热敏电阻在工业上的用途很广,根据产品型号不同,其适用范围也各不相同,具有以下方面同:(1)热敏电阻测温 作为测量温度的热敏电阻一般结构较简单,价格较低廉。没有外面保护层的热敏电阻只能 应用在干燥的地方;密封的热敏电阻不怕湿气的侵蚀,可以使用在较恶劣的环境下。由于热敏电阻的阻值较大,故 其连接导线的电阻和接触电阻可以忽略,

20、在热敏电阻测量粮仓温度中,其引线可长达近千米。热敏电阻的测量电路 多采用桥路,热敏电阻体温表原理图如图2-11所示。图2-11模拟指针式电子体温计电路调试电桥电路时,必须先调零,再调满度,最后再验证刻度盘中其他各点的误差是否在允许的范围内,上述过程称为标定。具体做法如下:将绝缘的热敏电阻放入32C(表头的零位)的温水中,待热量平衡后,调节RP1,使指针指在32C上,再加入热水,用更高一级的数字式温度计监测水温,使其上升到45C。待热量平衡后,调节 RP2,使指针指在45C上。再加入冷水,逐渐降温,检查32 C 45 'C范围内刻度的准确性。如果不正确:可重新刻度;在带微机的情况下,可用

21、软件修正。虽然目前热敏电阻温度计均已数字化,但上述的“调试”、“标定”的概念是作为检测技术人员必须掌握的最基本技术,必须在实践环节反复训练类似的调试基本功。(2 )热敏电阻用于温度补偿热敏电阻可在一定的温度范围内对某些元件进行温度补偿。例如,动圈式表头中的动圈由铜线绕制作而成。温度升高,电阻增大,弓|起测量误差。可以在动圈回路中串入由负温度系数热敏电阻组 成的电阻网络,从而抵消由于温度变化所产生的误差。在三极管电路、对数放大器中,也常用热敏电阻组成补偿电路,补偿由于温度引起的漂移误差。( 3)热敏电阻用于温度控制及过热保护在电动机的定子绕组中嵌入突变型热敏电阻并与继电器串联。当电动机过载时钉子

22、电流增大,引起发热。当温度大于突变点时,电路中的电流可以由十分之几毫安突变为几十毫安,因 此继电器动作,从而实现过热保护。热敏电阻在家用电器中用途也十分广泛,如空调与干燥器、电热水器、电烘箱温度控制等都用到热敏电阻。(4)热敏电阻用于液面的测量给 NTC热敏电阻施加一定的加热电流,它的表面温度将高于周围的空气温度, 此时它的阻值较小。当液面高于它的安装高度时,液体将带走它的热量,使之温度下降、阻值升高。判断它的组织 变化,就可以知道液面是否低于设定值。汽车油箱中的油位报警传感器就是利用以上原理制作的。热敏电阻在汽车 中还用于测量油温、冷却水温等。利用类似的原理,热敏电阻还可用于气体流量的测量1

23、0。热敏电阻的优点是可测量到小范围内的温度,变化率较大,固有电阻大,无需延长导线时的误差补偿;其缺点 是变化率非线性,不适合测量高温区。22热敏电阻温度测量计算LM285/LM385系列微功率带隙稳压器二极管。设计工作低于 10小到20小的宽电流范围。这些器件特征有非常 低的动态阻抗、低噪声以及随时间和温度稳定工作。通过片内微调可以实现严格的电压误差11。根据公式 Rt= Ro *EXP(B*(1/To-1/Ti)对上面的公式解释如下:Rt NTC在热力学温度为T时的电阻值Ro NTC在热力学温度为 To时的电阻值,多数厂商将To设定在298K (25C)B热敏电阻的常数,它代表热敏电阻的灵敏

24、度(对温度的敏感程度),与热敏电阻的制造材料有关。exp是e的n次方。例如作者手头有一个 MF58502F395型号的热敏电阻,参数如下述。MF58型号玻璃封装502 常温25度的标称阻值为5KF允许偏差为土1%395 B值为3950K的NTC热敏电阻则Rt=5000*EXP(3950*(1/T o-1/(273+25),这时候代入To温度就可以求出相应温度下热敏电阻的阻值,注意温度单位的转换,例如我们要求零上10摄氏度的阻值,那么 To就为(273+10) 12。表2-4热敏电阻与温度的计算关系电压(V)阻值(kQ)温度C )2.511.7434423.437511022.610.88461

25、53824.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

26、.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.397797

27、695.20.44230769258.947722165.30.24528301966.254451235.40.05555555686.16654643V£一1'-1sJLID:1LJIL.辙 r +21GW21 可V A. 42.3放大电路部分LM324系列运算放大器是价格便宜的带差动输入功能的四运算放大器。可工作在单电源下,电压范围是3.0V32V或最大土 16V13。与单电源应用场合的标准运算放大器相比,它们有一些显著优点。该四运算放大器可以工作在低到3.0伏或者高到 32伏的电源下,静态电流为 MC1741的静态电流的五分之一。共模输入范围包括负电源,因而消除了在许

28、多应用场合中采用外部偏置元件的必要性。LM324 的特点14:(1)短路保护输出;真差动输入级;可单电源工作:3V32V ;低偏置电流:最大 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=5

29、V)经过10kQ,电阻流通。即这一电路的 偏置电流 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管来说,三个电极的电位关系是:Ucv Ub < Ue。对于三极管,它由基极、集电极

30、和发射极组成。其中三者关系可以用一下公式来表示:I E= I c+ I B(2-5)当Ib=0 (将基极开路)时,Ie= Ic此时电流由集电区穿过基区流入发射区12。上图中Ie= (1.2-0.7 /4.3K=0.1mA( 2-6)所以,Ie= Ic=0.1 mA,而热敏电阻两端的电压 Urt=10K x0.1mA=1V,然后再将热敏电阻两端的电压输送到单片 机的AD转换器的C1 口。piD|3zqtnu)F>1|Tl| FisiurrAW;呦)PiqgTl puirosc p«b|iMX:aFrqsjk)WF?tcL2C21氐-2d16、rTpt1jdIBIPHAUITALJ

31、FDO:m>iFD炯U glHlD、M丄心皿切P圈朴口: W桑仙 l'AI(AiiC4;iF阿AD眄AJO1GHPA'MCI:PCHTnSCSi 中口匸“ ?C5<1EJKfflcm vrapinirp Pg莊 rcys&ju FDOpCLJ ?Mroca>-Im二£ 口呂悟呂 C O 7 C O 7 C ? C P£hEn匸九M-I亶FIMi!CCL»PD耳口"町詞J图2-16总电路原理图上图为本设计电子体温计的总原理图,以单片机为核心,温度传感器和1602LCD液晶显示屏为辅件,完成整个电路图的搭建。3 AT

32、mega16单片机3.1 ATmega16单片机硬件介绍ATmega16是基于增强的 AVR RISC结构的低功耗 8位CMOS微控制器。由于其先进的指令集以及单时 钟周期指令执行时间,ATmega16的数据吞吐率高达 1 MIPS/MHz ,从而可以缓减系统在功耗和处理速度之间的矛盾15。ATmega16 AVR 内核具有丰富的指令集和32个通用工作寄存器。所有的寄存器都直接与算逻单元(ALU)相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率, 并且具有比普通的CISC微控制器最高至10倍的数据吞吐率。ATmega16有如下特点:16K字节的系统内

33、可编程Flash(具有同时读写的能力,即RWW),512字节 EEPROM,1K字节SRAM,32个通用I/O 口线,32个通用工作寄存器,用于边界扫描的JTAG接口,支持片内调试与编程,三个具有比较模式的灵活的定时器/计数器(T/C),片内/外中断,可编程串USART,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益仃QFP封装)的ADC ,具有片内振荡器的可编程看门狗定时器,一个SPI串行端口,以及六个可以通过软件进行选择的省电模式。工作于空闲模式时CPU停止工作,而 USART、两线接口、A/D 转换器、SRAM、T/C、SPI端口以及中断系统继续工作;掉电模式时晶

34、体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态;ADC噪声抑制模式时终止CPU和除了异步定时器与ADC以外所有I/O 模块的工作,以降低ADC转换时的开关噪声;Standby模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电 流,同时具有快速启动能力;扩展Standby模式下则允许振荡器和异步定时器继续工作。本芯片是以 Atmel 高密度非易失性存储器技术生产的。 片内 ISP Flash 允许程序存储器通过 ISP 串行接 口,或者通用编程器进行编程,也可以通过运

35、行于 AVR 内核之中的引导程序进行编程。引导程序可以使用 任意接口将应用程序下载到应用 Flash 存储区 (ApplicationFlash Memory) 。在更新应用 Flash 存储区时引导 Flash区(Boot Flash Memory)的程序继续运行,实现了 RWW操作。通过将 8位RISC CPU与系统内可编程 的 Flash 集成在一个芯片内, ATmega16 成为一个功能强大的单片机, 为许多嵌入式控制应用提供了灵活而 低成本的解决方案。 ATmega16 具有一整套的编程与系统开发工具,包括:C 语言编译器、宏汇编、 程序调试器 / 软件仿真器、仿真器及评估板16。3

36、.1.1 ATmega16 产品特性高性能、低功耗的 8 位 AVR 微处理器;先进的 RISC 结构;131 条指令; 大多数指令执行时间为单个时钟周期;32 个 8 位通用工作寄存器; 全静态工作;工作于 16MHz 时性能高达 16MIPS;只需两个时钟周期的硬件乘法器; 非易失性程序和数据存储器;16K字节的系统内可编程Flash,擦写寿命:10,000次;具有独立锁定位的可选 Boot 代码区,通过片上 Boot 程序实现系统内编程,真正的同时读写操作; 512 字节的 EEPROM ,擦写寿命 : 100, 000次;1K 字节的片内 SRAM; 可以对锁定位进行编程以实现用户程序

37、的加密;JTAG 接口 (与 IEEE 1149.1 标准兼容 ); 符合 JTAG 标准的边界扫描功能; 支持扩展的片内调试功能;通过 JTAG 接口实现对 Flash、 EEPROM 、熔丝位和锁定位的编程 17。(1)外设特点: 两个具有独立预分频器和比较器功能的8 位定时器 / 计数器;一个具有预分频器、比较功能和捕捉功能的16位定时器 /计数器;具有独立振荡器的实时计数器 RTC;四通道 PWM ;8路10位ADC,8个单端通道,2个具有可编程增益(1x, 10x, 或200x)的差分通道;面向字节的两线接口;两个可编程的串行 USART;可工作于主机 / 从机模式的 SPI 串行接

38、口; 具有独立片内振荡器的可编程看门狗定时器; 片内模拟比较器;( 2)特殊的处理器特点: 上电复位以及可编程的掉电检测 ; 片内经过标定的 RC 振荡器 ; 片内 / 片外中断源 ;( 3) 6 种睡眠模式 :空闲模式、 ADC 噪声抑制模式、省电模式、掉电模式、Standby 模式以及扩展的 Standby 模式(4) I/O和封装32个可编程的I/O 口40弓I脚PDIP封装, 44弓I脚TQFP封装, 与44引脚 MLF封装(5) 工作电压:ATmega16L : 2.7 - 5.5VATmega16 : 4.5 - 5.5V(6) 速度等级:8MHz ATmega16L ;0-16M

39、Hz ATmega16 ;ATmega16L 在 1MHz, 3V,25 °C 时的功耗;正常模式:1.1Ma ;空闲模式:0.35mA ;掉电模式: 1卩A。3.1.2 ATmega16 引脚功能XCKTO;. PG2 匚140 RAD ADCOJ(T1) PB1 匚239 RAI (ADC1)1 irrrzrAmo)P62 匚338 RA2 (ADC2JCCC' AINI c43? R*3 (A0C3)(SB) PB4 匚536n PA4伙DC町WOSI) FB5 匚635 PA5 :(MISO) PM 匚734n PA6iSCKJ F07 匚833 RA7 (AX7RE

40、SET 匚032帕EFVCC匸1031 QUO&ND匚1130 AVCCXTAL2 匚IE2 PC7 110502)XTALll 匚1328n pee itoscd(RXD'i PM 匚U27=PCS 冋iTXDl PD11 匚1526n PC 4 P3IMTfl:i PD 匚isis PC3 iTMiiINTIj PD3 匚1734 PC2 TCK)rot 匚IB23 PCI 住DA*;OClAi FDB 1922 PCQ SQL(1CP1 PD« 匚2Q21 P07 2切图3-1 ATmega16引脚图VCC :电源正GND :电源地端口 A(PA7.PA0):端

41、口 A做为A/D转换器的模拟输入端。端口A为8位双向I/O 口,具有可编程的内部上拉电阻。其输岀缓冲器具有对称的驱动特性,可以输岀和吸收大电流。作为输入使用时,若内部 上拉电阻使能,端口被外部电路拉低时将输岀电流。在复位过程中,即使系统时钟还未起振,端口A处于高阻状态。端口 B(PB7.PB0):端口 B为8位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称 的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将 输岀电流。在复位过程中,即使系统时钟还未起振,端口B处于高阻状态。端口B也可以用做其他不同的特殊功能。端口 C(PC7.PC0):

42、端口 C为8位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称 的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将 输岀电流。在复位过程中,即使系统时钟还未起振,端口C处于高阻状态。如果 JTAG接口使能,即使复位出现引脚 PC5(TDI)、PC3(TMS)与PC2(TCK)的上拉电阻被激活。端口C也可以用做其他不同的特殊功能 端口 D(PD7.PD0) : 端口 D 为 8 位双向 I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对 称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低 时将

43、输出电流。在复位过程中,即使系统时钟还未起振,端口 D 处于高阻状态。端口 D 也可以用做其他不 同的特殊功能。RESET 复位输入引脚:持续时间超过最小门限时间的低电平将引起系统复位。持续时间小于门限间的 脉冲不能保证可靠复位。XTAL1 :反向振荡放大器与片内时钟操作电路的输入端。XTAL2 :反向振荡放大器的输出端。AVCC :AVCC 是端口 A 与 A/D 转换器的电源。 不使用 ADC 时,该引脚应直接与 VCC 连接。 使用 ADC 时应通过一个低通滤波器与 VCC 连接。AREF : A/D 的模拟基准输入引脚 18。3.1.3 ATmega16 内核介绍为了获得最高的性能以及

44、并行性,AVR 采用了 Harvard 结构,具有独立的数据和程序总线。程序存储器里的指令通过一级流水线运行。 CPU 在执行一条指令的同时读取下一条指令 ( 在本文称为预取 )。这个概 念实现了指令的单时钟周期运行。程序存储器是可以在线编程的FLASH 。快速访问寄存器文件包括 32 个 8 位通用工作寄存器,访问时间为一个时钟周期。从而实现了单时钟周 期的 ALU 操作。在典型的 ALU 操作中,两个位于寄存器文件中的操作数同时被访问,然后执行运算,结 果再被送回到寄存器文件。整个过程仅需一个时钟周期。寄存器文件里有 6个寄存器可以用作 3个 1 6位的间接寻址寄存器指针以寻址数据空间,实

45、现高效的地 址运算。其中一个指针还可以作为程序存储器查询表的地址指针。这些附加的功能寄存器即为 16 位的 X、 Y、 Z 寄存器。ALU 支持寄存器之间以及寄存器和常数之间的算术和逻辑运算。ALU 也可以执行单寄存器操作。运算完成之后状态寄存器的内容得到更新以反映操作结果。程序流程通过有 / 无条件的跳转指令和调用指令来控制,从而直接寻址整个地址空间。大多数指令长 度为 1 6位,亦即每个程序存储器地址都包含一条16位或 32位的指令。程序存储器空间分为两个区:引导程序区 (Boot 区 )和应用程序区。这两个区都有专门的锁定位以实现 读和读 / 写保护。用于写应用程序区的 SPM 指令必须

46、位于引导程序区。在中断和调用子程序时返回地址的程序计数器(PC)保存于堆栈之中。堆栈位于通用数据SRAM,因此其深度仅受限于 SRAM的大小。在复位例程里用户首先要初始化堆栈指SP。这个指针位于 I/O空间,可以进行读写访问。数据 SRAM 可以通过 5 种不同的寻址模式进行访问。AVR 存储器空间为线性的平面结构。AVR 有一个灵活的中断模块。控制寄存器位于I/O 空间。状态寄存器里有全局中断使能位。每个中断在中断向量表里都有独立的中断向量。各个中断的优先级与其在中断向量表的位置有关,中断向量地址越 低,优先级越高。I/O 存储器空间包含 64个可以直接寻址的地址,作为CPU外设的控制寄存器

47、、SPI,以及其他I/O功能。映射到数据空间即为寄存器文件之后的地址0x20 - 0x5F 。3.2 电源管理与睡眠模式睡眠模式可以使应用程序关闭 MCU 中没有使用的模块,从而降低功耗。AVR 具有不同的睡眠模式,允许用户根据自己的应用要求实施剪裁。进入睡眠模式的条件是置位寄存器MCUCR的SE,然后执行SLEEP指令。具体哪一种模式(空闲模式、ADC 噪声抑制模式、掉电模式、省电模式、Standby模式和扩展 Standby模式)由MCUCR 的SM2、SM1和SM0决定,如表 3-1所示。使能的中断可以将进入睡眠模式的MCU唤醒。经过启动时间,外加4个时钟周期后,MCU就可以运行中断例程

48、了。然后返回到SLEEP的下一条指令。唤醒时不会改变寄存器文件和SRAM的内容。如果在睡眠过程中发生了复位,则MCU唤醒后从中断向量开始执行。MCU控制寄存器包含了电源管理的控制位。表3-1电源管理控制位Bit61oSM2SE| SM1SM0ISC11SC10|ISC01|ISC00读/写R/WR/WR/WR/WR/WR/WR/WR/W初始值00000000Bits 7,5,4 -SM2-0 :休眠模式选择位2、 1 和 0。Bit 6 - SE :休眠使能表3-2休眠模式选择SM2SM1SM0休眠模式000空闲模式001ADC噪声抑制模式010掉电模式011省电模式100保留101保留110

49、Standby(1)模式111扩展Standby(1)模式3.3系统控制和复位3.3.1 复位 AVR复位时所有的I/O 寄存器都被设置为初始值,程序从复位向量处开始执行。复位向量处的指令必须是绝对跳转JMP指令,以使程序跳转到复位处理例程。如果程序永远不利用中断功能,中断向量可以由一般的程序代码所覆盖。这个处理方法同样适用于当复位向量位于应用程序区,中断向量位于Boot区一或者反过来 一的时候。Figure 15为复位逻辑的电路图。Table15则定义了复位电路的电气参数。复位源有效时I/O 端口立即复位为初始值。此时不要求任何时钟处于正常运行状态。所有的复位信号消失之后,芯片内部的一个延迟

50、计数器被激活,将内部复位的时间延长。这种处理方式使得在MCU正常工作之前有一定的时间让电源达到稳定的电平。延迟计数器的溢出时间通过熔丝位SUT与CKSEL设定。ATmega16芯片有如下几种通过Flash熔丝位进行选择的时钟源。时钟输入到AVR时钟发生器,再分配到相应的模块。延迟时间的选择请见表3-3。表3-3时钟源选择器件时钟选项CKSEL3.0外部晶体/陶瓷振荡器1111 - 1010外部低频晶振1000 - 0101外部RC振荡器1000 - 0101标定的内部RC振荡器0100 - 0001外部时钟0000当C始执行指令之前进入稳定状态。当CPU从复位开始工作时,还有额外的延迟时间以保

51、证在MCU开始正常工作之前电源达到稳定电平。这个启动时间的定时由看门狗振荡器完成。看门狗溢出时间所对应的WDT振荡器周期数列于表3-4。看门狗振荡器的频率由工作电压决定问。表3-4看门狗振荡器周期数典型的溢出时间(VCC =5.0V)典型的溢岀时间(VCC = 3.0V)时钟周期数4.1 ms4.3 ms4K (4,096)65 ms69 ms64K (65,536)332晶体振荡器XTAL1与XTAL2分别为用作片内振荡器的反向放大器的输入和输出,如图3-2所示,这个振荡器可以使用石英晶体,也可以使用陶瓷谐振器。熔丝位CKOPT用来选择这两种放大器模式的其中之一。当CKOPT被编程时振荡器在输岀引脚产生满幅度的振荡。这种模式适合于噪声环境,以及需要通过

温馨提示

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

评论

0/150

提交评论