版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 西安科技大学毕业设计(论文)题 目 单片机温度控制系统 院(系、部) _电气与控制工程学院_ 专业及班级 _ 姓 名 _ 指 导 教 师 _ _ 日 期 _ 论文题目:单片机温度控制系统的设计 摘 要在工业生产过程中,人们需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。因为单片机具有低功耗、高性能、可靠性好、易于产品化等特点,因此采用单片机对温度进行控制不仅控制方便、简单和灵活,而且可以提高被控温度的技术指标,从而能够大大提高产品的质量。本论文介绍“单片机温度控制系统”的设计。单片机温度控制系统作为控制系统中的一个典型实验设计,综合运用了微机原理、自动控制原理、模拟电子技术、
2、数字控制技术、键盘显示技术等诸多方面的知识。设计过程中,首先进行硬件的设计,其次进行软件设计和综合调试,最终使得此系统实现了温度的恒温控制智能化。关键词:mcs-51单片机,温度传感器,可控硅,温度控制subject: mcu temperature control system design (hardware)specialty: automationabstractin industrial production progress, people need to heating furnace, heat-treatment furnace and all kinds of respon
3、se stove and boiler temperature measure and control. adopt single-chip microcomputer is it control convenient, simple, flexibility advantage such as being heavy to have not merely to control to go on to temperature to come, and can raise by technical indicator not to accuse of temperature by a large
4、 margin, thus can big improvement quality and the quantity of products. this thesis introduces the design and debugging of “the temperature control system by microcomputer”. as a typical experimental design in control system, it uses much control knowledge and comprehensively tests students ability
5、in control system.the content of this thesis mainly includes: introduces, filtering ware, keyboard, man-computer dialogue supported by led indication, heat control method, the development of micro-computer mcs-51 and systemic applied software.key words:mcs-51, temperature sensor, silicon control ,te
6、mperature control目 录第一章 前言51.1课题背景51.1.1研究意义61.1.2研究现状61.1.3研究内容7第二章 温度传感器72.1温度传感器的选择72.1.1根据测量对象与测量环境确定传感器的类型82.1.2 灵敏度的选择82.1.3 频率响应特性82.1.4线性范围82.1.5 稳定性82.1.6 精度8第三章 系统硬件设计173.1温度控制系统的整体设计173.2 温度控制系统的基本组成183.3 整体电路图183.4单片机at89s52介绍193.4.1单片机的发展方向193.4.2 at89s52主要性能参数193.4.3 at89s52方框图203.4.4
7、at89s52存储器配置223.5 温度采集模块错误!未定义书签。3.5.1温度传感器ds18b20概述错误!未定义书签。3.5.2 ds18b20封装形式及引脚功能93.5.3 ds18b20内部结构93.5.4 ds18b20供电方式123.5.5 ds18b20的测温原理123.5.6 ds18b20的rom命令143.5.7 ds18b20时序图153.6 温度显示模块253.7温度控制模块273.7.1可控硅bta16283.7.2光电偶合器moc3021303.8温度报警模块31第四章 系统软件设计324.1 系统主程序324.2 温度采集子程序324.3 显示子程序334.4 温
8、度设定子程序334.5 pid控制算法344.6 在线编程使用说明35第五章 系统调试36结束语37致 谢38参考文献39附录140附录241附录342第一章 前言1.1课题背景温度是工业对象中主要的被控参数之一,如冶金、机械、食品、化工各类工业生产中,广泛使用的各种加热炉、热处理炉、反应炉等,对工件的温度处理要求严格控制,单片机温度控制系统使温度控制指标得到了大幅度提高。温度控制无论是在工业生产过程中,还是在日常生活中都起着非常重要的作用。在水温控制系统中,过低的温度或过高的温度都会使水资源失去应有的作用,从而造成水资源的巨大浪费。特别是在当前全球水资源极度缺乏的情况下,更应该掌握好对水温的
9、控制,把身边的水资源好好地利用起来。基于at89s52单片机温度控制器的设计是实践教学的重要部分,国内外部分公司已研制出了少量的实训系统,但都存在共同的缺点:针对电类设计,模块化和程序的可移植性、可扩展性较差。而且因在设计中考虑到普遍性问题,所以成型产品不利于应用型本科人才培养方案的实施。本系统采用模块化思想,从简单到复杂,从零件到整机的设计思路,将实际工业生产中电气控制部分、各种传感器和现代化生产中的温度控制、单片机技术充分展示于该系统中。提高了系统的可移植性、扩展性,利于现代测控、自动化、电气技术等专业实训要求。以单片机为核心设计的温度控制系统,可以同时采集多个数据,并根据实际要求进行相应
10、的控制。那么无论是哪种控制,都希望水温控制系统能够有较高的精确度(起码在满足要求的范围内),从而实现了高精度的控制,解决身边的问题。温度对于工业生产如此重要,由此推进了温度传感器的发展。温度传感器主要经过了三个发展阶段:(1)模拟集成温度传感器。该传感器是采用硅半导体集成工艺制成,因此亦称硅传感器或单片集成温度传感器。此种传感器具有功能单一(仅测量温度)、测温误差小、价格低、响应速度快、传输距离远、体积小、微功耗等特点,适合远距离测温、控温,不需要进行非线性校准,外围电路简单。它是目前在国内外应用最为普遍的一种集成传感器,典型产品有ad590、ad592、tmp17、lm135等;(2)模拟集
11、成温度控制器。模拟集成温度控制器主要包括温控开关、可编程温度控制器,典型产品有lm56、ad22105和max6509。某些增强型集成温度控制器(例如tc652/653)中还包含了a/d转换器以及固化好的程序,这与智能温度传感器有某些相似之处。但它自成系统,工作时并不受微处理器的控制,这是二者的主要区别;(3)智能温度传感器 (亦称数字温度传感器)。智能温度传感器是在20世纪90年代中期问世的,其内部都包含温度传感器、a/d转换器、信号处理器、存储器(或寄存器)和接口电路。有的产品还带多路选择器、中央控制器(cpu)、随机存取存储器(ram)和只读存储器(rom)。智能温度传感器的特点是能输出
12、温度数据及相关的温度控制量,适配各种微控制器(mcu);并且它是在硬件的基础上通过软件来实现测试功能的,其智能化程度也取决于软件的开发水平。1.1.1研究意义温度是一种最基本的环境参数,它是与人类的生活、工作关系最密切的物理量,也是各门学科与工程研究设计中经常遇到和必须精确测量的物理量。从工业炉温、环境气温到人体温度;从空间、海洋到家用电器,各个技术领域都离不开测温和控温。因此,研究温度的测量和控制方法具有重要的意义。1.1.2研究现状现代信息技术的三大基础是信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)。传感器属于信息技术的前沿尖端产品,尤其是温度传感器被广泛用于工农
13、业生产、科学研究和生活等领域,数量高居各种传感器之首。数字温度传感器可以直接将被检测的温度信息以数字化形式输出,与传统的模拟式温度传感器相比,具有测量精度高、功耗低、稳定性好、外围接口电路简单特点。而单片机微处理器越来越丰富的外围功能模块,更加方便了数字式温度传感器输出信号的处理。智能温度传感器内部都包含温度传感器、a/d转化器、信号处理器、存储器(或寄存器)和接口电路。有的产品还带多路选择器、中央处理器(cpu)、随机存取存储器(ram)和只读存储器(rom)。并且它是在硬件的基础上通过软件来实现测试功能的,其智能化程度也取决于软件的开发水平。进入21世纪后,智能温度传感器正朝着高精度、多功
14、能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片机测温系统等的方向发展。数字化温度传感器可以直接将温度量以数字脉冲信号形式输出,具有测量精度高、抗干扰能力强、传输距离远、外围接口电路简单等诸多优点。同时数字温度传感器还可直接与微处理器进行接口,大大方便了传感器输出信号的处理.数字单总线温度传感器是目前最新的测温器件,它集温度测量,a/d转换于一体,具有单总线结构,数字量输出,直接与微机接口等优点。1.1.3研究内容本温度控制系统以at89s52单片机为控制核心,由一数字温度传感器ds18b20测量被控温度,电热炉执行水温上升环节,从而构成一个单闭环反馈控制系统。单片机外围
15、电路包括人机接口按键与数码显示电路、温度读取与控制电路。用户通过按键设定欲加热温度后, 启动400w电热炉进行烧水。当前水温经过ds18b20测量并送给单片机, 单片机经过pid算法校正后输出信号控制可控硅进行热电炉烧水, 最终使水温保持在用户的设定值上。第二章 温度传感器温度是工农业生产和日常生活中经常要测量的一个物理量,科学家根据不同的测温要求研制出多种温度传感器,但多数温度传感器的输出都是一个变化的模拟电压量,不能与单片机采集系统直接接口,需要先进行转换,才能送入单片机。 2.1温度传感器的选择现代传感器在原理与结构上千差万别,如何根据具体的测量目的、测量对象以及测量环境合理地选用传感器
16、,是在进行某个量的测量时首先要解决的问题。当传感器确定之后,与之相配套的测量方法和测量设备也就可以确定了。测量结果的成败,在很大程度上取决于传感器的选用是否合理。2.1.1根据测量对象与测量环境确定传感器的类型要进行个具体的测量工作,首先要考虑采用何种原理的传感器,这需要分析多方面的因素之后才能确定。因为,即使是测量同一物理量,也有多种原理的传感器可供选用,哪一种原理的传感器更为合适,则需要根据被测量的特点和传感器的使用条件考虑以下一些具体问题:量程的大小;被测位置对传感器体积的要求;测量方式为接触式还是非接触式;信号的引出方法,有线或是非接触测量;传感器的来源,国产还是进口,价格能否承受,还
17、是自行研制。2.1.2 灵敏度的选择通常,在传感器的线性范围内,希望传感器的灵敏度越高越好。因为只有灵敏度高时,与被测量变化对应的输出信号的值才比较大,有利于信号处理。但要注意的是,传感器的灵敏度高,与被测量无关的外界噪声也容易混入,也会被放大系统放大,影响测量精度。因此,要求传感器本身应具有较高的信噪比,尽量减少从外界引入的串扰信号。2.1.3 频率响应特性传感器的频率响应特性决定了被测量的频率范围,必须在允许频率范围内保持不失真的测量条件,实际上传感器的响应总有定延迟,希望延迟时间越短越好。传感器的频率响应高,可测的信号频率范围就宽,而由于受到结构特性的影响,机械系统的惯性较大,因有频率低
18、的传感器可测信号的频率较低。2.1.4线性范围传感器的线形范围是指输出与输入成正比的范围。以理论上讲,在此范围内,灵敏度保持定值。传感器的线性范围越宽,则其量程越大,并且能保证一定的测量精度。在选择传感器时,当传感器的种类确定以后首先要看其量程是否满足要求。但实际上,任何传感器都不能保证绝对的线性,其线性度也是相对的。当所要求测量精度比较低时,在一定的范围内,可将非线性误差较小的传感器近似看作线性的,这会给测量带来极大的方便。2.1.5 稳定性传感器使用一段时间后,其性能保持不变化的能力称为稳定性。影响传感器长期稳定性的因素除传感器本身结构外,主要是传感器的使用环境。因此,要使传感器具有良好的
19、稳定性,传感器必须要有较强的环境适应能力。在选择传感器之前,应对其使用环境进行调查,并根据具体的使用环境选择合适的传感器,或采取适当的措施,减小环境的影响。2.1.6 精度精度是传感器的一个重要的性能指标,它是关系到整个测量系统测量精度的一个重要环节。传感器的精度越高,其价格越昂贵,因此,传感器的精度只要满足整个测量系统的精度要求就可以,不必选得过高。这样就可以在满足同一测量目的的诸多传感器中选择比较便宜和简单的传感器。如果测量目的是定性分析的,选用重复精度高的传感器即可,不宜选用绝对量值精度高的;如果是为了定量分析,必须获得精确的测量值,就需选用精度等级能满足要求的传感器。对某些特殊使用场合
20、,无法选到合适的传感器,则需自行设计制造传感器。2.2 ds18b20概述ds18b20是dallas公司继ds1820后推出的一种改进型智能数字温度传感器,与传统的热敏电阻相比,只需一根线就能直接读出被测温度值,并可根据实际需求来编程实现912位数字值的读数方式。2.2.1 ds18b20封装形式及引脚功能 图2.1 ds18b20封装形式和引脚功能如图2.1所示,ds18b20的外形如一只三极管,引脚名称及作用如下:gnd:接地端。dq:数据输入/输出脚,与ttl电平兼容。vdd:可接电源,也可接地。因为每只ds18b20都可以设置成两种供电方式,即数据总线供电方式和外部供电方式。采用数据
21、总线供电方式时vdd接地,可以节省一根传输线,但完成数据测量的时间较长;采用外部供电方式则vdd接+5v,多用一根导线,但测量速度较快。2.2.2 ds18b20内部结构64位rom和单线接口存储和控制逻辑 高速缓存器温度传感器高温触发器th低温触发器tl匹配寄存器8位crc发生器电源检 测cdqvdd内部电源vdd图2.2 ds18b20内部结构图2.2中出示了ds18b20 的主要内部部件,下面对ds18b20内部部分进行简单的描述:(1)64位rom。64位rom是由厂家使用激光刻录的一个64位二进制rom代码,是该芯片的标识号,如表2.1所示:表2.1 64位rom标识8位循环冗余检验
22、48位序列号8位分类编号(10h)msblsbmsblsbmsblsb第1个8位表示产品分类编号,ds18b20的分类号为10h;接着为48位序列号。它是一个大于281*1012的十进制编码,作为该芯片的唯一标示代码;最后8位为前56位的crc循环冗余校验码,由于每个芯片的64位rom代码不同,因此在单总线上能够并接多个ds18b20进行多点温度实习检验。(2)温度传感器。温度传感器是ds18b20大的核心部分,该功能部件可完成对温度的测量通过软件编程可将-55125范围内的温度值按9位、10位、11位、12位的分辨率进行量化,以上的分辨率都包括一个符号位,因此对应的温度量化值分别为0.5、0
23、.25、0.125、0.0625,即最高分辨率为0.0625。芯片出厂时默认为12位的转换精度。当接收到温度转换命令(44h)后,开始转换,转换完成后的温度以16位带符号扩展的的二进制补码形式表示,存储在高速缓存器ram的第0,1字节中,二进制数的前5位是符号位。如果测得的温度大于0,这5位为0,只要将测得的数值乘上0.0625即可得到实际温度;如果温度小于0,这5位为1,测得的数值需要取反加1再乘上0.0625即可得到实际温度。(3)高速缓存器。ds18b20内部的高速缓存器包括一个高速暂存器ram和一个非易失性可电擦除的eeprom。非易失性可点擦除eeprom用来存放高温触发器th、低温
24、触发器tl和配置寄存器中的信息。(4)配置寄存器。配置寄存器的内容用于确定温度值的数字转换率。ds18b20工作是按此寄存器的分辨率将温度转换为相应精度的数值,它是高速缓存器的第5个字节,该字节定义如表2.2所示:表2.2 匹配寄存器tmr0r111111tm是测试模式位,用于设置ds18b20在工作模式还是在测试模式,在ds18b20出厂时该位被设置为0,用户不要去改动;r1和r0用来设置分辨率;其余5位均固定为1。ds18b20分辨率的设置如表2.3所示:表2.3 ds18b20分辨率的设置r10011r00101分辨率9位10位11位12位最大转换时间/ms93.75187.537575
25、0ds18b20依靠一个单线端口通讯。在单线端口条件下,必须先建立rom 操作协议,才能进行存储器和控制操作。因此,控制器必须首先提供下面5个rom 操作命令之一:1)读rom;2)匹配rom;3)搜索rom;4)跳过rom;5)报警搜索。这些命令对每个器件的激光rom 部分进行操作,在单线总线上挂有多个器件时,可以区分出单个器件,同时可以向总线控制器指明有多少器件或是什么型号的器件。成功执行完一条rom 操作序列后,即可进行存储器和控制操作,控制器可以提供6 条存储器和控制操作指令中的任一条。一条控制操作命令指示ds18b20完成一次温度测量。测量结果放在ds18b20的暂存器里,用一条读暂
26、存器内容的存储器操作命令可以把暂存器中数据读出。温度报警触发器th 和tl 各由一个eeprom字节构成。如果没有对ds18b20使用报警搜索命令,这些寄存器可以做为一般用途的用户存储器使用。可以用一条存储器操作命令对th 和tl 进行写入,对这些寄存器的读出需要通过暂存器。所有数据都是以最低有效位在前的方式进行读写。2.2.3 ds18b20供电方式ds18b20可以采用外部电源供电和寄生电源供电两种模式。外部电源供电模式是将ds18b20的gnd直接接地,dq与但单总线相连作为信号线,vdd与外部电源正极相连。如图2.3所示:单片机ds18b20外部+5v电源vdddq4.7kvcc其它单
27、线器件图2.3 ds18b20外部供电方式图中ds18b20的dq端口通过接入一个4.7k的上拉电阻到vcc,从而实现外部电源供电方式。寄生电源供电模式如图2.4所示:从图中可知,ds18b20的gnd和vdd均直接接地,dq与单总线相连,单片机其中一个i/o口与ds18b20的dq端相连。vcc单片机ds18b20gnd4.7k图2.4 ds18b20寄生电源供电方式+5v2.2.4 ds18b20的测温原理ds18b20的测温原理如图4所示:其主要由斜率累加器、温度系数振荡器、减法计数器、温度存储器等功能部件组成。ds1820 是这样测温的:用一个高温度系数的振荡器确定一个门周期,内部计数
28、器在这个门周期内对一个低温度系数的振荡器的脉冲进行计数来得到温度值。计数器被预置到对应于-55的一个值。如果计数器在门周期结束前到达0,则温度寄存器(同样被预置到-55)的值增加,表明所测温度大于-55。同时,计数器被复位到一个值,这个值由斜坡式累加器电路确定,斜坡式累加器电路用来补偿感温振荡器的抛物线特性。然后计数器又开始计数直到0,如果门周期仍未结束,将重复这一过程。斜坡式累加器用来补偿感温振荡器的非线性,以期在测温时获得比较高的分辨率。这是通过改变计数器对温度每增加一度所需计数的的值来实现的。因此,要想获得所需的分辨力,必须同时知道在给定温度下计数器的值和每一度的计数值。图?ds18b2
29、0内部对此计算的结果可提供0.5的分辨率。温度以16bit带符号位扩展的二进制补码形式读出,表1 给出了温度值和输出数据的关系。数据通过单线接口以串行方式传输。ds18b20测温范围-55+125,以0.5递增。温度/数据关系(表1)表?-?数据输出(十六进制)温度数据输出(二进制)+125+25+0.5 0 -0.5 -25 -5500000000 1111101000000000 0011001000000000 0000000100000000 0000000011111111 1111111111111111 1100111011111111 1001001000fa003200010
30、000ffffffceff92ds18b20遵循单总线协议,每次测温时都必须有4个过程: 初始化; 传送rom 操作命令; 传送rom操作命令; 数据交换;2.2.5 ds18b20的rom命令(1) read rom(读rom).命令代码为33h,允许主设备读出ds18b20的64位二进制rom代码。该命令只适用于总线上存在单个ds18b20.(2) match rom(匹配rom)。命令代码为55h,若总线上有多个从设备时,适用该命令可选中某一指定的ds18b20,即只有和64位二进制rom代码完全匹配的ds18b20才能响应其操作。(3) skip rom(跳过rom)。命令代码为cch
31、,在启动所有ds18b20转换之前或系统只有一个ds18b20时,该命令将允许主设备不提供64位二进制rom代码就适用存储器操作命令。(4) search rom(搜索rom)。命令代码为f0h,当系统初次启动时,主设备可能不知纵向上有多少个从设备或者它们的rom代码,适用该命令可确定系统中的从设备个数及其ron代码。(5) alarm rom(报警搜索rom)。命令代码为ech,该命令用于鉴别和定位系统中超出程序设定的报警温度值。(6) write scratchpad(写暂存器)。命令代码为4eh,允许主设备向ds18b20的暂存器写入两个字节的数据,其中第一个字节写入th中,第二个字节写
32、入tl中。可以在任何时刻发出复位命令终止数据的写入。(7) read scratchpad(读暂存器)。命令代码为beh,允许主设备读取暂存器中的内容。从第一个字节开始直到读完第九个字节crc读完。也可以在任何时刻发出复位命令中止数据的读取操作。(8) copy scratchpad(复制暂存器)。命令代码为48h,将温度报警触发器th和tl中的字节复制到非易失性eeprom。若主机在该命令之后又发出读操作,而ds18b20又忙于将暂存器中的内容复制到eeprom时,ds18b20就会输出一个“0”,若复制结束,则ds18b20输出一个“1”。(9) convert t(温度转换)。命令代码为
33、44h,启动一次温度转换,若主机在该命令之后又发出其它操作,而ds18b20又忙于温度转换,ds18b20就会输出一个“0”,若转换结束,则ds18b20输出一个“1”。(10) recall e2(拷回暂存器)。命令代码为b8h。将温度报警触发器th和tl中的字节从eeprom中拷回到暂存器中。该操作是在ds18b20上电时自动执行,若执行该命令后又发出读操作,ds18b20会输出温度转换忙标识:0为忙,1完成。(11) read power supply(读电源使用模式)。命令代码为b4h。主设备将该命令发给ds18b20后发出读操作,ds18b20会返回它的电源使用模式:0为寄生电源,1
34、为外部电源。2.2.6 ds18b20时序图:初始化过程时序:时序如图3-5-1所示。主机总线t0时刻发送一复位脉冲(最短为480us的低电平信号),接着在t1时刻释放总线并进入接收状态,ds18b20在检测到总线的上升沿之后,等待1560us,接着ds1820在t2时刻发出存在脉冲(低电平,持续60240us),如图中虚线所示。图3-5-1 ds18b20初始化时序图读时间隙时序图:如图3-5-2所示,主机总线t0时刻从高拉至低电平时,总线只须保持低电平10us。之后在t1时刻将总线拉高,产生读时间隙,读时间隙在t1时刻后t2时刻前有效。t2距t0为15us,也就是说,t2时刻前主机必须完成
35、读位,并在t0后的60us120us内释放总线。图3-5-2 读时序写时间隙时序图:当主机总线t0时刻从高拉至低电平时,就产生写时间隙。从t0时刻开始15us之内应将所需写的位送到总线上,ds1820在t0后1560us间对总线采样。若低电平,写入的位是0,如图3-5-3;若高电平,写入的位是1,如图3-5-4。连续写2位间的间隙应大于1us。图3-5-3 写0时序 图3-5-4 写1时序第三章 系统硬件设计硬件是一个工程设计项目的主要组成部分,它支撑并构成一个完整的系统骨架,缺少这一骨架,就智只能纸上谈兵,虚无缥缈。因此,系统的硬件设计是设计中的首要考虑对象。3.1温度控制系统的整体设计对于
36、温度控制,采用单片机at89s52组成的自动控制系统,其系统硬件总体方框图如图3.1所示: at89s52温度传感器人机按键设定数码显示水箱光耦双向可控硅电热炉超温声光报警图3.1系统总体方框图在图3.1中,温度传感器采用单总线数字温度传感器ds18b20;数码显示采用三位共阳led,使用其动态显示方式,实时显示ds18b20采集到的水温温度。水箱的水大约为1升,电热炉功率为400w;按键设定分为设置按键(set),+1(up),-1(down)功能,其特点是:按下set键可进行水箱温度预设,预设值为所期望水箱水温值,按下set键后,可通过up和down键进行温度闪烁加减设定;光耦采用moc3
37、021,可控硅采用bta16;还有超温报警功能,鉴于使用蜂鸣器声音太小等原因,本功能采用市场上常用的音乐芯片进行设计,超温将会发出声光警声报警。3.2 温度控制系统的基本组成主要由单片机、温度采集模块、温度显示模块、升温控制模块、按键设定模块和超温声光报警模块组成。3.3 整体电路图在。系统主要组成部分:主要由单总线数字温度传感器ds18b20组成的温度采集模块,它通过温度信号采集并经温度转换后把信号输入单片机,然后送led进行显示。led是三位一体共阳型,并采用动态扫描显示方式进行显示。然后是温度控制模块,升温部分是通过光耦moc3021控制可控硅bta16的导通角来控制电热炉功率加热水箱内
38、部水单片机是at89s52。 3.4单片机at89s52介绍3.4.1单片机的发展方向未来单片机的发展趋势主要有:主流型机发展趋势,8位单片机为主流,少量32位机,16位可能被淘汰;全盘cmos化趋势;risc体系结构的发展;大力发展专用单片机;otprom、flashrom成为主流供应状态;isp及基于isp的开发环境;单片机的软件嵌入;实现全面功耗管理;推行串行扩展总线;asmic技术的发展。单片机以其卓越地性能,得到了广泛地应用,以深入到各个领域。单片机应用在检测、控制领域中,具有如下特点。小巧灵活、成本低、易于产品化。它能方便地组装成各种智能式测控设备及各种智能仪器仪表;可靠性好,适应
39、温度范围宽。单片机芯片本身是按工业测控环境要求设计的,能适应各种恶劣的环境,这是其它机种无法比拟的;以扩展,很容易构成各种规模的应用系统,控制能力强。单片机的逻辑控制功能很强,指令系统有各种控制功能用指令;可以方便地实现多机和分布式控制。3.4.2 at89s52主要性能参数l 与mcs-51单片机产品兼容l 8k字节在系统可编程flash存储器l 1000次擦写周期l 全静态操作:0hz33hzl 三级加密程序存储器l 32个可编程i/o口线l 三个16位定时器/计数器l 八个中断源l 全双工uart串行通道l 低功耗空闲和掉电模式l 掉电后中断可唤醒l 看门狗定时器l 双数据指针l 掉电标
40、识符at89s52是一种低功耗,高性能cmos微控制器,具有8k在系统可编程flash存储器。使用armel公司高密度非易失性存储器技术制造,与工业80c51产品指令和引脚完全兼容。片上flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位cpu和在系统可编程flash,使得at89s52众多嵌入式控制应用系统提供高灵活、超有效的解决方案。at89s52可提供以下标准功能:8k字节flash闪存器,256字节内部ram,32个i/o口线,看门狗定时器,2个数据指针,3个16位定时/计数器,一个6向量2级中断结构,全双工串行通信口,片内振荡器及时钟电路。同时,at89
41、s51可降至0hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止cpu的工作,但允许ram,定时/计数器,串性通信口及中断系统继续工作。掉电方式保存ram中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个中断或硬件复位为止。3.4.3 at89s52方框图 vcc:供电电压。 gnd:接地。 p0口:p0口为一个8位漏级开路双向i/o口,每脚可吸收8ttl门电流。当p1口的管脚第一次写1时,被定义为高阻输入。p0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在fiash编程时,p0 口作为原码输入口,当fiash进行校验时,p0输出原码,此时p0外部必须
42、被拉高。 p1口:p1口是一个内部提供上拉电阻的8位双向i/o口,p1口缓冲器能接收输出4ttl门电流。p1口管脚写入1后,被内部上拉为高,可用作输入,p1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在flash编程和校验时,p1口作为第八位地址接收。 p2口:p2口为一个内部上拉电阻的8位双向i/o口,p2口缓冲器可接收,输出4个ttl门电流,当p2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,p2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。p2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,p2口输出地址的高八位。在给出地址
43、“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,p2口输出其特殊功能寄存器的内容。p2口在flash编程和校验时接收高八位地址信号和控制信号。 p3口:p3口管脚是8个带内部上拉电阻的双向i/o口,可接收输出4个ttl门电流。当p3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,p3口将输出电流(ill)这是由于上拉的缘故。 p3口也可作为一些特殊功能口,如下表所示:引脚第2功能p3.0rxd(串行口输入端)p3.1txd(串行口输出端)p3.2int0(外部中断0请求输入端,低电平有效)p3.3int1(外部中断1请求输入端,低电平有效
44、)p3.4t0(定时器/记时器0计数脉冲输入端)p3.5t1(定时器/记时器1计数脉冲输入端)p3.6wr(外部数据存储器写选通信号输出端,低电平有效)p3.7rd(外部数据存储器读选通信号输出端,低电平有效) 表3.1 p3口第2功能表 rst:复位输入。当振荡器复位器件时,要保持rst脚两个机器周期的高电平时间。 ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低8位字节。在flash编程期间,此引脚用于输入编程脉冲。在平时,ale端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部
45、数据存储器时,将跳过一个ale脉冲。如想禁止ale的输出可在sfr8eh地址上置0。此时,ale只有在执行movx,movc指令是ale才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ale禁止,置位无效。 psen:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次psen有效。但在访问外部数据存储器时,这两次有效的psen信号将不出现。 /ea/vpp:当/ea保持低电平时,则在此期间外部程序存储器(0000h-ffffh),不管是否有内部程序存储器。注意加密方式1时,/ea将内部锁定为reset;当/ea端保持高电平时,此间内部程序存储器。在flash编程
46、期间,此引脚也用于施加12v编程电源(vpp)。 xtal1:反向振荡放大器的输入及内部时钟工作电路的输入。 xtal2:来自反向振荡器的输出。3.4.4 at89s52存储器配置1.存储器结构程序存储器:如果ea引脚接地,程序读取只从外部存储器开始。对于89s52,如果ea 接vcc,程序读写先从内部存储器(地址为0000h1fffh)开始,接着从外部寻址,寻址地址为:2000hffffh。数据存储器:at89s52 有256 字节片内数据存储器。高128 字节与特殊功能寄存器重叠。也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。当一条指令访问高于7fh 的地址时,寻址方
47、式决定cpu 访问高128 字ram 还是特殊功能寄存器空间。直接寻址方式访问特殊功能寄存器(sfr)。2.看门狗定时器wdt是一种需要软件控制的复位方式。wdt 由13位计数器和特殊功能寄存器中的看门狗定时器复位存储器(wdtrst)构成。wdt 在默认情况下无法工作;为了激活wdt,用户必须往wdtrst 寄存器(地址:0a6h)中依次写入01eh 和0e1h。当wdt激活后,晶振工作,wdt在每个机器周期都会增加。wdt计时周期依赖于外部时钟频率。除了复位(硬件复位或wdt溢出复位),没有办法停止wdt工作。当wdt溢出,它将驱动rsr引脚一个高个电平输出。wdt的使用:为了激活wdt,
48、用户必须向wdtrst寄存器(地址为0a6h的sfr)依次写入0e1h和0e1h。当wdt激活后,用户必须向wdtrst写入01eh和0e1h喂狗来避免wdt溢出。当计数达到8191(1fffh)时,13 位计数器将会溢出,这将会复位器件。晶振正常工作、wdt激活后,每一个机器周期wdt 都会增加。为了复位wdt,用户必须向wdtrst 写入01eh 和0e1h(wdtrst 是只读寄存器)。wdt 计数器不能读或写。当wdt 计数器溢出时,将给rst 引脚产生一个复位脉冲输出,这个复位脉冲持续96个晶振周期(tosc),其中tosc=1/fosc。为了很好地使用wdt,应该在一定时间内周期性
49、写入那部分代码,以避免wdt复位。掉电和空闲方式下的wdt:在掉电模式下,晶振停止工作,这意味这wdt也停止了工作。在这种方式下,用户不必喂狗。有两种方式可以离开掉电模式:硬件复位或通过一个激活的外部中断。通过硬件复位退出掉电模式后,用户就应该给wdt 喂狗,就如同通常at89s52 复位一样。通过中断退出掉电模式的情形有很大的不同。中断应持续拉低很长一段时间,使得晶振稳定。当中断拉高后,执行中断服务程序。为了防止wdt在中断保持低电平的时候复位器件,wdt 直到中断拉低后才开始工作。这就意味着wdt 应该在中断服务程序中复位。为了确保在离开掉电模式最初的几个状态wdt不被溢出,最好在进入掉电
50、模式前就复位wdt。在进入待机模式前,特殊寄存器auxr的wdidle位用来决定wdt是否继续计数。默认状态下,在待机模式下,wdidle0,wdt继续计数。为了式下复位at89s52,用户应该建立一个定时器,定时离开待机模式,喂狗,再重新进入待机模式。3.定时器定时器0和定时器1:定时器0和定时器1与at89c21和at89c52一样.定时器2: 定时器2是一个16位定时/计数器,它既可以做定时器,又可以做事件计数器。其工作方式由特殊寄存器t2con中的c/t2位选择(如表2所示)。定时器2有三种工作模式:捕捉方式、自动重载(向下或向上计数)和波特率发生器。如表3 所示,工作模式由t2con
51、中的相关位选择。定时器2 有2 个8位寄存器:th2和tl2。在定时工作方式中,每个机器周期,tl2 寄存器都会加1。由于一个机器周期由12 个晶振周期构成,因此,计数频率就是晶振频率的1/12。tf2exf2rclktclkexen2tr2c/t2cp/rl276543210表3.2 t2con:定时器/计数器2控制寄存器符号功能tf2定时器2溢出标志位,必须软件清0,rclk=1或tclk=1,tf2不用置位exf2定时器2外部标志位,exen2=1时,t2ex上的负跳变出现或者重载时,exef2会被硬件置位。定时器2打开。exf2=1,将引导cpu执行定时器2中断程序。rclk串行口接收
52、数据时钟标志位,若rclk=1,串行口将使用定时器2溢出脉冲作为串行口工作方式1和工作方式3 的串口接收时钟。tclk=0将使用定时器1计数溢出作为串口接收时钟tclk串行口发送数据时钟标志位。当exen2=1时,如果定时器2没有作为串行时钟,t2ex的负跳变引起定时器2捕捉和重载,若exen2=0,定时器2将视t2ex为无效。exen2定时器2外部允许标志位,当exen2=1时,如果定时器2没有用作t2ex的负跳变引起定时器2捕捉和重载,若exen2=0,定时器2将视t2ex为无效。tr2开始/停止控制定时器2,若tr2=1,定时器2开始工作c/t2定时器2定时/计数选择标志位,c/t2=0
53、开始计时,c/t2=1外部事件计数。(下降沿触发)cp/rl2捕捉重载标志位,当exen2=1时,如果定时器2没有作为串行时钟,t2ex的负跳变引起定时器2捕捉和重载,若exen2=0,定时器2将视t2ex为无效。定时器2强制自动重载。表3.3 定时器2的工作模式 rclk+tclkcp/rl2tr2mode00116位自动重载01116位捕捉1x1波特率发生器xx0(不用)表3.4定时器2的工作模式在计数工作方式下,寄存器在相关外部输入角t2 发生1 至0 的下降沿时增加1。在这种方式下,每个机器周期的s5p2期间采样外部输入。一个机器周期采样到高电平,而下一个周期采样到低电平,计数器将加1
54、。在检测到跳变的这个周期的s3p1 期间,新的计数值出现在寄存器中。因为识别10的跳变需要2个机器周期(24个晶振周期),所以,最大的计数频率不高于晶振频率的1/24。为了确保给定的电平在改变前采样到一次,电平应该至少在一个完整的机器周期内保持不变。4. 中断at89s52 有6个中断源:两个外部中断(int0 和int1),三个定时中断(定时器0、1、2)和一个串行中断。每个中断源都可以通过置位或清除特殊寄存器ie 中的相关中断允许控制位分别使得中断源有效或无效。ie还包括一个中断允许总控制位ea,它能一次禁止所有中断。如表5所示,ie.6位是不可用的。对于at89s52,ie.5位也是不能
55、用的。用户软件不应给这些位写1。它们为at89系列新产品预留定时器2可以被寄存器t2con中的tf2和exf2的或逻辑触发。程序进入中断服务后,这些标志位都可以由硬件清0。实际上,中断服务程序必须判定是否是tf2 或exf2激活中断,标志位也必须由软件清0。定时器0和定时器1标志位tf0 和tf1在计数溢出的那个周期的s5p2被置位。它们的值一直到下一个周期被电路捕捉下来。然而,定时器2 的标志位tf2 在计数溢出的那个周期的s2p2被置位,在同一个周期被电路捕捉下来。eaet2eset1ex1et0ex0中断允许控制位=1 允许中断中断允许控制位=0 禁止中断符号地址 位功能eaie.7中断
56、允许总控制位。ea=0,中断总禁止:ea=1,各中断由各自的控制位设定-ie.6预留et2ie.5定时器2中断允许控制位esie.4串行口中断允许控制位et1ie.3定时器1中断允许控制位ex1ie.2外部中断1允许控制位et0ie.1 定时器0中断允许控制位ex0ie.0外部中断1允许控制位表3-5 中断允许控制寄存器3.6 温度显示模块采用三位共阳led动态显示方式,三位共阳led管脚如下图?-?所示:ledk1afk2k3beddpcg对应管脚说明如下表?-?所示:管脚对应端说明1k32b3e小数点7d4dp8空5c6g第三个led位选通9k2第二个led位选通101112fak1第一个
57、led位选通显示方式:此次设计中,我们要在同一时刻显示不同的字符,从电路上看,这是办不到的。因此只能利用人眼对视觉的残留效应,采用动态扫描的显示方法,逐个地循环点亮三个数码管,每位显示1ms左右,使人看起来就好像在同时显示不同的字符一样。这由调用延时1ms子程序dely来实现。实践证明,当每位显示时间偏离1ms较多时,将会产生闪烁现象。在进行动态扫描显示时,往往事先并不知道应显示什么内容,这样也就无从选择被显示字符的显示段码。为此,一般才用查表的方法,由待显示的字符通过查表得到其对应的显示段码。十六进制数及空白字符与p的显示段码如下表?-?所示。表?-?字型012345678共阳极段码字型共阳
58、极段码c0hf9ha4hb0h99h92h82hf8h80h9abcdef空白p6fh77h7ch39h5eh79h71h00h73h此次设计中由于是显示被测水温温度,故只需显示09数字字符。电路接线原理图如下所示:图?-?在图?-?中,。其中采用三个pnp三极管(9012)进行驱动,只有当p1.0、p1.1或者p1.2输出低电平时,才能使9012导通,从而选通led。段码从p0口输出。由于设计中精度没有过高要求,故不需要显示小数部分,所以dp端不需要连接,数码管上显示温度的整数部分。3.7温度控制模块过零检测部分由一个光耦隔离获得同步信号;控制部分由光耦moc3021、可控硅bta16、电热
59、炉(热得快)组成。当温度低于下限温度时候,加热部分开始启动,温度升高到上限温度时候停止工作。3.7.1可控硅bta16一种以硅单晶为基本材料的p1n1p2n2四层三端器件,创制于1957年,由于它特性类似于真空闸流管,所以国际上通称为硅晶体闸流管,简称可控硅t。又由于可控硅最初应用于可控整流方面所以又称为硅可控整流元件,简称为可控硅scr。在性能上,可控硅不仅具有单向导电性,而且还具有比硅整流元件(俗称“死硅”)更为可贵的可控性。它只有导通和关断两种状态。可控硅能以毫安级电流控制大功率的机电设备,如果超过此频率,因元件开关损耗显著增加,允许通过的平均电流相降低,此时,标称电流应降级使用。可控硅的优点很多,例如:以小功率控制大功率,功率放大倍数高达几十万倍;反应极快,在微秒级内开通、关断;无触点运行,无火花、无噪音;效率高,成本低等等。可控硅的弱点:静态及动态的过载能力较差;容易受干扰而误导通。可控硅从外形上分类主要有:螺栓形、平板形和平底形。不管可控硅的外形如何,它们的管芯都是由p型硅和n型硅组成的四层p1n1p2n2结构。见图1。它有三个pn结(j1、j2、j3),从j1结构的p1层引出阳极a,从n2层引出阴级k,从p2层引出控制极g,所以它是一种四层三端的半导体器件。可控硅结构示意图和符号图如图4-2-1所示。图4-2-1可控硅结构示意图和符号图可控硅是p1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度大学教师聘用合同版B版
- 国际贸易实务第八章2024版之质量保证协议3篇
- 2024至2030年中国心脑康胶囊行业投资前景及策略咨询研究报告
- 2024至2030年中国弹性浮动针轮摆线减速机行业投资前景及策略咨询研究报告
- 2024年亲朋好友借款协议样式
- 2024年全新职业病健康检查服务协议模板版
- 2024至2030年中国升降带毛巾架花洒行业投资前景及策略咨询研究报告
- 2024年度美容护肤品品牌授权合同3篇
- 2024至2030年卧式单吸多级离心泵项目投资价值分析报告
- 2024年度民间借款合同模板:文化创意产业项目3篇
- 喀什草湖镇发展规划方案
- 质量奖培训课件
- 河道综合整治规划方案
- 粤教版科学四年级上册全册试卷(含答案)
- 民宿集体管理方案
- 《常用公务文书写作》课件
- 《李商隐晚晴》课件
- 2024年江苏新海石化有限公司招聘笔试参考题库含答案解析
- 消防安全检查巡查制度范本
- 例谈数学项目学习开发路径与实践-以“量身定做的全身镜”为例
- 酒店行业开发前台接待员的协作与沟通技巧培训
评论
0/150
提交评论