硬件课程设计基于C8051F410的热电阻测温仪表的设计.doc

上传人:laozhun 文档编号:2941472 上传时间:2023-03-05 格式:DOC 页数:26 大小:192.50KB
返回 下载 相关 举报
硬件课程设计基于C8051F410的热电阻测温仪表的设计.doc_第1页
第1页 / 共26页
硬件课程设计基于C8051F410的热电阻测温仪表的设计.doc_第2页
第2页 / 共26页
硬件课程设计基于C8051F410的热电阻测温仪表的设计.doc_第3页
第3页 / 共26页
硬件课程设计基于C8051F410的热电阻测温仪表的设计.doc_第4页
第4页 / 共26页
硬件课程设计基于C8051F410的热电阻测温仪表的设计.doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《硬件课程设计基于C8051F410的热电阻测温仪表的设计.doc》由会员分享,可在线阅读,更多相关《硬件课程设计基于C8051F410的热电阻测温仪表的设计.doc(26页珍藏版)》请在三一办公上搜索。

1、信息与控制工程学院硬件课程设计说明书基于C8051F410的热电阻测温仪表的设计学生学号: 08540223 学生姓名: 专业班级: 测控 0802 指导教师: 职 称: 讲 师 起止日期:2011.03.282011.04.15吉林化工学院Jilin Institute of Chemical Technology课程设计任务书一、设计题目:基于C8051F410的热电阻测温仪表的设计二、设计目的:1熟悉Keil uVision开发软件 及Protel电路设计设计软件的使用。2. 掌握C8051F410单片机体系结构及C语言程序设计方法。3掌握热电阻测量的三线制原理及信号调理电路的设计。4.

2、 掌握智能测量系统的校准原理。三、设计任务及要求1学习C8051F410单片机体系结构及程序开发。2设计热电阻测温电路,并应用Protel画出其电路原理图。3完成C8051F410的热电阻测温系统的焊装和硬件调试。4. 编写完整的实验程序,进行整机调试。5. 撰写设计说明书。 四、设计时间及进度安排设计时间共三周,具体安排如下表:周 次设 计 内 容设计时间第一周1. 学习C8051F410单片机体系结构及程序开发;2. 设计热电阻测温电路,并应用Protel画出其电路原理图。2011.3.282011.4.1第二周1. 完成C8051F410的热电阻测温系统的焊装和硬件调试;2. 编写实验程

3、序。2011.4.22011.4.8第三周1. 整机调试;2. 撰写设计说明书;3. 答辩。2011.4.92011.4.15五、考核内容1出勤、学习态度以及纪律情况;2设计完成情况及设计说明书完成质量;3答辩。综合以上考核内容给出硬件课程设计总评成绩。指导教师评语:年 月 日成绩指导教师(签字):目 录摘 要IV第1章 概述1第2章 设计方案的选择及原理框图22.1 设计方案的选择22.1.1 测温元件22.1.2 测量方法32.1.3 接线方法32.1.4 运放元件32.2 设计方案原理框图42.2.1 电源电路42.2.2 信号采集电路42.2.3 单片机42.2.4 显示电路4第3章

4、原理分析53.1 单片机外围电路53.2 信号采集电路53.2.1 恒流源电路53.2.2 信号调理电路63.3 显示电路7第4章 C8051F410单片机94.1 系统概述94.2 基准电压94.3 端口输入/输出及其初始化94.4 12位ADC(ADC0)104.5 定时器10第5章 系统电源125.1 电源电路原理框图125.2 电源电路原理图12第6章 软件方面146.1 编程语言及软件146.1.1 编程语言C语言146.1.2 编程软件146.2 程序流程图156.3 程序调试166.4 数据测试及分析16结 论17参考文献18摘 要温度传感器PT100是一种稳定性和线性度都比较好

