《智能温度控制系统的研究和设计.doc》由会员分享,可在线阅读,更多相关《智能温度控制系统的研究和设计.doc(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品文档,仅供学习与交流,如有侵权请联系网站删除编号: 毕业设计(论文)外文翻译(译文)院 (系): 机电工程学院 专 业: 电气工程及其自动化 学生姓名: 谭宸 学 号: 0700120133 指导教师单位: 机电工程学院 姓 名: 李彩林 职 称: 副教授 2011年05月25日智能温度控制系统的研究和设计HUANG Wen-tianCollege of Information Beijing Union UniversityBeijing, ChinawoshihwtLI Jin-pingCollege of Information Beijing Union UniversityBei
2、jing, Chinaxxtjinping摘要:智能温度控制系统的原理和功能主要基于AT89S51单片机。温度监测模块主要由以下几个模块组成:1数字传感器DS18B20,此系统可以探测、预设温度,显示时间、存储和打印监测数据。当温度超过或小于预先设定的温度的最大、最小值时,报警系统将工作,预设的温度可以设定为任意值。这样温度就能被智能的控制在一定范围内。基于此系统,只需合理更改软件部分即可设计出其他非线性控制系统。经过实际成产实验,证明此系统的可靠性、准确性、满意度。关键词:AT89S51; 单片机; 温度; DS18B201 简介温度是一项在人们日常生活中非常重要的因素。现当代,温度控制已经
3、不仅仅局限在工业生产,而且同样广泛运用在其他各个领域。随着生活水平的提高,我们可以发现温度控制已经广泛应用在酒店、工厂,甚至人们的家居生活。温度控制融入人们的生活已经是大势所趋,所以,测量和控制温度有着重要意义。基于AT89S51单片机和DS18B20温度传感器,系统将更智能的控制温度,温度可以被设定在一个确定的范围内。系统还可以在LCD上显示时间,储存和打印监测数据;当温度超过或小于预先设定的温度的最大、最小值时,系统还可自动将其控制。通过这些功能,能够保证温度不变。系统具有高抗干扰能力、高控制精度、高设计弹性等优点,能适合各种环境。系统主要运用在提高生活质量和生产效率。同样,此系统可广泛应
4、用在热水器、生物培养液、实验室等。所以此系统的设计有着深远的意义。设计大体可分为硬件设计和软件设计。本文中主要以PID算法为主要研究对象,为克服PID算法适应能力弱的缺点,结合模糊理论研究了一种基于模糊推理的自适应PID控制算法。模糊控制作为智能控制的一个重要分支,有着无需知道被控对象的数学模型和较强的鲁棒性两大特点,而控制系统是一个大惯性、非线性、慢时变的系统,不易得出精确数学模型,因而采用模糊控制的方法,实现对温度的控制,可有效地提高温度的热效益和加热质量。模糊控制是以模糊集合、模糊语言变量和模糊逻辑推理为基础的计算机数字控制技术。它包括三个步骤,即精确量的模糊化;规则库的建立;解模糊化。
5、 本文首先论述了模糊PID控制的理论基础,介绍了模糊控制的原理及模糊PID的结构和设计。然后分析了电加热炉的组成,求出了环节的传递函数,建立了电加热炉系统模型。再次基础上设计了适用于温度控制系统的模糊PID控制器,利用MATLAB进行仿真,对控制效果进行了详细的分析。仿真结果表明模糊PID控制器不依赖于系统模型,在响应速度、稳态精度及对干扰的抑制能力等方面均优于常规PID,尤其适用于像电加热炉系统这样的非线性、大滞后且随时干扰严重的系统。最后通过实验室实验进一步验证了该控制器的控制效果。 本文研究结果证明:模糊控制在加热炉中的应用是可行的,它可以极大的改善控制效果,在未来加热炉的应用中具有极大
6、的潜力。温控制系统采用一种非线性补偿的综合原理和方法,这种方法能使系统自动地在两种不同的特性曲线上切换运行,解决了普通温度控制系统的动态温度误差与稳态温度误差两者之间的矛盾,而且结构简单,实施容易。最后利用利用Matlab对不同的控制算法进行了仿真实验,发现基本PID控制最大的缺点就是控制器参数不能随被控对象的改变而改变,因此不能满足在高精度控制领域中时变系统的控制精度要求;而模糊控制以其鲁棒性强,对参数变化不敏感等优点已经在多个领域有着广泛的应用。为此将模糊推理引入到PID控制策略中,仿真试验证明基于模糊推理的自适应PID控制算法提高了传统PID算法的适应能力及控制精度。另外结合项目要求进行
7、了控制系统的Matlab的仿真实验,并给出了仿真结果,证明本文中所使用的模糊自适应PID控制算法和温度系统设计的合理性和有效性。温控制系统采用一种非线性补偿的综合原理和方法,这种方法能使系统自动地在两种不同的特性曲线上切换运行,解决了普通温度控制系统的动态温度误差与稳态温度误差两者之间的矛盾,而且结构简单,实施容易2 系统大体设计智能温度控制的硬件设计方框图如图1,硬件系统包括单片机、温度监测电路、按键控制电路、时钟电路、显示部分、报警部分、驱动电路、外设内存和打印机。由于AT89S51单片机,DS18B20温度传感器可以将被测信号转化为数字信号,之后信号将送到单片机进行处理。最后,温度值将会
8、在LCD 12232F液晶显示屏。这些步骤都是为实现温度监测。按键接口芯片HD7279可用来设定温度值,用单片机保持一定的温度,用LCD显示温度控制值。此外,时钟芯片DS1302用以显示时间,外设内存6264和迷你打印机TpP-40/BC分别用来存储和打印监视数据,当温度超过或小于预先设定的温度的最大、最小值时,蜂鸣器将报警。3 硬件设计(1)单片机 AT89S51单片机是一种低功耗,高性能的CMOS8位,容量为4K,系统内置可编程闪存的微型控制器。该设备采用Atmel的高集成度、非易失性内存技术,并与业界标准的80C51的指令系统和引脚相兼容。结合一片万能8位CPU和系统内置可编程闪存在一片
9、集成电路芯片上,这使Atmel AT89S51单片机成为了一个能提供高灵活性和低能耗的嵌入式控制应用器件。单片机微型控制系统如图2。此外,6264作为外设扩展内存以实现存储监测数据,它是低功耗、8K容量的一片静态随机存取存储器芯片。因为系统包括打印机,为了节省记忆空间和防止地址空间重叠,一片2-4译码器74LS139芯片接于系统。(2)温度监测电路温度传感器是系统的核心,达拉斯DS18B20温度传感器支持单总线接口,所有的传感器部分和模数转化电路都像晶体管一样集成在一块芯片。测量温度的范围为:-55125,其中-1085的精确度是0.5。由DS18B20温度传感器测量的温度通过单接口总线传输,
10、这样提高了系统的抗干扰能力,使其可以在各种环境下正常的工作。温度监测电路如图3.DS18B20温度传感器有两种供电方式。第一种是外设供电方式:DS18B20第一管脚接地;第二管脚作为信号线;第三管脚接电源。第二种是供电方式:此种供电方式有诸多不便,如 增加了硬件电路的复杂化,增大了软件控制的难度,降低芯片工作功能等等。但是,DS18B20可以直接以外置电源的连接方式与单片机的I/O相接。因此,DS18B20第二管脚与AT89S51单片机P1.3管脚相接,以实现外置电源。实际上,为了实现远程控制,可以将系统设计成无线电模式,以突破单总线的距离的不足。(3)LCD电路 LCD 12232F可用来显
11、示字母、温度值和时间,并提供一个友好的显示屏接口。12232F是一个可提供容量为8192个,像素为12832的汉字数据库,和128个,像素为168,可以进行制图学编码的ASCII码。它主要包括:列和行的(驱动),以及12832像素的LCD,用以显示图形和7.52的汉字。12232F以串联或并联的形式与CPU相连,为了节省硬件的资源,12232F的四个输出端与AT89S51单片机串联。电路的连接方式如图4。 LCD液晶屏的灰度可以通过与LCD Vlcd管脚相接的可调电位器调节。SID用以传输数据,CS为LCD使能端,L+用以控制LCD背光灯。(4)时钟电路Dallas DS1302时钟芯片是高性
12、能、低能耗,带随机存取存储器的时钟芯片。DS1302有日历时钟和调整时间的功能。时间数据被读取并送到AT89S51进行处理,然后在LCD上显示。同时,时间可以用按键进行调整。时钟电路如图5所示。DS1302时钟芯片的晶振频率设定为32768HZ,补偿电容最好为6pF左右。晶振频率比较低,所以可能不会与电容相连,但是不会对时间的精确度产生较大的影响。后备电源可以与3.6V充电电源相连接。(5)按键控制电路系统的按键接口由HD7279A驱动。HD7279A由5V单电源供电,而且无需任何外部驱动,直接与按键和显示屏连接。根据系统的需求,实现其功能只需7个按键,系统的功能由AT89S51单片机所接受数
13、据决定。为了节省外部电阻,可用7个相同的按键,其地址编码分别为07H,0FH, 17H, 1FH, 27H, 2FH, 37H。此顺序可由编码说明获得。HD7279A与AT89S51以串联形式连接,只用到4个端口。如图6所示。DIG0DIG6和DP按键分别是行和列的输入端口,其功能是实现按键的控制,译码锁码。(6)报警电路为了简化电路和方便程序的调试,一个蜂鸣器用当充当报警装置,这使得软件编程更加简单。如图7所示,蜂鸣器由与AT89S51单片机P1.2管脚连接的9012PNP三极管控制,当温度超过或小于预先设定的温度的最大、最小值时,P2.5输出端口输出低电平,使三极管导通,同时蜂鸣器报警工作
14、。(7)驱动电路用步进电机作为温度控制的驱动装置。四相八拍脉冲分配模式是用来驱动电机,而简单的延时程序是用来处理脉冲之间的时间间隔,以获得不同的转速。步进电机共有两种输出状态。一种是,当温度超过设定最高温度值时,电机反转,以降低温度。当温度低于设定最低温度值时,电机正传,以升高温度。除非不等于预设值。第二种是,当温度达到两值之间,等于预设值时,电机停止。通过这些步骤可以实现温度控制。此外,可以用相应的按键调节电机的速度。如图8所示,代码数据由AT89S51的A11A8口 (be P2.3P2.0)输入。并且被逆变器74LS04反向输出。最后被2803A功率放大器放大,以驱动电机。(8)打印机打
15、印机接口电路用以连接打印机和AT89S51,打印监测数据。系统采用比较流行的TPP-40B/打印机,这是由AT89S51控制的超小型智能点阵打印机,每行可打印40个5 7点阵字符,具有丰富的打印命令,240种码字符印刷和图形功能。有一个锁存器的输入电路和输出电路的三态门的功能,使打印机可以连接到数据总线的单片机AT89S51的情况下直接接口电路。而对于这种类型的连接,只有查询模式时使用打印机控制的单片机AT89S51,也就是说它是忙的信号状态查询。该接口电路如图9所示。4 软件设计按照总体设计要求和系统硬件硬件电路原理,硬件连接,每个模块芯片和功能要求的特性,以及软件可读性的进步,可移植性和调
16、试的方便,需要使软件模块化。系统流程主要包括以下8个步骤:POST(加电自检),系统启动,温度检测,报警处理,温度控制,时钟芯片DS1302的操作,液晶显示和按键操作。主程序流程图如图10所示。分析一下上述的8个步骤,可以容易的发现,后5个步骤是需要实时操作的。至于温度的监测,可以用定时器0定时1秒实现,也就是每秒都进行温度的监测。系统的启动包括,全局变量定义,RAM启动,特殊功能寄存器启动以及外部设备启动。全局变量的定义,主要是完成对与AT89S51单片机连接的外部接口的定义,以及对内存单位特殊定义。RAM启动,开始主要是指RAM的内存处理。例如,当系统通电时间码将在内部单位地址或闪烁标志存
17、储的信息将被清除。特殊功能寄存器启动包括加载启动定时器初值的开放中断。例如,当系统通电定时器初始化。外部设备的启动,是指设置外围设备的初始值。例如,当系统通电后,LCD应该被初始化,显示器应该启动,温度转换命令必须先发出,时钟芯片DS1302也要被初始化。报警处理主要是降低和提高温度,使温度保持在预设范围内。当温度保持在的设定范围之间,即根据预设值,升高或降低温度。这样做,温度等于设定值,从而达到控制温度的目标。5 结论温度控制系统具有以下优点:高智能化,友好的人机交流界面,硬件简单,成本低,温度控制精度高(1C距离误差),便利性和多功能性等,可广泛使用-55至125范围内的场合,且有一定的实
18、用价值。6 参考文献1 YU Jin and YAO Yan, “Temperature Control System Based on。DS18B20,” CONTROL & AUTOMATION, vol. 25, no. 8, pp. 105,2009 (in Chinese).2 LI Ping and ZHOU Yucai, “A Design of the Temperature Test System based on Grouping DS18B20,” 2nd IEEE Conference on Industrial Electronics and Applications
19、, pp. 188189, May 2007.3 HUANG Xiaobo, “Temperature Monitored System Based on AT89S52,Single-chip Computer and DS18B20 Temperature Sensor,” CONTROL& AUTOMATION, vol. 24, no. 29, pp. 120, 2008 (in Chinese).4 LOU Ranmiao and LI Guangfei, “Course Design Guidelines of Single Chip Microcomputer,” Beijing
20、: Beijing University of Aeronautics and Astronautics Press, 2007, pp. 60 (in Chinese).5 MOU Huajian and CHEN Xuehuang, “Realization of LCD DefinitionCharacter Function,” MODERN ELECTRONICS TECHNIQUE, vol.29, no. 21, pp. 154, 2006 (in Chinese).6 LIU Lvshan, LIU Jianqun and LI Shiyong, “Temperature Co
21、ntrolSystem Based on AT89S52 Single Chip Microcomputer,” CONTROL& AUTOMATION, vol. 23, no. 17, pp. 99, 2007 (in Chinese).7 DONG Limei, WANG Fei and WANG Haisong, “TemperatureMeasurement and Alarm System Based on SCM AT89S52,”CONTROL& AUTOMATION, vol. 25, no. 11, pp. 125, 2009 (in Chinese).基于52单片机的地下
22、煤矿温度控制装置设计Qingdong WANGSchool of Mechanical and Electrical EngineeringHebei University of EngineeringHandan, China2009 2nd International Conference on Power Electronics and Intelligent Transportation System摘要:煤矿下的温度是一个非常重要的技术指标,特别是对于矿井下工作人员来说。人们有必要设计一种温度控制和调节的系统去有效地监控温度。温度值依行在LED液晶屏上显示。当温度值达到额定最大温度时
23、,由MCU控制,并与调节装置连接的继电器将工作。温度信号和控制信息将由nRF9O5无线电信号传输模块传送。系统由传感器控制部分和温度值显示部分组成。控制的程序将基于传感器的传输协议编写。无线电数据传输的程序将被在各个数据传输模块之间调试。如果煤矿下的温度不正常,报警系统将会给工作人员提供可靠的信息。这样,煤矿温度的监控将得以实现。关键词:温度传感器 DS18B2O、AT89S52单片机、nRF9O5、煤矿温度控制1 简介矿井下的环境非常恶劣,任何意外随时都可能发生。因此,为了保证矿井下的安全生产,人们需要随时监测井下的各种参数,例如:温度、压力、瓦斯浓度、风速等。及时的监控温度是保证井下安全作
24、业和生产的重要因素。此外,为了保证测量的准确性,超声波测距技术常常被应用在煤矿作业中。这同样也需要相当准确的温度监测技术。传统温度监测技术仅仅由独立的传感器完成,其缺陷如下:较慢的反应速度、较高的监测错误率、复杂的安装过程和程序调式,以及长距离信息传输。本文将用DS18B2O温度传感器和AT89S52单片机实现智能温度监测和调节。两者结合可实现以下功能:数字计算,直接输出监测温度的数字信号,低温度监测错误率、高温度分辨率、较强的抗干扰能力、长距离信息传输精确。相比于传统的温度监测技术,单片机温度监测技术将实现温度数据的储存与分析,远程信息传输等等功能。DS18B2O系列温度传感器是美国达拉斯公
25、司成产的数字温度传感器。2 单片机介绍单片机也被称为微控制器(Microcontroller),是因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成复杂的而对提及要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。 早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用
26、。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大的提高。随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机
27、上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。 8051单片机由运算器、控制器、寄存器等组成。运算器以完成二进制的算术/逻辑运算部件ALU为核心,再加上暂存器TMP、累加器ACC、寄存器B、程序状态标志寄存器PSW及布尔处理器。累加器ACC是一个八位寄存器,它是CPU中工作最频繁的寄存器。在进行算术、逻辑运算时,累加器ACC往往在运算前暂存一个操作数(如被加数),而运算后又保存其结果(如代数和)。寄存器B主要用于乘法和除法操作。标志寄存器PSW也是一个八位寄存器,用来存放运算结果的一些特征,如有无进位、借位等。其每位的具体含意如下所示。
28、PSW CY AC FO RS1 RS0 OVP对用户来讲,最关心的是以下四点。1. 进位标志CY(PSW7)。它表示了运算是否有进位(或借位)。如果操作结果在最高位有进位(加法)或者借位(减法),则该位为1,否则为0。2.2. 辅助进位标志AC。又称半进位标志,它反映了两个八位数运算低四位是否有半进位,即低四位相加(或减)有否进位(或借位),如有则AC为1状态,否则为0。3. 溢出标志位OV。MCS1反映带符号数的运算结果是否有溢出,有溢出时,此位为1,否则为0。4. 奇偶标志P。反映累加器ACC内容的奇偶性,如果ACC中的运算结果有偶数个1(如11001100B,其中有4个1),则P为0,
29、否则,P=1。PSW的其它位,将在以后再介绍。由于PSW存放程序执行中的状态,故又叫程序状态字,运算器中还有一个按位(bit)进行逻辑运算的逻辑处理机(又称布尔处理机)。其功能在介绍位指令时再说明。关于控制器,控制器是CPU的神经中枢,它包括定时控制逻辑电路、指令寄存器、译码器、地址指针DPTR及程序计数器PC、堆栈指针SP等。这里程序计数器PC是由16位寄存器构成的计数器。要单片机执行一个程序,就必须把该程序按顺序预先装入存储器ROM的某个区域。单片机动作时应按顺序一条条取出指令来加以执行。因此,必须有一个电路能找出指令所在的单元地址,该电路就是程序计数器PC。当单片机开始执行程序时,给PC
30、装入第一条指令所在地址,它每取出一条指令(如为多字节指令,则每取出一个指令字节),PC的内容就自动加1,以指向下一条指令的地址,使指令能顺序执行。只有当程序遇到转移指令、子程序调用指令,或遇到中断时,PC才转到所需要的地方去。8051 CPU指定的地址,从ROM相应单元中取出指令字节放在指令寄存器中寄存,然后,指令寄存器中的指令代码被译码器译成各种形式的控制信号,这些信号与单片机时钟振荡器产生的时钟脉冲在定时与控制电路中相结合,形成按一定时间节拍变化的电平和时钟,即所谓控制信息,在CPU内部协调寄存器之间的数据传输、运算等操作。再来介绍一下存储器,存储器是单片机的又一个重要组成部分,有一种存储
31、容量为256个单元的存储器结构。其中每个存储单元对应一个地址,256个单元共有256个地址,用两位16进制数表示,即存储器的地址(00HFFH)。存储器中每个存储单元可存放一个八位二进制信息,通常用两位16进制数来表示,这就是存储器的内容。存储器的存储单元地址和存储单元的内容是不同的两个概念,不能混淆。单片机还包括程序存储器。程序是控制计算机动作的一系列命令,单片机只认识由“0”和“1”代码构成的机器指令。如前述用助记符编写的命令MOV A,#20H,换成机器认识的代码74H、20H:(写成二进制就是01110100B和00100000B)。在单片机处理问题之前必须事先将编好的程序、表格、常数
32、汇编成机器代码后存入单片机的存储器中,该存储器称为程序存储器。程序存储器可以放在片内或片外,亦可片内片外同时设置。由于PC程序计数器为16位,使得程序存储器可用16位二进制地址,因此,内外存储器的地址最大可从0000H到FFFFH。8051内部有4k字节的ROM,就占用了由0000H0FFFH的最低4k个字节,这时片外扩充的程序存储器地址编号应由1000H开始,如果将8051当做8031使用,不想利用片内4kROM,全用片外存储器,则地址编号仍可由0000H开始。不过,这时应使用EA脚,保持低电平。当EA为高电平时,用户在0000H至0FFFH范围内使用内部ROM,大于0FFFH后,单片机CP
33、U自动访问外部程序存储器。单片机的数据存储器由读写存储器RAM组成。其最大容量可扩展到64k,用于存储实时输入的数据。8051内部有256个单元的内部数据存储器,其中00H7FH为内部随机存储器RAM,80HFFH为专用寄存器区。实际使用时应首先充分利用内部存储器,从使用角度讲,搞清内部数据存储器的结构和地址分配是十分重要的。因为将来在学习指令系统和程序设计时会经常用到它们。8051内部数据存储器地址由00H至FFH共有256个字节的地址空间,该空间被分为两部分,其中内部数据RAM的地址为00H7FH(即0127)。而用做特殊功能寄存器的地址为80HFFH。在此256个字节中,还开辟有一个所谓
34、“位地址”区,该区域内不但可按字节寻址,还可按“位(bit)”寻址。对于那些需要进行位操作的数据,可以存放到这个区域。从00H到1FH安排了四组工作寄存器,每组占用8个RAM字节,记为R0R7。究竟选用那一组寄存器,由前述标志寄存器中的RS1和RS0来选用。在这两位上放入不同的二进制数,即可选用不同的寄存器组。特殊功能寄存器(SFR)的地址范围为80HFFH。在MCS51中,除程序计数器PC和四个工作寄存器区外,其余21个特殊功能寄存器都在这SFR块中。其中5个是双字节寄存器,它们共占用了26个字节。各特殊功能寄存器的符号和地址。其中带*号的可位寻址。特殊功能寄存器反映了8051的状态,实际上
35、是8051的状态字及控制字寄存器。用于CPU PSW便是典型一例。这些特殊功能寄存器大体上分为两类,一类与芯片的引脚有关,另一类作片内功能的控制用。与芯片引脚有关的特殊功能寄存器是P0P3,它们实际上是4个8位锁存器(每个I/O口一个),每个锁存器附加有相应的输出驱动器和输入缓冲器就构成了一个并行口。MCS51共有P0P3四个这样的并行口,可提供32根I/O线,每根线都是双向的,并且大都有第二功能。其余用于芯片控制的寄存器中,累加器A、标志寄存器PSW、数据指针DPTR等的功能前已提及。下面再来谈论如何让单片机如何正常工作。单片机要正常运作,事先需编制程序,再把程序放入存贮器中,然后由CPU执
36、行该程序。程序是由指令组成的,指令的基本组成是操作码和操作数。单片机的品种很多,设计时怎样表示操作码和操作数,都有各自的规定,再有指令代码也各不相同,因此,必须对所选单片机的全部指令,也就是所谓“指令系统”,有足够的了解。各个系列的单片机虽然有不同的指令系统,但也有其共同性。掌握一种单片机的指令系统,对其它系列单片机可以起到触类旁通的作用。MCS51单片机应用广泛、派生品种多、具有代表性。所以,这里以MCS51系列的指令系统为例说明“指令”的组成和应用。例子1,MOV A,#20H:这条指令表示把20H这个数送入累加器A中(一个特殊功能寄存器)。例子2,ADD A,70H:这条指令表示把累加器
37、A中的内容(在上例中送入的#20H)和存贮器中地址为70H单元中的内容(也是一个数字),通过算术逻辑单元(英文缩写为ALU)相加,并将结果保留在A中。这里MOV、ADD等称为操作码,而A、#20H、70H等均称为操作数。在汇编语言程序中,操作码通常由英文单词缩写而成,这样有助于记忆,所以又称助记符。如MOV就是英文单词MOVE的缩写,含有搬移的意思;而ADD即为英文单词,其意为相加。因此,对于略懂英语的用户,掌握单片机指令的含意是较为方便的。操作数有多种表示法,如以上的#20H称为立即数,即20H就是真正的操作数。而70H是存贮器中某个单元的地址,在该单元中,放着操作数(比如说是3AH),AD
38、DA,70H不是将70H和A中的内容相加,而是从存贮器70H单元中将3AH取出和A中的内容相加。由上可知,要找到实际操作数,有时就要转个弯,甚至转几个弯,这个过程称为寻址4:操作数放在RAM某个单元中,该单元的地址又放在寄存器R0或R1中。 如果RAM的地址大于256,则该地址存放在16位寄存器DPTR(数据指针)中,此时在寄存器名前加符号来表示这种间接寻址。如MOV A, R0。其它还有变址寻址、相对寻址、位寻址等,待以后再详细介绍。可能有人会问,在指令中直接给出实际操作数,不是简单明了吗?为什么还要用其它几种寻址方式呢?这是因为在编制程序时很难一下子就给出操作数。如用单片机控制温度时,时时
39、需要将给定的控制温度(如20)减去环境温度,而环境温度时时有变化,显然无法在程序指令中给出,只有通过一定方式,将其送入某个输入/输出口,再存放在某个寄存器中,这就必须用到寄存器寻址。又如要进行算术运算,要计算每班学员各科成绩的平均值,如果把每个学员的各科都编一个程序,在程序中直接给出该学员各科成绩,再求平均值,显然太麻烦。这里可以编一个求平均成绩的通用程序,把每位学员的成绩送入存贮器的各个单元中,这时可采取直接寻址,一个程序可供每个学员用,不是更方便吗?所以,寻址方式越多,编制程序就越方便、灵活,适用范围就越广,寻址有如找人,如被找的人有手机、BP机、座机电话等多种联系方式则就容易找到他,单片
40、机也是如此,寻址方式越多,找操作数越方便,单片机的功能就越强。前面介绍51系列单片机的寻址方式时,常遇到单片机内部的一些寄存器、累加器A、通用寄存器R0R7、数据指针DPTR和存贮器等。在以后介绍指令时,数据就要在这些寄存器、存贮器之间传送,或者进行运算。因此,编制程序就需熟悉单片机的内部结构。8051单片机的内部总体结构其基本特性:8位CPU、片内振荡器、4k字节ROM、128字节RAM、21个特殊功能寄存器、32根I/O线可寻址的64k字节外部数据、程序存贮空间、2个16位定时器、计数器,中断结构:具有二个优先级、五个中断源、一个全双口串行口位寻址(即可寻找某位的内容)功能,适于按位进行逻
41、辑运算的位处理器。除128字节RAM、4k字节ROM和中断、串行口及定时器模块外,还有4组I/O口P0P3,余下的就是CPU的全部组成。把4kROM换为EPROM就是8751的结构,如去掉ROM/EPROM部分即为8031的框图,如果将ROM置换为Flash存贮器或EEPROM,或再省去某些I/O,即可得到51系列的派生品种,如89C51、AT89C2051等单片机的框图。单片机各部分是通过内部的总线有机地连接起来的。3 温度控制系统的硬件设计装置由DS18B2O系列温度传感器,AT89S52单片机、显示模块和继电器控制模块。主要硬件框架图见图(1)DS18B20 数字温度计提供 9-12位摄
42、氏温度测量而且有一个由高低电平触发的可编程的不因电源消失而改变的报警功能。DS18B20 通过一个单线接口发送或接受信息,因此在中央处理器和 DS18B20 之间仅需一条连接线(加上地线)。它的测 温范围为-55125,并且在-1085精度为5。除此之外,DS18B20 能直接从单线通讯线上汲取能量,除去了对外部电源的需求。每个DS18B20都有一个独特的64位序列号,从而允许多只 DS18B20 同时连在 一根单线总线上;因此,很简单就可以用一个微控制器去控制很多覆盖在一大片 区域的 DS18B20。这一特性在 HVAC 环境控制、探测建筑物、仪器或机器的温度以及过程监测和控制等方面非常有用
43、。图 1 是表示 DS18B20 的方框图,表 1 已经给出了引脚说明。64 位只读存储器储 存器件的唯一片序列号。高速暂存器含有两个字节的温度寄存器,这两个寄存器 用来存储温度传感器输出的数据。除此之外,高速暂存器提供一个直接的温度报 警值寄存器(TH 和 TL),和一个字节的的配置寄存器。配置寄存器允许用户将温 度的精度设定为 9,10,11 或 12 位。TH,TL 和配置寄存器是非易失性的可擦除 程序寄存器(EEPROM),所以存储的数据在器件掉电时不会消失。DS18B20通过达拉斯公司独有的单总线协议依靠一个单线端口通讯。当全部器件 经由一个3态端口或者漏极开路端口(DQ引脚在DS1
44、8B20上的情况下)与总线连接 的时候,控制线需要连接一个弱上拉电阻。在这个总线系统中,微控制器(主器 件)依靠每个器件独有的64位片序列号辨认总线上的器件和记录总线上的器件地 址。 由于每个装置有一个独特的片序列码,总线可以连接的器件数目事实上是无 限的。单总线协议,包括指令的详细解释和“时序”单总线系统。DS18B20的另一个功能是可以在没有外部电源供电的情况下工作。当总线处于高 电平状态,DQ与上拉电阻连接通过单总线对器件供电。同时处于高电平状态的总 线信号对内部电容(Cpp)充电,在总线处于低电平状态时,该电容提供能量给器件。这种提供能量的形式被称为“寄生电源”。作为替代选择,DS18
45、B20同样可以通过VDD引脚连接外部电源供电。引脚说明GND地 DQ数据 I/O 对于单线操作: 漏极开路。当工作在寄生电源模式时 用来提供电源(建“寄生电源”节)。VDD可选电源电压NC无连接单总线信号DS18B20 需要严格的单总线协议以确保数据的完整性。协议包括集中单总线信号 类型:复位脉冲、存在脉冲、写 0、写 1、读 0 和读 1。所有这些信号,除存在 脉冲外,都是由总线控制器发出的。复位序列:复位和存在脉冲DS18B20 间的任何通讯都需要以初始化序列开始,初始化序列见图 13。一个复位脉冲跟着一个存在脉冲表明 DS18B20 已经准备好发送和接收数据。在初始化序列期间,总线控制器
46、拉低总线并保持 480us 以发出(TX)一个复位脉 冲,然后释放总线,进入接收状态(RX)。单总线由 5K 上拉电阻拉到高电平。当 DS18B20 探测到 I/O 引脚上的上升沿后,等待 15-60us,然后发出一个由 60-240us 低电平信号构成的存在脉冲。读/写时序DS18B20 的数据读写是通过时序处理位来确认信息交换的。写时序由两种写时序:写1时序和写 0 时序。总线控制器通过写 1 时序写逻辑 1 到 DS18B20,写 0 时序写逻辑 0 到 DS18B20。所有写时序必须最少持续 60us,包括 两个写周期之间至少 1us 的恢复时间。当总线控制器把数据线从逻辑高电平拉到
47、低电平的时候,写时序开始(见图14)。总线控制器要生产一个写时序,必须把数据线拉到低电平然后释放,在写时序开 始后的 15us 释放总线。当总线被释放的时候,5K 的上拉电阻将拉高总线。总控 制器要生成一个写 0 时序,必须把数据线拉到低电平并持续保持(至少 60us)。总线控制器初始化写时序后,DS18B20 在一个 15us 到 60us 的窗口内对 I/O 线采样。如果线上是高电平,就是写 1。如果线上是低电平,就是写 0。 DS18B2O系列温度传感器将温度模拟量转化为带正负号的数字量(由16位补码表示,容量2字符),输出管脚直接与单片机P1.2相连,Ri为上拉电阻,传感器使用外置电源
48、供电。P1.7接继电器,P0口接LED显示屏。AT89S52单片机是整套设备控制的核心,显示模块包括四组共阳极发光二极管LED和四个9012三极管。传感器、温度显示、继电器控制的读写则完全由系统程序控制。4 无线电信号传输系统设计 如图1所示,被测信号通过无线传输模块传输。矿井下信号有线传输有以下几个缺点。(1)井下煤矿的开采通过轴承和管道发掘。也就是说,井下开采需要使用大量的设备。因此很难在轴承和管道中铺设配线,而且井下恶劣的环境也会很大程度影响信号的传输。 (2)当井下机器运转时,工作人员需要时刻检查信号传输的电缆。这样就增加了工作人员的劳动强度。 (3)依照现行连接方式的长距离传感器信号传输可能会导致大量错误。为了减少错误,需要安装长距离电缆驱动和安全栅栏。这就增加了工程成本、 (4)维持井下正常生产的