1、. .基于AT89C51单片机的温度传感器目 录摘 要IABSTRACTII第一章 绪论11.1 课题背景11.2本课题研究意义21.3本课题的任务21.4系统整体目标3第二章方案论证比较与选择42.1 引言42.2方案设计42.2.1 设计方案一4 2.2.2 设计方案二42.2.3 设计方案三42.3 方案的比较与选择52.4 方案的阐述与论证5第三章硬件设计73.1 温度传感器73.1.1 温度传感器选用细那么73.1.2 温度传感器DS18B2083.2.单片机系统设计153.3 显示电路设计183.4 键盘电路设计203.5 报警电路设计213.6 通信模块设计223.6.1 RS-
2、232接口简介223.6.2 MAX232芯片简介233.6.3 PC机与单片机的串行通信接口电路24第四章软件设计264.1 软件开发工具的选择264.2 系统软件设计的一般原那么274.3系统软件设计的一般步骤274.4 软件实现284.4.1系统主程序流程图284.4.2 传感器程序设计284.4.3 显示程序设计344.4.4 键盘程序设计364.4.5 报警程序设计384.4.6 通信模块程序设计39第五章调试与小结41致谢42参考文献43附录44系统电路图44系统程序45. .word. .基于AT89C51单片机的温度传感器摘 要随着社会的进步和工业技术的开展,人们越来越重视温度
3、因素,许多产品对温度X围要求严格,而目前市场上普遍存在的温度检测仪器大都是单点测量,同时有温度信息传递不及时、精度不够的缺点,不利于工业控制者根据温度变化及时做出决定。在这样的形式下,开发一种能够同时测量多点,并且实时性高、精度高,能够综合处理多点温度信息的测量系统就很有必要。本课题以AT89C51单片机系统为核心,能对多点的温度进展实时巡检。DS18B20是一种可组网的高精度数字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。本文结合实际使用经历,介绍了DS18B20数字温度传感器在单片机下的硬件连接及软件编程,并给出了软件流
4、程图。关键词:温度测量;单总线;数字温度传感器;单片机 AbstractAs the industry and the society developing, the temperature bees more and more important and a lot of products are sensitive to temperature. However, temperaturemeasuring apparatus in the market now only can check and measure the temperature of one point, at the s
5、ame time, the temperature information is not real time and the precision is low. It takes a great of troubles for the industry-controllers to make decision .In this situation, design and implement one applicable system which can watch measure and control the temperature and the measuring results is
6、real time and the precision is great is more essential. In order to meeting this application, this paper talk about The Multiple-Points temperature Measuring System.This system based on single chip puter, can inspect and control multiple temperatures in real time.As a kind of high-accuracy digital n
7、et temperature sensor,DS18 B20 can be used building a sensor net easily. It can also make the net simple and reliable with its special 1-wire interface .This paper introduces the application of DS18B20 with single chip processor.Key words: temperature measure;single bus;digital thermometer;single ch
8、ip processor;. .word. .第一章 绪论1.1 课题背景在人类的生活环境中,温度扮演着极其重要的角色。无论你生活在哪里,从事什么工作,无时无刻不在与温度打着交道。自18世纪工业革命以来,工业开展对是否能掌握温度有着绝对的联系。在冶金、钢铁、石化、水泥、玻璃、医药等等行业,可以说几乎%80的工业部门都不得不考虑着温度的因素。温度对于工业如此重要,由此推进了温度传感器的开展。传感器主要大体经过了三个开展阶段:模拟集成温度传感器。该传感器是采用硅半导体集成工艺制成,因此亦称硅传感器或单片集成温度传感器。此种传感器具有功能单一(仅测量温度)、测温误差小、价格低、响应速度快、传输距离远
9、、体积小、微功耗等,适合远距离测温、控温,不需要进展非线性校准,外围电路简单。它是目前在国内外应用最为普遍的一种集成传感器,典型产品有AD590、AD592、TMP17、LM135等;模拟集成温度控制器。模拟集成温度控制器主要包括温控开关、可编程温度控制器,典型产品有LM56、AD22105和MAX6509。某些增强型集成温度控制器(例如TC652/653)中还包含了A/D转换器以及固化好的程序,这与智能温度传感器有某些相似之处。但它自成系统,工作时并不受微处理器的控制,这是二者的主要区别;智能温度传感器。能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的。它是微电子技术、计算机
10、技术和自动测试技术(ATE)的结晶。智能温度传感器内部都包含温度传感器、A/D转换器、信号处理器、存储器(或存放器)和接口电路。有的产品还带多路选择器、中央控制器(CPU)、随机存取存储器(RAM)和只读存储器(ROM)。智能温度传感器的特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU);并且它是在硬件的根底上通过软件来实现测试功能的,其智能化程度也取决于软件的开发水平。温度传感器的开展趋势。进入21世纪后,温度传感器正朝着高精度、多功能、总线标准化、高可靠性及平安性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速开展。传感器在温度测控系统中的应用。目前市场主要
11、存在单点和多点两种温度测量仪表。对于单点温测仪表,主要采用传统的模拟集成温度传感器,其中又以热电阻、热电偶等传感器的测量精度高,测量X围大,而得到了普遍的应用。此种产品测温X围大都在-200800之间,分辨率12位,最小分辨温度在0.0010.01之间。自带LED显示模块,显示4位到16位不等。有的仪表还具有存储功能,可存储几百到几千组数据。该类仪表可很好的满足单个用户单点测量的需要。多点温度测量仪表,相对与单点的测量精度有一定的差距,虽然实现了多路温度的测控,但价格昂贵。针对目前市场的现状,本课题提出了一种可满足要求、可扩展的并且性价比高的单片机多路测温系统。1.2本课题研究意义随着科学技术
12、的不断进步与开展,温度控制在工业控制、电子测温计、医疗仪器、家用电器等各种温度控制系统中广泛应用,且由过去的单点测量向多测量开展。目前温度传感器有模拟和数字两类传感器,为了克制模拟传感器与微处理器接口时需要信号调理电路和AD转换器的弊端,大多数多点测温控制系统采用数字传感器,并大大方便了系统的设计。比较有代表性的数字温度传感器有DS18B20、MAX6575、DS1722、MAX6635、SMT160-30等。在传统的温度测量系统设计中,往往采用模拟技术进展设计,这样就不可防止地遇到诸如引线误差补偿、多点测量中的切换误差和信号调理电路的误差等问题;而其中某一环节处理不当,就可能造成整个系统性能
13、的下降。随着现代科学技术的飞速开展,特别是大规模集成电路设计技术的开展,微型化、集成化、数字化正成为传感器开展的一个重要方向。美国Dallas半导体公司推出的数字温度传感器DS18B20,具有独特的单总线接口,仅需要占用一个通用I/0端口即可完成与微处理器的通信;在-10+85温度X围内具有05精度;用户可编程设定912位的分辨率。以上特性使得DS18B20非常适用于构建高精度、多点温度测量系统。1.3本课题的任务本课题主要是实现对温度进展多点同时测量并准确显示。整个系统由单片机控制,要能够接收传感器的数据并显示出来,可以从键盘输入命令,系统根据命令,选择对应的传感器,并由驱动电路驱动温度显示
14、。设计一种合理、可行的单片机监控软件,完成多点测量和显示的任务,并编写硬件底层驱动程序。1.4系统整体目标利用一个单片机设计一个能够进展多点温度进展同时测量的系统。该系统能够同时对多个点的温度进展测量和进展显示,并且能够对异常情况进展报警。. .word. .第二章 方案论证比较与选择2.1 引言温度测量的方案有很多种,可以采用传统的分立式传感器、模拟集成传感器以及新兴的智能型传感器。对于控制系统可以采用计算机、单片机等。2.2方案设计2.2.1 设计方案一采用模拟分立元件,如电容、电感或晶体管等非线形元件,实现多点温度的测量及显示,该方案设计电路简单易懂,操作简单,且价格廉价,但采用分立元件
15、分散性大,不便于集成数字化,而且测量误差大。2.2.2 设计方案二本方案采用AT89C51单片机为核心,通过温度传感器AD590采集温度信号,经信号放大器放大后,送到A/D转换芯片,最终经单片机检测处理温度信号。 图2.1 方案二的框图如图2.1,采用该方案技术已经成熟,AD转换电路设计较烦琐,而且使用AD590进展温度检测必须对冷端进展补偿,以减小误差。2.2.3 设计方案三本设计运用主从分布式思想,由一台上位机PC微型计算机,下位机单片机多点温度数据采集,组成两级分布式多点温度测量的巡回检测系统。该系统采用 RS-232串行通讯标准,通过上位机PC控制下位机单片机进展现场温度采集。温度值既
16、可以送回主控PC进展数据处理,由显示器显示。也可以由下位机单独工作,实时显示当前各点的温度值,对各点进展控制。 下位机采用的是单片机基于数字温度传感器DS18B20的系统。DS18B20利用单总线的特点可以方便的实现多点温度的测量,轻松的组建传感器网络,系统的抗干扰性好、设计灵活、方便,而且适合于在恶劣的环境下进展现场温度测量。本系统可以应用在大型工业及民用常温多点监测场合。如粮食仓储系统、楼宇自动化系统、温控制程生产线之温度影像检测、医疗与健诊的温度测试、空调系统的温度检测、石化、机械等。系统框图如下:图2 .2 方案三的系统框图2.3 方案的比较与选择基于数字式温度计DS18B20的温度测
17、量仪的硬软件开发过程,DS18B20将温度信号直接转换为数字信号,实现了与单片机的直接接口,从而省去了信号调理电路。该仪器电路简单、功能可靠、测量效率高,很好地弥补了传统温度测量方法的缺乏。相对与方案1,在功能、性能、可操作性等方面都有较大的提升。相对与方案2,硬件电路简单,易于操作,具有更高的性价比,更大的市场。所以我采用方案3完本钱设计。2.4 方案的阐述与论证 方案三以DS18B20为传感器、AT89C51单片机为控制核心组成多点温度测试系统,该系统包括传感器电路、键盘与显示电路、串口通信电路等组成部。采用美国Dallas半导体公司推出的数字温度传感器DS18B20,属于新一代适配微处理
18、器的智能温度传感器。它具有独特的单总线接口,仅需要占用一个通用I/0端口即可完成与微处理器的通信。全部传感元件及转换电路集成在形如一只三极管的集要求通过简单的编程实现912位的数字值读数方式。其可以分别9375ms和750ms内完成9位和12位的数字量,最大分辨率为0.0625,而且从DS18B20读出或写入DS18B20的信息仅需要一根口线(单线接口)读写。它有如下的性能特点:1)独特的单线接口,既可通过串行口线,也可通过其它I/O口线与微机接口,无需变换其它电路,直接输出被测温度值;2)多点能力使分布式温度检测应用得以简化;3)不需要外部元件;4) 既可用数据线供电,也可采用外部电源供电;
19、5)不需备份电源;6) 测量X围为-55+125,固有测温分辨率为05;7)通过编程可实现912位的数字读数方式;8)用户可定义非易失性的温度告警设置;9)警告搜索命令能识别和寻址温度在编定的极限之外的器件(温度警告情况);10)应用X围包括恒温控制、工业系统、消费类产品、温度计或任何热敏系统。以上特性使得DS18B20非常适用于构建高精度、多点温度测量系统。根据DS18B20以上的特点我选用方案三来实现本课题。. .word. .第三章 硬件设计本课题研究的多点测温系统是以单片机和单总线数字温度传感器DS18B20为核心,充分利用单片机优越的内部和外部资源及数字温度传感器DS18B20的优越
20、性能构成一个完备的测温系统,实现对温度的多点测量。整个系统由单片机控制,能够接收传感器的温度数据并显示出来,可以从键盘输入命令,系统根据命令,选择对应的温度传感器,并由驱动电路驱动温度显示。本课题设计了一种合理、可行的单片机监控软件,完成测量和显示的任务。由于单片机具有强大的运算和控制功能,使得整个系统具有模块化、硬件电路简单以及操作方便等优点。本课题的整个系统是由单片机、显示电路、键盘电路、驱动电路,串口通信等构成。3.1 温度传感器3.1.1 温度传感器选用细那么现代传感器在原理与构造上千差万别,如何根据具体的测量目的、测量对象以及测量环境合理地选用传感器,是在进展某个量的测量时首先要解决
21、的题。当传感器确定之后,与之相配套的测量方法和测量设备也就可以确定了。测量结果的成败,在很大程度上取决于传感器的选用是否合理。1) 根据测量对象与测量环境确定传感器的类型要进展个具体的测量工作,首先要考虑采用何种原理的传感器,这需要分析多方面的因素之后才能确定。因为,即使是测量同一物理量,也有多种原理的传感器可供选用,哪一种原理的传感器更为适宜,那么需要根据被测量的特点和传感器的使用条件考虑以下一些具体问题:量程的大小;被测位置对传感器体积的要求;测量方式为接触式还是非接触式;信号的引出方法,有线或是非接触测量;传感器的来源,国产还是进口,价格能否承受,还是自行研制。2灵敏度的选择通常,在传感
22、器的线性X围内,希望传感器的灵敏度越高越好。因为只有灵敏度高时,与被测量变化对应的输出信号的值才比较大,有利于信号处理。但要注意的是,传感器的灵敏度高,与被测量无关的外界噪声也容易混入,也会被放大系统放大,影响测量精度。因此,要求传感器本身应具有较高的信噪比,尽员减少从外界引入的串扰信号3频率响应特性传感器的频率响应特性决定了被测量的频率X围,必须在允许频率X围内保持不失真的测量条件,实际上传感器的响应总有定延迟,希望延迟时间越短越好。传感器的频率响应高,可测的信号频率X围就宽,而由于受到构造特性的影响,机械系统的惯性较大,因有频率低的传感器可测信号的频率较低。4线性X围传感器的线形X围是指输
23、出与输入成正比的X围。以理论上讲,在此X围内,灵敏度保持定值。传感器的线性X围越宽,那么其量程越大,并且能保证一定的测量精度。在选择传感器时,当传感器的种类确定以后首先要看其量程是否满足要求。但实际上,任何传感器都不能保证绝对的线性,其线性度也是相对的。当所要求测量精度比较低时,在一定的X围内,可将非线性误差较小的传感器近似看作线性的,这会给测量带来极大的方便。5 稳定性传感器使用一段时间后,其性能保持不变化的能力称为稳定性。影响传感器长期稳定性的因素除传感器本身构造外,主要是传感器的使用环境。因此,要使传感器具有良好的稳定性,传感器必须要有较强的环境适应能力。在选择传感器之前,应对其使用环境
24、进展调查,并根据具体的使用环境选择适宜的传感器,或采取适当的措施,减小环境的影响。6 精度精度是传感器的一个重要的性能指标,它是关系到整个测量系统测量精度的一个重要环节。传感器的精度越高,其价格越昂贵,因此,传感器的精度只要满足整个测量系统的精度要求就可以,不必选得过高。这样就可以在满足同一测量目的的诸多传感器中选择比较廉价和简单的传感器。如果测量目的是定性分析的,选用重复精度高的传感器即可,不宜选用绝对量值精度高的;如果是为了定量分析,必须获得准确的测量值,就需选用精度等级能满足要求的传感器。对某些特殊使用场合,无法选到适宜的传感器,那么需自行设计制造传感器。自制传感器的性能应满足使用要求。
25、3.1.2 温度传感器DS18B20DS18B20型单线智能温度传感器,属于新一代适配微处理器的智能温度传感器。全部传感元件及转换电路集成在形如一只三极管的集成电路内。与传统的热敏电阻相比,它能够直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式。其可以分别9375ms和750ms内完成9位和12位的数字量,最大分辨率为00625,而且从DS18B20读出或写入DS18B20的信息仅需要一根口线(单线接口)读写。 DS18B20的性能特点单线数字化智能集成温度的传感器,其特点是: DSI8B20可将被测温度直接转换成计算机能识别的数字信号输出,温度值不需要经电桥电路
26、先获取电压模拟量,再经信号放大和AD转换成数字信号,解决了传统温度传感器存在的因参数不一致性,在更换传感器时会因放大器零漂而必须对电路进展重新调试的问题,使用方便 DS18B20能提供9到12位温度读数,精度高,且其信息传输只需1根信号线,与计算机接口十分简便,读写及温度变换的功率来自于数据线而不需额外的电源 每一个DS18B20都有一个惟一的序列号,这就允许多个DS18B20连接到同一总线上尤其适合于多点温度检测系统负压特性:当电源极性接反时,DS18B20虽然不能正常工作,但不会因发热而烧毁正是由于具有以上特点,DS18B20在解决各种误差、可靠性和实现系统优化等方面与传统各种温度传感器相
27、比,有无可比较的优越性,因而广泛应用于过程控制、环境控制、建筑物、机器设备中的温度检测。其外形和管脚如以下图:图3.1 DS18B20外部形状及管脚图DS18B20与单片机的典型接口设计DS18B20测温系统具有测温系统简单、测温精度高、连接方便、占用口线少等优点。Dsl8B20与单片机的硬件连接有两种方法:一是Vcc接外部电源,GND接地,I/0与单片机的I/0线相连;二是用寄生电源供电,此时,UDD和GND接地,I/0接单片机I/0。无论是哪种供电方式,I/0口线都要接47k Q左右的上拉电阻。图4给出了DSl8B20与微处理器的典型连接。DS18B20寄生电源供电方式:如下面图3.2(a
28、)所示,在寄生电源供电方式下,DS18B20从单线信号线上汲取能量:在信号线DQ处于高电平期间把能量储存在内部电容里,在信号线处于低电平期间消耗电容上的电能工作,直到高电平到来再给寄生电源电容充电。 独特的寄生电源方式有三个好处:1) 进展远距离测温时,无需本地电源2) 可以在没有常规电源的条件下读取ROM3) 电路更加简洁,仅用一根I/O口实现测温要想使DS18B20进展准确的温度转换,I/O线必须保证在温度转换期间提供足够的能量,由于每个DS18B20在温度转换期间工作电流到达1mA,当几个温度传感器挂在同一根I/O线上进展多点测温时,只靠4.7K上拉电阻就无法提供足够的能量,会造成无法转
29、换温度或温度误差极大。因此,该电路只适应于单一温度传感器测温情况下使用,不适宜采用电池供电系统中。并且工作电源VCC必须保证在5V,当电源电压下降时,寄生电源能够汲取的能量也降低,会使温度误差变大。DS18B20寄生电源强上拉供电方式: 改良的寄生电源供电方式如下面图3.2(b)所示,为了使DS18B20在动态转换周期中获得足够的电流供给,当进展温度转换或拷贝到E2存储器操作时,用MOSFET把I/O线直接拉到VCC就可提供足够的电流,在发出任何涉及到拷贝到E2存储器或启动温度转换的指令后,必须在最多10S内把I/O线转换到强上拉状态。在强上拉方式下可以解决电流供给不走的问题,因此也适合于多点
30、测温应用,缺点就是要多占用一根I/O口线进展强上拉切换。DS18B20的外部电源供电方式: 如下面图3.2(c)所示,在外部电源供电方式下,DS18B20工作电源由VDD引脚接入,其VDD端用355V电源供电,此时I/O线不需要强上拉,不存在电源电流缺乏的问题,可以保证转换精度,同时在总线上理论可以挂接任意多个DS18B20传感器,组成多点测温系统。注意:在外部供电的方式下,DS18B20的GND引脚不能悬空,否那么不能转换温度,读取的温度总是85。cDS18B20外部电源供电方式 aDS18B20寄生电源供电方式 (b) DS18B20温度转换期间的强上拉供电寄生电源方式图3.2 DS18B
31、20与微处理器的典型连接图3DS18B20 的内部构造:图3.3为DS18B20 的内部框图,它主要包括寄生电源、温度传感器、64 位激光ROM 单线接口、存放中间数据的高速暂存器(内含便笺式RAM),用于存储用户设定的温度上下限值的TH 和TL 触发器存储与控制逻辑、8 位循环冗余校验码(CRC)发生器等七局部。64位光刻ROM 的排列是:开场8位是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码。光刻R0M的作用是使每一个DS18B20都各不一样,这可实现一根总线上挂接多个DS18B20的目的。暂存存储器包含了8个连续字节,前2个字节是测得的温
32、度信息,第1个字节的内容是温度的低8位,第2个字节是温度的高8位。第3个和第4个字节是TH、TL的易失性拷贝,第5个字节是构造存放器的易失性拷贝,这3个字节的内容在每一次上电复位时被刷新。第6、7、8个字节用于内部计算。第9个字节是冗余检验字节 图3.3 DS18B20的内部构造4DS18B20 的测温原理:DS1820测温原理如以下图所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。 图 3.4 DS18B20测温原理高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度存放器被预置在-55所对应的一个基数值。计
33、数器1对低温度系数晶振产生的脉冲信号进展减法计数,当计数器1的预置值减到0时,温度存放器的值将加1,计数器1的预置将重新被装入,计数器1重新开场对低温度系数晶振产生的脉冲信号进展计数,如此循环直到计数器2计数到0时,DS1 8B20测量温度原理停顿温度存放器值的累加,此时温度存放器中的数值即为所测温度。在正常测温情况下,DS18B20 的测温分辨力为0.5,可采用下述方法获得高分辨率的温度测量结果:首先用DS18B20 提供的读暂存器指令(BEH)读出以0.5为分辨率的温度测量结果,然后切去测量结果中的最低有效位(LSB),得到所测实际温度的整数局部TZ,然后再用BEH 指令取计数器1 的计数
34、剩余值CS 和每度计数值CD。考虑到DS18B20测量温度的整数局部以0.25、0.75为进位界限的关系,实际温度TS 可用下式计算:TS=(TZ0.25) (CDCS)/CD5告警信号:DS18B20 完成温度转换后,就把测得的温度值与TH、TL 作比较。假设TTH 或TTL,那么将该器件内的告警标志置位,并对主机发出的告警搜索命令作出响应。因此,可用多只DS18B20 同时测量温度并进展告警搜索。一旦某测温点越限,主机利用告警搜索命令即可识别正在告警的器件,并读出其序号,而不必考虑非告警器件。6CRC 的产生:在64 位ROM 的最高有效字节中存有循环冗余校验码(CRC)。主机根据ROM
35、的前56 位来计算CRC 值,并和存入DS18B20 中的CRC 值作比较,以判断主机收到的ROM 数据是否正确。CRC 的函数表达式为:CRC=XXX1。此外,DS18B20 尚需依上式为暂存器中的数据来产生一个8位CRC 送给主机,以确保暂存器数据传送无误。在本课题中采用四个数字式温度传感器DS18B20与单片机89C51连接如以下图 图3.5 DS18B20多点温度测量连接电路图(7) DS1820使用中考前须知DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:较小的硬件开销需要相对复杂的软件进展补偿,由于DS18B20与
36、微处理器间采用串行数据传送,因此,在对DS18B20进展读写编程时,必须严格的保证读写时序,否那么将无法读取测温结果。在DS18B20的有关资料中均未提及单总线上所挂DS18B20数量问题,容易使人误认为可以挂任意多个DS18B20,在实际应用中并非如此。当单总线上所挂DS18B20超过8个时,就需要解决微处理器的总线驱动问题,这一点在进展多点测温系统设计时要加以注意。连接DS18B20的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常
37、通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用DS18B20进展长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环。这一点在进展DS18B20硬件连接和软件设计时也要给予一定的重视。3.2.单片机系统设计在当今新科学技术飞速开展的年代里,单片机的应用已越来越受到人们的重视,它被广泛的应用于家电、医疗、智能仪表、工业自动化等各个领域。单片机全称单片微型
38、计算机,是将计算机的根本局部微型化,使之集成在一块芯片上的微机。目前市场上较为流行的单片机有Intel公司和Philip公司的8051系列单片机Motorola 公司的M 6800系列单片机。Intel公司的MCS96系列单片机以及Microchip 公司的PIC 系列单片机。片内含有CPU、ROM、RAM、并行I/O口、串行I/O口、定时/计数器、A/D、D/A、中断控制、系统时钟及系统总线等。本课题是利用Intel的89c51控制整个系统。89c51单片机包含以下几个部件:1个8位CPU、1个片内震荡器及时钟电路、4KB ROM程序存储器、128B RAM数据存储器、可寻址64KB外部数据
39、存储器和64KB外部程序存储器的控制电路、32条可编程的I/O线、2个16位的定时/计数器、1个可编程全双工串行接口、5个中断源、2个优先级嵌套中断构造。本课题运用Intel公司的8051进展系统控制,运用到了复位电路,时钟电路,串口,I/O口。复位电路:无论哪种单片机,都会涉及到复位电路。如果复位电路不可靠,在工作中就有可能出现“死机,“程序走飞等现象。所以,一个单片机复位电路的好坏,直接影响到整个系统工作的可靠性。复位操作完成单片机片内电路的初始化,使单片机从一种确定的状态开场运行。当89c51单片机的复位引脚RST出现5ms以上的高电平时,单片机就完成了复位操作,如果RST持续为高电平,
40、单片机就处于循环复位状态,而无法执行程序,因此要求单片机复位后能脱离复位状态。复位操作通常有上电和开关复位。上电复位要求接通电源后,自动实现复位操作。开关复位要求在电源接通的条件下,在单片机运行期间,如果发生死机,用按钮开关操作使单片机复位。常用的上电复位且开关复位电路如图3.6所示,上电后,由于电容充电,使RST持续一段高电平时间。当单片机已在运行之中时,按下复位键也能使RST持续一段时间的高电平,从而实现上电且开关复位的操作。单片机的复位操作使单片机进入初始化过程,其中包括是程序计数器PC=0000H,P0-P3=FFH,SP=07H,其他存放器处于零,程序从0000H地址单元开场执行,单
41、片机复位后不改变片内RAM区中的内容。图3.6 .复位电路时钟电路:89c51单片机的时钟信号通常用内部振荡和外部振荡方式。在引脚XTAL1和XTAX2外接晶体振荡器,就够成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。晶振通常选用6MHZ、12MHZ或24MHZ。内部振荡器方式如下。如图3.7,电容器C1、C2起稳定振荡频率、快速起振的作用,电容值一般为5-30PF。内部振荡方式所得的时钟信号比较稳定。外部振荡方式是把已有的时钟信号引入单片机内,这种方式适于用于用来使单片机的时钟与外部信号保持一致。图3.7 时钟电路串口:串行通信是
42、CPU与外界交换的一种根本方式。单片机运用于数据采集或工业控制时,往往作为前端机安装在工作现场,远离主机,现场数据采用串行通信方式主机并进展处理,以降低通信本钱,提高通信可靠性。51系列单片机自身有全双工的异步通信接口,通过软件编程,它可以作为通用异步承受和发送器使用,也可作为同步移位存放器。定做各专业论文,如需全文可联系QQ243863517389c51单片机串口主要由两个数据缓冲存放器SBUF和一个输入移位存放器组成,其内部还有一个串行控制存放器SCON和一个波特率发生器。承受缓冲器与发送缓冲器占用同一个地址99H,其名称亦同样为SBUF。CPU写SBUF,一方面修改发送存放器,同时启动数
43、据串行发送;读SBUF,就是读承受存放器,完成数据的承受。特殊功能存放器SCON用以存放串行口的控制和状态信息。根据对其写的控制字决定工作方式,从而决定波特率发生器的时钟是来自系统时钟还是来自定时器T1。特殊功能存放器PCON的最高位SMOD为串行口波特率的倍增控制位。89c51单片机的串行口正是通过对上述专用存放器的设置,检测与读取来管理串行通信。在进展通信时,外界的串行数据是通过引脚RXD输入的。输入数据先逐位进入输入移位存放器,在送入承受SBUF。在此采用了双缓冲构造,为了防止在承受到第二帧数据之前,CPU未及时响应承受器的前一帧的中断请求而把前一帧数据读走,造成两帧数据重叠的错误。对于发送器,因为发送时CPU是主动的,不会产生写重叠问题,不需要双缓冲器构造,为了保持最大传送速率,仅用了SBUF一个缓冲器。I/O口:计算机对外设进展数据操作时,外设的数据是不能直接连到CPU的数据线上的,必须经过接口。这是由于CPU的数据线定做各专业论文,如需全文可联系QQ2438635173.