5、的铂丝热电阻传感器,它可以工作在-200至650的范围内。本电路的工作范围设定在-95至325。本设计则利用了PT100热电阻的温度特性做一个带有四位LED显示的温度采集系统。其中采用了恒流法制作了一个5V的电流源,然后通过信号采集电路将PT100随温度在电阻值上的变化,送入一个恒定电流从而获得一个改变的电压值,再将电压上的改变透过C8051F410单片机的A/D口来进行模/数转换,送入单片机中,再通过软件进行反推计算得到温度的改变值,同时利用软件剔除了外界干扰及内部电路带来的粗大误差以得到稳定准确的结果,并将计算结果送给LED来显示温度值。关键字:PT100;三线制;恒流法;温度采集;OP0

6、7运算放大器 ;C8051F410单片机第1章 概述 在人类的生活环境中,温度扮演着极其重要的角色。无论在工业、农业、科学研究、国防和人们日常生活的各个方面,温度测量和控制都是极为重要的课题。自18世纪工业革命以来,工业发展对是否能掌握温度有着绝对的联系。在冶金、钢铁、石化、水泥、玻璃、医药等等行业,可以说几乎80%的工业部门都不得不考虑着温度的因素。温度对于工业如此重要,由此推进了温度传感器的发展。传感器主要大体经过了三个发展阶段传统的分立式温度传感器(含敏感元件),到模拟集成温度传感器/控制器,再到智能温度传感器。进入21世纪后,温度传感器正朝着高精度、多功能、总线标准化、高可靠性及安全性

7、、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。目前市场主要存在单点和多点两种温度测量仪表。对于单点温测仪表,主要采用传统的模拟集成温度传感器,其中又以热电阻、热电偶等传感器的测量精度高,测量范围大,而得到了普遍的应用。此种产品测温范围大都在-200800之间,分辨率12位,最小分辨温度在0.0010.01之间。自带LED显示模块,显示4位到16位不等。有的仪表还具有存储功能,可存储几百到几千组数据。该类仪表可很好的满足单个用户单点测量的需要。多点温度测量仪表,相对与单点的测量精度有一定的差距,虽然实现了多路温度的测控,但价格昂贵。温度测量系统在单片机系统设计中应用广泛,

8、根据单片机系统设计要求的不同,温度测量系统的设计也有所不同,有采用集成芯片的,也有采用恒流源器件和恒压源器件的。本设计以PT100热电阻为温度检测元件,完成了一个对单点温度实时检测的单片机温度检测系统。从信号采集,到信号调理,送入单片机做模数转化以及软件上的数据计算从而得到温度值,最后送入LED数码管进行显示,以实现对温度的实时检测,检测范围可达-95至325。第2章 设计方案的选择及原理框图2.1 设计方案的选择方案的选择涉及到了温度传感器的确定,将温度传感器阻值上的改变转换为电信号的方法选择,PT100的三种接线方式,以及信号采集电路中放大器的选择。综合各元件的性能及成本问题,最终确定以P

9、T100温度传感器作为该系统中测温的核心元件,对其用恒流法及三线制的接线方法,同时辅助OP07运算放大器得到信号采集电路,采集信号并且调理过后再送入单片机中。2.1.1 测温元件在各种各样的测量技术中,温度的测量可能是最为常见的一种,因为任何的应用领域,掌握温度的确切数值,了解温度与实际状态之间的差异等,都具有极为重要的意义。工业上常用的温度传感器有四类:即热电偶、热电阻RTD、热敏电阻及集成电路温度传感器;每一类温度传感器有自己独特的温度测量范围,有自己适用的温度环境;没有一种温度传感器可以通用于所有的用途:热电偶的可测温度范围最宽,而热电阻的测量线性度最优,热敏电阻的测量精度最高。(1)热

10、电偶,可测温度范围大,机械强度高,及价格低,成为温度测量的常选,高精度系统要求的线性度及准确度,要实现并不容易同时它是一种高度非线性器件,需作大力线性化算法处置。因此不选择热电偶作为本设计的温度传感器。(2)热敏电阻,灵敏度较高,能检测出10-6的温度变化;工作温度范围宽;体积小,能够测量其他温度计无法测量的空隙、腔体及生物体内血管的温度;使用方便,电阻值可在0.1100k间任意选择;易加工成复杂的形状,可大批量生产;稳定性好、过载能力强。但是阻值与温度的关系非线性严重;元件的一致性差,互换性差;元件易老化,稳定性较差;除特殊高温热敏电阻外,绝大多数热敏电阻仅适合0150范围,使用时必须注意。

11、因此本设计不采用热敏电阻。(3)集成温度传感器,温度变化引起输出量的变化呈良好的线性关系,不像热电偶那样需要参考点,抗干扰能力强,互换性好,使用简单。它在生活生产中具有非常广泛的应用前景,随着技术的不断改进其精度与控制方面也有广泛的应用前景。只是价格方面略有昂贵,本设计并不采用。(4)热电阻,热电阻是中低温区最常用的一种温度检测器。它的主要特点是测量精度高,性能稳定。由于热电阻测温元件的技术在持续不断地改进,温度测量的质量在不断提高,但要真正实现高质量、高精度的温度测量系统,热电阻的器件选择仍然极为重要。热电阻是电阻性的元件,由金属制成,如铂、镍、铜等,所选金属必须具有可以预测的电阻值随温度变

12、化的特性,其物理性能要易于加工制造,电阻温度系数必须足够大,使其电阻随温度的改变易于准确测量。其他的温度检测器件,如热电偶,并不能让设计人员有一种相当线性的电阻随温度变化特性,而热电阻这种线性度极好的电阻温度特性,大大简化了信号处理电路的设计制作。其中又以铂电阻在三种金属中具有最为精确、可靠的温度电阻特性。因此,铂电阻最适于需要最高的绝对精度及重复性使用场合,它对环境的敏感度极低,与此相比,铜电阻则易产生腐蚀,长期稳定性差,而镍电阻虽然环境宽容度好,但适用温度范围较窄。铂电阻的对温度响应的线性度好,化学惰性,容易加工制作直径较细的线材或是厚度小的箔材,铂的电阻率高于其他的热电阻材料,在电阻值相

13、同的情况要求用材少,适于对成本考虑较强,对热响应讲究的场合。铂热电阻的测量精确度是最高的,它不仅广泛应用于工业测温,而且被制成标准的基准仪。因此本设计选用了常见的PT100作为测温元件。2.1.2 测量方法(1)恒压法采用一个恒定的电压源,将其加在PT100热电阻之上,温度的变化导致电流的变化,通过测量电流变化值并且根据一定的对应关系可以计算出所测温度。(2)恒流法采用恒定的电流加于PT100热电阻之上,当温度引起阻值变化时,便可以产生电压的变化。再根据此变化值经过计算得到温度值。由于在电路的设计方面,利用恒流源设计测温电路比利用恒压源设计的测温电路更为简洁,因为恒流源可以直接和热电阻串联在一

14、起,然后设计一些消除误差的辅助电路即可,而恒压源不可直接加在热电阻上,否则A/D采样值将会恒定地采集恒压源的电压,因此要设计配套的测温电路,成本也会相应地增加。因此本设计采用恒流法。2.1.3 接线方法(1)二线制在热电阻的两端各连接一根导线来引出电阻信号的方式叫二线制:这种引线方法很简单,但由于连接导线必然存在引线电阻r整个电路的电阻为热电阻的电阻值加上两段导线电阻的电阻值测量误差大,大小与导线的材质和长度的因素有关,因此这种引线方式只适用于测量精度较低的场合 (2)三线制在热电阻的根部的一端连接一根引线,另一端连接两根引线的方式称为三线制,这种方式通常与电桥配套使用,可以较好的消除引线电阻

15、的影响,是工业过程控制中的最常用的引线电阻。(3)四线制在热电阻的根部两端各连接两根导线的方式称为四线制,其中两根引线为热电阻提供恒定电流I,把R转换成电压信号U,再通过另两根引线把U引至二次仪表。这种引线方式可完全消除引线的电阻影响,主要用于高精度的温度检测。本系统中PT100热电阻采用三线制接法。由于热电阻要安装在被测环境中,距离电阻测量装置有一定距离,这样实际测量的时候就会带来导线电阻的误差,因此实际使用热电阻的时候都是采用三线制的连接方法。 2.1.4 运放元件 OP07是一种低噪声,非斩波稳零的双极性运算放大器。由于OP07具有非常低的输入失调电压(对于OP07A最大为25V),所以

16、OP07在很多应用场合不需要额外的调零措施。OP07同时具有输入偏置电流低(OP07A为2nA)和开环增益高(对于OP07A为300V/mV)的特点,这种低失调、高开环增益的特性使得OP07特别适用于高增益的测量设备和放大传感器的微弱信号等方面。 本设计选用OP07运放元件主要实现两种功能,一个用于设计恒流源,另一个作为差动放大器辅助PT100热电阻三线制消除导线带来的误差。2.2 设计方案原理框图本设计利用PT100热电阻的温度特性,将其对温度改变产生的阻值变化量转换为电信号,然后经过信号采集电路,送入单片机中先进行模数转换再进行软件处理,比照PT100的分度表得到实时温度值,最后给LED显

17、示。原理框图如图2-1所示。显示电路恒流源传感器 信号调理信号采集电路电 源单片机C8051F410A/D转换图2-1 系统原理框图2.2.1 电源电路电源电路的作用是给整个系统供电,其输出电压为5V,同时使用电容以达到滤波的效果。具体介绍见第5章。2.2.2 信号采集电路信号采集电路的作用是将来自于现场传感器采集的电阻信号经由施加的恒流源转换为电压信号,然后通过三线制辅助差动放大电路消除误差并且放大信号。2.2.3 单片机单片机在本系统中有两个作用,其一是用作A/D转换,把采集到的模拟信号转换为数字信号;其二是根据温度与电压信号的对应关系计算出当前温度值。2.2.4 显示电路 显示电路的作用

18、是结合单片机将相应的断码、位码发送给LED数码管,以动态扫描的方式进行显示,可以达到四位的显示效果。第3章 原理分析3.1 单片机外围电路本系统使用的是C8051F410芯片的最小系统,具体电路如图3-1所示。 图3-1 单片机最小系统本系统采用C8051F410单片机作为主控芯片,1脚和8脚均接高电平,6脚接低电平。7脚和8脚分别对地滤波,滤波电容由0.1uF和10uF的电容组成。PC机连接到USB调试适配器,六英寸的扁平电缆将USB调试适配器连接到单片机(使用两个C2引脚和GND)。其中C2CK引脚为调试接口的时钟信号,C2D为调试接口的双向数据信号。C8051F410单片机将在第四章具体

19、介绍。3.2 信号采集电路3.2.1 恒流源电路恒流源提供1mA的恒定电流供后续电路使用,具体电路如图3-2所示。 图3-2 恒流源电路当恒流源工作时,由于LM336-2.5V稳压管的稳压作用,其两端的电压U=U1-U2=2.5V。根据虚短原理,运放的U-=U+,同时U3=U-,U+=U2,则有U3=U2。那么电阻R31两端的电压等于2.5V,流过的电流为2.5V除以2.5K得到1mA。一般情况下,为避免激励电流产生的热量影响测量精度,每种热电阻都有最低限制,一般要求在3mA以下,本系统为1mA是合理的。根据虚断原理,流过R31的电流将几乎全部流入复合管而不流入运放的2脚,则由9012组成的复

20、合管集电极输出电流为1mA,其将被送到PT100热电阻,将电阻信号转化成电压信号,以便于采集。电路中R30和R29分别起限流和保护作用;采用复合三极管抑制漂移。3.2.2 信号调理电路信号调理电路的主要作用是用PT100热电阻采集当前的温度并配合恒流源将其转换为电压信号,调理电路将这个微小的电压信号转换为可以输入单片机内部A/D的合适电压值。具体组成电路如图3-3所示。图3-3 信号调理电路图 这是一个差动放大电路,在电路中,R44,R41,R42为模拟热电阻引线的电阻,并且R44=R41=R42。R43为Pt100的阻值,将其换为可变电阻箱,即可得到不同的可知电阻值来模拟温度变化引起的阻值变

21、化。由于R37(R42+R43),所以我们可以认为1mA电流几乎全部流入R42,则有: (3-1)同理,U2 = I*R44,U3 = UO/11。由于运放的“虚短”、“虚断”作用,可得运放的同相输入端电压U+ = U1/3,U3 = U2。则有: (3-2)进而得: (3-3)得U2 = I*R43,由U2 = U3,得U3 = I*R43,即UO/11 = I*R43,进而: (3-4) 可以看出,使用“三线制”接法可以消掉导线电阻的影响,输出电压只与R43(即热电阻)上的电压有关。合理的选择电流源的值,可以实现电压的方便测量。3.3 显示电路显示电路采用共阳极数码管,以动态扫描方式显示温

22、度值,具体电路如图3-4所示。 图3-4 部分显示电路图显示电路采用四位共阳极LED数码管配合4只9012三极管来显示温度值。在段和位分别加了8只220电阻和4只2K电阻来起限流作用。在多位LED显示时,为简化硬件电路,通常将所有所有位的段码线相应段并联在一起,由1个8位I/O口控制,形成段码线的多路复用,而各位的共阳极或共阴极分别由相应的I/O线控制,形成各位的分时选通。本设计采用的是4位LED动态显示,将段码线与P0口相连,位码线与P2.0P2.3相连。由于各位的段码线并联,8位I/O口输出的段码对各个显示位来说都是相同的。因此,在同一时刻,如果各位位选线都处于选通状态的话,4位LED将显

23、示相同的字符。若要各位LED能够同时显示出与本位相应的显示字符,就必须采用动态显示方式,即在某一时刻,只让某一位的位选线处于选通状态,而其他各位的位选线处于关闭状态,同时,段码线上输出相应位要显示的字符的段码。这样,在同一时刻,4位LED中只有选通的那1位显示出字符而其他3位是熄灭的,同样,在下一时刻,只让下一位的位选线处于选通状态,而其他各位的位选线处于关闭状态,在段码线上输出将要显示字符的段码,则在同一时刻,只有选通位显示出相应的字符,而其他各位则是熄灭的。如此循环下去,就可以使各位显示将要显示的字符。虽然这些字符是在不同时刻出现的,而在同一时刻,只有一位显示,其他各位熄灭,但由于LED显

24、示器的余晖和人眼的视觉暂留作用,只要每位显示间隔足够短,则可以造成多位同时亮的假象,达到同时显示的效果。段码工作时,单片机的引脚输出低电平时选通三极管,同时使数码管的公共端接通高电平,此时选中相应位的段码,并送给其将要显示字符的位码,数码管将显示其字符,稍作延时后再显示下一位,如此循环得到最终显示效果。第4章 C8051F410单片机4.1 系统概述C8051F410器件是完全集成的低功耗混合信号片上系统型MCU。下面列出了一些本次设计使用的主要特性:高速、流水线结构的8051兼容的微控制器核(可达50MIPS);全速、非侵入式的在系统调试接口(片内);真12位200 ksps的24通道ADC

25、,带模拟多路器;两个12位电流输出DAC;高精度可编程的24.5MHz内部振荡器;4个通用的16位定时器;片内上电复位;多达24个端口I/O等。每种器件都可在工业温度范围(-40到+85)内用2.0V2.75V的电压工作(使用片内稳压器时电源电压可达5.25V)。C8051F410有28脚QFN(也称为MLP或MLF)和32脚LQFP两种封装。4.2 基准电压C8051F410的电压基准MUX可以被配置为连接到外部电压基准、内部电压基准或电源电压VDD。基准控制寄存器REF0CN中的REFSL位用于选择基准源。选择使用外部或内部基准时,REFSL位应被清0;选择VDD作为基准源时,REFSL应

26、被置1。 内部电压基准电路包含一个温度特性稳定的带隙电压基准发生器和一个两倍增益的输出缓冲放大器。可以选择1.5V或2.2V的输出电压。内部电压基准可以被驱动输出到VREF引脚,这可通过将REF0CN寄存器中的REFBE位置1来实现。VREF引脚对地的负载电流应小于200A。当使用内部电压基准时,建议在VREF和GND之间接0.1F和4.7F的旁路电容。如果不使用内部基准,REFBE位应被清0。REF0CN中的BIASE位控制内部偏置电压发生器。ADC、温度传感器、内部振荡器和IDAC都要使用偏置电压发生器提供的偏置电压。当这些外设中的任何一个被使能时,BIASE位被自动置1,也可以通过向RE

27、F0CN中的BIASE位写1来使能偏置电压发生器。4.3 端口输入/输出及其初始化 C8051F410器件有24个I/O引脚,端口引脚被组织为三个8位端口。端口的工作情况与标准8051相似,但有一些改进。数字和模拟资源可以通过24个I/O引脚使用。端口引脚被组织为三个8位端口。每个端口引脚都可以被定义为通用I/O(GPIO)或模拟输入/输出。P0.0P2.7可以被分配给内部数字资源。设计者完全控制数字功能的引脚分配,只受物理I/O引脚数的限制。这种资源分配的灵活性是通过使用优先权交叉开关译码器实现的。 所有端口I/O都耐5V电压,工作在VIO的电压范围。P1和P2不应被驱动到高于VIO的电平,

28、否则会吸收电流。端口I/O单元可以被配置为漏极开路或推挽方式(在端口输出方式寄存器PnMDOUT中设置,n = 0,1,2)。端口I/O初始化包括以下步骤: 第一步:用端口输入方式寄存器(PnMDIN)选择所有端口引脚的输入方式(模拟或数字)。 第二步:用端口输出方式寄存器(PnMDOUT)选择所有端口引脚的输出方式(漏极开路或推挽)。 第三步:用端口跳过寄存器(PnSKIP)选择应被交叉开关跳过的那些引脚。 第四步:用XBRn寄存器将引脚分配给要使用的外设。 第五步:使能交叉开关(XBARE = 1)。 所有端口引脚都必须被配置为模拟或数字输入。被用作比较器或ADC输入的任何引脚都应被配置为

29、模拟输入。当一个引脚被配置为模拟输入时,其弱上拉、数字驱动器和数字接收器都被禁止,这可以节省功耗并减小模拟输入的噪声。被配置为数字输入的引脚仍可被模拟外设使用,但不建议这样做。 此外,应将交叉开关配置为跳过所有被用作模拟输入的引脚(通过将PnSKIP寄存器中的对应位置1来实现)。端口输入方式在PnMDIN寄存器中设置,其中1表示数字输入,0表示模拟输入。复位后所有引脚的缺省设置都是数字输入。4.4 12位ADC(ADC0)C8051F410器件内部有一个12位SAR ADC和一个27通道单端输入多路选择器,该ADC的最大转换速率为200ksps。ADC系统包含一个可编程的模拟多路选择器,用于选

30、择ADC的输入。端口02可以作为ADC的输入;另外,片内温度传感器的输出和电源电压(VDD)也可以作为ADC的输入。用户固件可以将ADC置于关断状态或使用突发模式以节省功耗。 A/D转换可以有4种启动方式:软件命令、定时器2溢出、定时器3溢出和外部转换启动信号。这种灵活性允许用软件事件、周期性(定时器溢出)信号或外部硬件信号触发转换。在完成1、4、8或16次采样并由硬件累加器完成累加后,一个状态位指示转换完成并产生中断(如果被允许)。转换结束后,结果数据字被锁存到ADC数据寄存器中。当系统时钟频率很低时,突发模式允许ADC0自动从低功耗停机状态被唤醒,采集和累加样本值,然后重新进入低功耗停机状

31、态,不需要CPU干预。4.5 定时器C8051F410内部有4个16位计数器/定时器:其中两个与标准8051中的计数器/定时器兼容,另外两个是16位自动重装载定时器,可用于其他外设或作为通用定时器使用。这些定时器可以用于测量时间间隔,对外部事件计数或产生周期性的中断请求。定时器0和定时器1几乎完全相同,有四种工作方式。定时器2和定时器3均可作为一个16位或两个8位自动重装载定时器。定时器2和定时器3还具有smaRTClock捕捉方式,可用于测量smaRTClock时钟(相对于另一振荡器)。下面针对本设计中采用的方式1进行详细说明。在方式1,定时器0被作为16位的计数器/定时器使用。TH0寄存器

32、保持16位计数器/定时器的8个MSB,TL0保持8个LSB。作为16位定时器寄存器,计到0xFFFF(全1)后再计一次将发生溢出,使计数值回到0x0000,此时定时器溢出标志TF0(TCON.5)被置位并产生一个定时中断(如果该中断被允许)。C/T0位(TMOD.2)选择计数器/定时器的时钟源。当C/T0被设置为逻辑1时,出现在所选定时器0输入引脚(T0)上的负跳变使定时器寄存器加1。清除C/T0位将选择由T0M位(CKCON.3)定义的时钟作为定时器的输入。当T0M被置1时,定时器0的时钟为系统时钟;当T0M位被清0时,定时器0的时钟源由CKCON中的时钟分频位定义。当GATE0(TMOD.

33、3)为逻辑0或输入信号/INT0有效时(有效电平由IT01CF寄存器中的IN0PL位定义),置位TR0位(TCON.4)将允许定时器0工作。设置GATE0为逻辑1允许定时器受外部输入信号/INT0的控制,便于脉冲宽度测量。TR0并不强制定时器复位。应在定时器被允许前将定时器寄存器装入所需要的初值。第5章 系统电源线性稳压电源是一种最常见的简单电源,它的特点是起电压调整功能的器件始终工作在线性放大区,由保险丝、50Hz工频变压器、整流器、滤波器和串联调整稳压器组成。 它的基本工作原理为:工频变压器将高压交流电变成低压交流电,然后经过整流桥,使低压交流电变成低压脉动电压,然后经过电容滤波和稳压管的

34、稳压作用,在输出端形成一个几乎没有波动的直流电压。它的特点是:输出电压比输入电压低;反应速度快,输出纹波较小;工作产生的噪声低;效率较低;发热量大(尤其是大功率电源),间接地给系统增加热噪声。 5.1 电源电路原理框图系统电源由通用的220V交变电流经变压器、整流、滤波及稳压后得到,方框图如5-1所示。电 源变压器整 流电 路滤 波电 路稳 压电 路Uo220V 50Hz图5-1 电源电路原理框图直流稳压电源的输入为220V的电网电压,一般情况下,所需直流电压的数值和电网电压的有效值相差较大,因而需要通过变送器降压后,再对交流电压进行处理。变压器副边电压有效值决定于后面电路的需要,本设计副边电

35、压有效值为6V。目前,也有部分电路不用变压器。本设计使用的的是单相桥式整流电路。单相桥式整流电路由四只二极管组成,其构成原则是保证在变压器副边电压的整个周期内,负载上的电压和电流方向始终不变。电路工作时,由于D1 、D3 和D2、 D4两对二极管交替导通,致使二极管桥输出的电流在副边电压的整个周期内方向不变。整流电路的输出电压虽然是单一方向的,但含有较大的交流成分,不能适应多数电路及设备的需要。因此,一般在整流后,还需用滤波电路将脉动的直流电压变为平滑的直流电压。直流电源中滤波电路的特点是采用无源电路,能输出较大电流。本设计采用的是电容滤波电路,即在整流电路的输出端并联一个容量较大的电容。电容

36、滤波电路是利用电容的充放电作用使输出电压平滑的虽然整流滤波电路能将正弦交流电压变换为平滑的直流电压,但为了避免电网波动或负载电流变化引起的输出电压变化,故电路需外加稳压电路。本设计中采用集成的三端稳压器W7805和W7905,使直流稳压电路输出5V的直流电压,以便于对整个系统供电。5.2 电源电路原理图本设计采用固定集成输出集成稳压电路,它主要由变压器、整流桥、电容、集成稳压器LM7805(+5V)和LM7905(-5V)构成。如图5-2所示。图5-2 电源电路图设变压器副边电压u2=1.41U2sin wt, U2为有效值,本设计中U2=6V。图5-2中,单相桥式整流电路由D1 、D2、D3

37、 、 D4四只二极管组成,电路工作时,由于D1 、D3 和D2、 D4两对二极管交替导通,致使二极管桥输出的电流在的整个周期内方向不变,而此时的输出电压平均值Uov =0.9,U2=5.4V。在整流电路的输出端并联一个较大的电容,利用电容的充放电作用使输出电压平滑,充电时,回路电阻为整流电阻的内阻,其值很小,因而时间常数很小;放电时,回路电阻为负载电阻故放电时间常数远大于充电时间常数,滤波效果取决于放电时间常数。滤波后,输出电压的脉动系数减小,为使电源输出电压稳定,在滤波电路的输出端接稳压电路,使直流稳压电路输出5V的直流电压,以便于对整个系统供电。第6章 软件方面 本章主要针对整个设计的软件

38、方面作介绍,涉及到了编程语言的选择,编程软件的使用,程序流程图及调试,测试结果与分析。6.1 编程语言及软件本次设计选用的编程语言为C语言,它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发。而编程软件采用的是Keil,,它是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。

39、6.1.1 编程语言C语言C语言是目前众多计算机语言中举世公认的优秀的结构程序设计语言之一,并且成为最受欢迎的语言之一,主要原因就是它具有非常强大的功能。它的主要特点有: 简洁紧凑、灵活方便C语言一共只有32个关键字,9种控制语句,程序书写形式自由,主要用小写字母表示。它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。 数据结构丰富C语言的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据结构的运算。并引入了指针概念,使程序效率更高。另外C语言具有强大

40、的图形功能,支持多种显示器和驱动器。且计算功能、逻辑判断功能强大。 C是结构式语言结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。 C语言允许直接访问物理地址,对硬件进行操作由于C语言允许直接访问物理地址,可以直接对硬件进行操作,因此它既具有高级语言的功能,又具有低级语言的许多功能,能够像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元,可用来写系统软件。 6.1.

41、2 编程软件单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成

42、开发环境(uVision)将这些部分组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。Keil软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后

43、生成的汇编代码,就能体会到Keil 生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。6.2 程序流程图 本程序主要分为两大部分主程序及中断子程序,具体流程图分别如图6-1及图6-2所示。开 始关看门狗T0中断系统时钟、端口、T0及A/D初始化计算采样平均值50次采样计算温度值显示温度值滑动平均各标志位加1判断标志位的值返 回 图6-2 流程图(b) 图6-1 流程图(a)6.3 程序调试软件调试时,遇到的主要问题是显示值的跳动问题。而根本原因是单片机内部的A/D采样值不稳定,两次连续的采样值之间存在12个码左右的偏差,为了解决这个问题,使显示值稳定。我们采用了多次采样去极值

44、求平均法、抛物线插值法、滑动取平均法、求数组中出现次数最多的数法、定时采样等方法来稳定显示,效果良好并且满足精度要求,但是却牺牲显示稳定时间,均衡以后把显示稳定时间定在了2秒左右。6.4 数据测试及分析用变阻箱代替PT100模拟温度变化时阻值的变化。程序运行时,在一定范围内扭动变阻箱,四位LED数码管上将显示此阻值对应的温度值。查PT100的分度表,可知对应值是否正确。 下面是进行三次模拟测量的结果:1将变阻箱旋至90.2处,数码管显示在“-25.2”到“-25.3”之间缓慢跳动,与标准值-25相比较误差在0.3之内。2将变阻箱旋至100.0处,数码管显示值在“000.4”到“000.5”之间缓慢跳动,与标准值000.0相比较误差在0.5之内。3将变阻箱旋至170.3处,数码管显示值在“184.7”到“184.8”之内跳动,与标准值185.0相比较误差在0.3之内。以下表6-1是PT100分度表的一部分:表6-1 PT100分度表温度00102030405060708090-20018.4922.8027.0831.3235.5339.7143.87

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号