版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘 要IABSTRACTII第一章 绪论11.1 课题背景1本课题研究意义2本课题的任务2系统整体目标3第二章方案论证比较与选择42.1 引言4方案设计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
2、RS-232接口简介223.6.2 MAX232芯片简介233.6.3 PC机与单片机的串行通信接口电路24第四章软件设计264.1 软件开发工具的选择264.2 系统软件设计的一般原则274.3系统软件设计的一般步骤274.4 软件实现28系统主程序流程图284.4.2 传感器程序设计284.4.3 显示程序设计344.4.4 键盘程序设计364.4.5 报警程序设计384.4.6 通信模块程序设计39第五章调试与小结41致谢42参考文献43附录44系统电路图44系统程序45摘 要随着社会的进步和工业技术的发展,人们越来越重视温度因素,许多产品对温度范围要求严格,而目
3、前市场上普遍存在的温度检测仪器大都是单点测量,同时有温度信息传递不及时、精度不够的缺点,不利于工业控制者根据温度变化及时做出决定。在这样的形式下,开发一种能够同时测量多点,并且实时性高、精度高,能够综合处理多点温度信息的测量系统就很有必要。本课题以AT89C51单片机系统为核心,能对多点的温度进行实时巡检。DS18B20是一种可组网的高精度数字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。本文结合实际使用经验,介绍了DS18B20数字温度传感器在单片机下的硬件连接及软件编程,并给出了软件流程图。关键词:温度测量;单总线;数字温
4、度传感器;单片机 AbstractAs the industry and the society developing, the temperature becomes more and more important and a lot of products are sensitive to temperature. H
5、owever, temperaturemeasuring apparatus in the market now only can check and measure the temperature of one point, at the same 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, de
6、sign and implement one applicable system which can watch measure and control the temperature and the measuring results is 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 b
7、ased on single chip computer, can inspect and control multiple temperatures in real time. As a kind of high-accuracy digital net temperature sensor,DS18 B20 can be used building a sensor net easily. It can also make the net simple and reliable with it's special 1-wire interface .This paper
8、introduces the application of DS18B20 with single chip processor.Key words: temperature measure;single bus;digital thermometer;single chip processor;第一章 绪论 课题背景在人类的生活环境中,温度扮演着极其重要的角色。无论你生活在哪里,从事什么工作,无时无刻不在与温度打着交道。自18世纪工业革命以来,工业发展对是否能掌握温度有着绝对的联系。在冶金、钢铁、石化、水泥、玻璃、医药等等行业,可以说几乎%80的工业部门都不得不考虑着
9、温度的因素。温度对于工业如此重要,由此推进了温度传感器的发展。传感器主要大体经过了三个发展阶段:模拟集成温度传感器。该传感器是采用硅半导体集成工艺制成,因此亦称硅传感器或单片集成温度传感器。此种传感器具有功能单一(仅测量温度)、测温误差小、价格低、响应速度快、传输距离远、体积小、微功耗等,适合远距离测温、控温,不需要进行非线性校准,外围电路简单。它是目前在国内外应用最为普遍的一种集成传感器,典型产品有AD590、AD592、TMP17、LM135等;模拟集成温度控制器。模拟集成温度控制器主要包括温控开关、可编程温度控制器,典型产品有LM56、AD22105和MAX6509。某些增强型集成温度控
10、制器(例如TC652/653)中还包含了A/D转换器以及固化好的程序,这与智能温度传感器有某些相似之处。但它自成系统,工作时并不受微处理器的控制,这是二者的主要区别;智能温度传感器。能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的。它是微电子技术、计算机技术和自动测试技术(ATE)的结晶。智能温度传感器内部都包含温度传感器、A/D转换器、信号处理器、存储器(或寄存器)和接口电路。有的产品还带多路选择器、中央控制器(CPU)、随机存取存储器(RAM)和只读存储器(ROM)。智能温度传感器的特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU);并且它是在硬件的基础上通
11、过软件来实现测试功能的,其智能化程度也取决于软件的开发水平。温度传感器的发展趋势。进入21世纪后,温度传感器正朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。传感器在温度测控系统中的应用。目前市场主要存在单点和多点两种温度测量仪表。对于单点温测仪表,主要采用传统的模拟集成温度传感器,其中又以热电阻、热电偶等传感器的测量精度高,测量范围大,而得到了普遍的应用。此种产品测温范围大都在-200800之间,分辨率12位,最小分辨温度在0.0010.01之间。自带LED显示模块,显示4位到16位不等。有的仪表还具有存储功能,可存储几百
12、到几千组数据。该类仪表可很好的满足单个用户单点测量的需要。多点温度测量仪表,相对与单点的测量精度有一定的差距,虽然实现了多路温度的测控,但价格昂贵。针对目前市场的现状,本课题提出了一种可满足要求、可扩展的并且性价比高的单片机多路测温系统。随着科学技术的不断进步与发展,温度控制在工业控制、电子测温计、医疗仪器、家用电器等各种温度控制系统中广泛应用,且由过去的单点测量向多测量发展。目前温度传感器有模拟和数字两类传感器,为了克服模拟传感器与微处理器接口时需要信号调理电路和AD转换器的弊端,大多数多点测温控制系统采用数字传感器,并大大方便了系统的设计。比较有代表性的数字温度传感器有DS18B20、MA
13、X6575、DS1722、MAX6635、SMT160-30等。在传统的温度测量系统设计中,往往采用模拟技术进行设计,这样就不可避免地遇到诸如引线误差补偿、多点测量中的切换误差和信号调理电路的误差等问题;而其中某一环节处理不当,就可能造成整个系统性能的下降。随着现代科学技术的飞速发展,特别是大规模集成电路设计技术的发展,微型化、集成化、数字化正成为传感器发展的一个重要方向。美国Dallas半导体公司推出的数字温度传感器DS18B20,具有独特的单总线接口,仅需要占用一个通用I/0端口即可完成与微处理器的通信;在-10+85温度范围内具有05精度;用户可编程设定912位的分辨率。以上特性使得DS
14、18B20非常适用于构建高精度、多点温度测量系统。本课题主要是实现对温度进行多点同时测量并准确显示。整个系统由单片机控制,要能够接收传感器的数据并显示出来,可以从键盘输入命令,系统根据命令,选择对应的传感器,并由驱动电路驱动温度显示。设计一种合理、可行的单片机监控软件,完成多点测量和显示的任务,并编写硬件底层驱动程序。利用一个单片机设计一个能够进行多点温度进行同时测量的系统。该系统能够同时对多个点的温度进行测量和进行显示,并且能够对异常情况进行报警。第二章 方案论证比较与选择2.1 引言温度测量的方案有很多种,可以采用传统的分立式传感器、模拟集成传感器以及新兴的智能型传感器。对于控制系统可以采
15、用计算机、单片机等。 设计方案一采用模拟分立元件,如电容、电感或晶体管等非线形元件,实现多点温度的测量及显示,该方案设计电路简单易懂,操作简单,且价格便宜,但采用分立元件分散性大,不便于集成数字化,而且测量误差大。2.2.2 设计方案二本方案采用AT89C51单片机为核心,通过温度传感器AD590采集温度信号,经信号放大器放大后,送到A/D转换芯片,最终经单片机检测处理温度信号。 图2.1 方案二的框图如图2.1,采用该方案技术已经成熟,AD转换电路设计较烦琐,而且使用AD590进行温度检测必须对冷端进行补偿,以减小误差。2.2.3 设计方案三本设计运用主从分布式思想,由一台上位机
16、(PC微型计算机),下位机(单片机)多点温度数据采集,组成两级分布式多点温度测量的巡回检测系统。该系统采用 RS-232串行通讯标准,通过上位机(PC)控制下位机(单片机)进行现场温度采集。温度值既可以送回主控PC进行数据处理,由显示器显示。也可以由下位机单独工作,实时显示当前各点的温度值,对各点进行控制。 下位机采用的是单片机基于数字温度传感器DS18B20的系统。DS18B20利用单总线的特点可以方便的实现多点温度的测量,轻松的组建传感器网络,系统的抗干扰性好、设计灵活、方便,而且适合于在恶劣的环境下进行现场温度测量。本系统可以应用在大型工业及民用常温多点监测场合。如粮食仓储系统、楼宇自动
17、化系统、温控制程生产线之温度影像检测、医疗与健诊的温度测试、空调系统的温度检测、石化、机械等。系统框图如下:图2 .2 方案三的系统框图2.3 方案的比较与选择基于数字式温度计DS18B20的温度测量仪的硬软件开发过程,DS18B20将温度信号直接转换为数字信号,实现了与单片机的直接接口,从而省去了信号调理电路。该仪器电路简单、功能可靠、测量效率高,很好地弥补了传统温度测量方法的不足。相对与方案1,在功能、性能、可操作性等方面都有较大的提升。相对与方案2,硬件电路简单,易于操作,具有更高的性价比,更大的市场。所以我采用方案3完成本设计。2.4 方案的阐述与论证 方案三以DS18B20为传感器、
18、AT89C51单片机为控制核心组成多点温度测试系统,该系统包括传感器电路、键盘与显示电路、串口通信电路等组成部。采用美国Dallas半导体公司推出的数字温度传感器DS18B20,属于新一代适配微处理器的智能温度传感器。它具有独特的单总线接口,仅需要占用一个通用I/0端口即可完成与微处理器的通信。全部传感元件及转换电路集成在形如一只三极管的集要求通过简单的编程实现912位的数字值读数方式。其可以分别9375ms和750ms内完成9位和12位的数字量,最大分辨率为0.0625,而且从DS18B20读出或写入DS18B20的信息仅需要一根口线(单线接口)读写。它有如下的性能特点:1)独特的单线接口,
19、既可通过串行口线,也可通过其它I/O口线与微机接口,无需变换其它电路,直接输出被测温度值;2)多点能力使分布式温度检测应用得以简化;3)不需要外部元件;4) 既可用数据线供电,也可采用外部电源供电;5)不需备份电源;6) 测量范围为-55+125,固有测温分辨率为05;7)通过编程可实现912位的数字读数方式;8)用户可定义非易失性的温度告警设置;9)警告搜索命令能识别和寻址温度在编定的极限之外的器件(温度警告情况);10)应用范围包括恒温控制、工业系统、消费类产品、温度计或任何热敏系统。以上特性使得DS18B20非常适用于构建高精度、多点温度测量系统。根据DS18B20以上的特点我选用方案三
20、来实现本课题。第三章 硬件设计本课题研究的多点测温系统是以单片机和单总线数字温度传感器DS18B20为核心,充分利用单片机优越的内部和外部资源及数字温度传感器DS18B20的优越性能构成一个完备的测温系统,实现对温度的多点测量。整个系统由单片机控制,能够接收传感器的温度数据并显示出来,可以从键盘输入命令,系统根据命令,选择对应的温度传感器,并由驱动电路驱动温度显示。本课题设计了一种合理、可行的单片机监控软件,完成测量和显示的任务。由于单片机具有强大的运算和控制功能,使得整个系统具有模块化、硬件电路简单以及操作方便等优点。本课题的整个系统是由单片机、显示电路、键盘电路、驱动电路,串口通信等构成。
21、 温度传感器3.1.1 温度传感器选用细则现代传感器在原理与结构上千差万别,如何根据具体的测量目的、测量对象以及测量环境合理地选用传感器,是在进行某个量的测量时首先要解决的题。当传感器确定之后,与之相配套的测量方法和测量设备也就可以确定了。测量结果的成败,在很大程度上取决于传感器的选用是否合理。1) 根据测量对象与测量环境确定传感器的类型要进行个具体的测量工作,首先要考虑采用何种原理的传感器,这需要分析多方面的因素之后才能确定。因为,即使是测量同一物理量,也有多种原理的传感器可供选用,哪一种原理的传感器更为合适,则需要根据被测量的特点和传感器的使用条件考虑以下一些具体问题:量程的大
22、小;被测位置对传感器体积的要求;测量方式为接触式还是非接触式;信号的引出方法,有线或是非接触测量;传感器的来源,国产还是进口,价格能否承受,还是自行研制。2)灵敏度的选择通常,在传感器的线性范围内,希望传感器的灵敏度越高越好。因为只有灵敏度高时,与被测量变化对应的输出信号的值才比较大,有利于信号处理。但要注意的是,传感器的灵敏度高,与被测量无关的外界噪声也容易混入,也会被放大系统放大,影响测量精度。因此,要求传感器本身应具有较高的信噪比,尽员减少从外界引入的串扰信号3)频率响应特性传感器的频率响应特性决定了被测量的频率范围,必须在允许频率范围内保持不失真的测量条件,实际上传感器的响应总有定延迟
23、,希望延迟时间越短越好。传感器的频率响应高,可测的信号频率范围就宽,而由于受到结构特性的影响,机械系统的惯性较大,因有频率低的传感器可测信号的频率较低。4)线性范围传感器的线形范围是指输出与输入成正比的范围。以理论上讲,在此范围内,灵敏度保持定值。传感器的线性范围越宽,则其量程越大,并且能保证一定的测量精度。在选择传感器时,当传感器的种类确定以后首先要看其量程是否满足要求。但实际上,任何传感器都不能保证绝对的线性,其线性度也是相对的。当所要求测量精度比较低时,在一定的范围内,可将非线性误差较小的传感器近似看作线性的,这会给测量带来极大的方便。5) 稳定性传感器使用一段时间后,其性能保持不变化的
24、能力称为稳定性。影响传感器长期稳定性的因素除传感器本身结构外,主要是传感器的使用环境。因此,要使传感器具有良好的稳定性,传感器必须要有较强的环境适应能力。在选择传感器之前,应对其使用环境进行调查,并根据具体的使用环境选择合适的传感器,或采取适当的措施,减小环境的影响。6) 精度精度是传感器的一个重要的性能指标,它是关系到整个测量系统测量精度的一个重要环节。传感器的精度越高,其价格越昂贵,因此,传感器的精度只要满足整个测量系统的精度要求就可以,不必选得过高。这样就可以在满足同一测量目的的诸多传感器中选择比较便宜和简单的传感器。如果测量目的是定性分析的,选用重复精度高的传感器即可,不宜选用绝对量值
25、精度高的;如果是为了定量分析,必须获得精确的测量值,就需选用精度等级能满足要求的传感器。对某些特殊使用场合,无法选到合适的传感器,则需自行设计制造传感器。自制传感器的性能应满足使用要求。 温度传感器DS18B20DS18B20型单线智能温度传感器,属于新一代适配微处理器的智能温度传感器。全部传感元件及转换电路集成在形如一只三极管的集成电路内。与传统的热敏电阻相比,它能够直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式。其可以分别9375ms和750ms内完成9位和12位的数字量,最大分辨率为00625,而且从DS18B20读出或写入DS18B20的信息
26、仅需要一根口线(单线接口)读写。1 DS18B20的性能特点单线数字化智能集成温度的传感器,其特点是: DSI8B20可将被测温度直接转换成计算机能识别的数字信号输出,温度值不需要经电桥电路先获取电压模拟量,再经信号放大和AD转换成数字信号,解决了传统温度传感器存在的因参数不一致性,在更换传感器时会因放大器零漂而必须对电路进行重新调试的问题,使用方便 DS18B20能提供9到12位温度读数,精度高,且其信息传输只需1根信号线,与计算机接口十分简便,读写及温度变换的功率来自于数据线而不需额外的电源 每一个DS18B20都有一个惟一的序列号,这就允许多个DS18B20连接到同一总线上尤其适合于多点
27、温度检测系统负压特性:当电源极性接反时,DS18B20虽然不能正常工作,但不会因发热而烧毁正是由于具有以上特点,DS18B20在解决各种误差、可靠性和实现系统优化等方面与传统各种温度传感器相比,有无可比拟的优越性,因而广泛应用于过程控制、环境控制、建筑物、机器设备中的温度检测。其外形和管脚如下图:图3.1 DS18B20外部形状及管脚图DS18B20与单片机的典型接口设计DS18B20测温系统具有测温系统简单、测温精度高、连接方便、占用口线少等优点。Dsl8B20与单片机的硬件连接有两种方法:一是Vcc接外部电源,GND接地,I/0与单片机的I/0线相连;二是用寄生电源供电,此时,UDD和GN
28、D接地,I/0接单片机I/0。无论是哪种供电方式,I/0口线都要接47k Q左右的上拉电阻。图4给出了DSl8B20与微处理器的典型连接。DS18B20寄生电源供电方式:如下面图3.2(a)所示,在寄生电源供电方式下,DS18B20从单线信号线上汲取能量:在信号线DQ处于高电平期间把能量储存在内部电容里,在信号线处于低电平期间消耗电容上的电能工作,直到高电平到来再给寄生电源(电容)充电。 独特的寄生电源方式有三个好处:1) 进行远距离测温时,无需本地电源2) 可以在没有常规电源的条件下读取ROM3) 电路更加简洁,仅用一根I/O口实现测温要想使D
29、S18B20进行精确的温度转换,I/O线必须保证在温度转换期间提供足够的能量,由于每个DS18B20在温度转换期间工作电流达到1mA,当几个温度传感器挂在同一根I/O线上进行多点测温时,只靠4.7K上拉电阻就无法提供足够的能量,会造成无法转换温度或温度误差极大。因此,该电路只适应于单一温度传感器测温情况下使用,不适宜采用电池供电系统中。并且工作电源VCC必须保证在5V,当电源电压下降时,寄生电源能够汲取的能量也降低,会使温度误差变大。DS18B20寄生电源强上拉供电方式: 改进的寄生电源供电方式如下面图3.2(b)所示,为了使DS18B20在动态
30、转换周期中获得足够的电流供应,当进行温度转换或拷贝到E2存储器操作时,用MOSFET把I/O线直接拉到VCC就可提供足够的电流,在发出任何涉及到拷贝到E2存储器或启动温度转换的指令后,必须在最多10S内把I/O线转换到强上拉状态。在强上拉方式下可以解决电流供应不走的问题,因此也适合于多点测温应用,缺点就是要多占用一根I/O口线进行强上拉切换。DS18B20的外部电源供电方式: 如下面图3.2(c)所示,在外部电源供电方式下,DS18B20工作电源由VDD引脚接入,其VDD端用355V电源供电,此时I/O线不需要强上拉,不存在电源电流不足的问题,可
31、以保证转换精度,同时在总线上理论可以挂接任意多个DS18B20传感器,组成多点测温系统。注意:在外部供电的方式下,DS18B20的GND引脚不能悬空,否则不能转换温度,读取的温度总是85。 (c)DS18B20外部电源供电方式 (a)DS18B20寄生电源供电方式 (b) DS18B20温度转换期间的强上拉供电(寄生电源方式)图3.2 DS18B20与微处理器的典型连接图(3)DS18B20 的内部结构:为DS18B20 的内部框图,它主要包括寄生电源、温度传感器、64 位激光ROM 单线接口、存放中间数据的高速暂存器(内含便笺式RAM),用于存储用户设定的温度上下限值的TH 和TL
32、 触发器存储与控制逻辑、8 位循环冗余校验码(CRC)发生器等七部分。64位光刻ROM 的排列是:开始8位是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码。光刻R0M 的作用是使每一个DS18B20都各不相同,这可实现一根总线上挂接多个DS18B20的目的。暂存存储器包含了8个连续字节,前2个字节是测得的温度信息,第1个字节的内容是温度的低8位,第2个字节是温度的高8位。第3个和第4个字节是TH、TL的易失性拷贝,第5个字节是结构寄存器的易失性拷贝,这3个字节的内容在每一次上电复位时被刷新。第6、7、8个字节用于内部计算。第9个字节是冗余检验字节
33、 图3.3 DS18B20的内部结构(4)DS18B20 的测温原理:DS1820测温原理如下图所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。 图 3.4 DS18B20测温原理高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,DS1 8B20测量温度原
34、理停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。在正常测温情况下,DS18B20 的测温分辨力为,可采用下述方法获得高分辨率的温度测量结果:首先用DS18B20 提供的读暂存器指令(BEH)读出以为分辨率的温度测量结果,然后切去测量结果中的最低有效位(LSB),得到所测实际温度的整数部分TZ,然后再用BEH 指令取计数器1 的计数剩余值CS 和每度计数值CD。考虑到DS18B20测量温度的整数部分以、为进位界限的关系,实际温度TS 可用下式计算:TS=(TZ) (CDCS)/CD(5)告警信号:DS18B20 完成温度转换后,就把测得的温度值与TH、TL 作比较。若T>TH
35、 或T<TL,则将该器件内的告警标志置位,并对主机发出的告警搜索命令作出响应。因此,可用多只DS18B20 同时测量温度并进行告警搜索。一旦某测温点越限,主机利用告警搜索命令即可识别正在告警的器件,并读出其序号,而不必考虑非告警器件。(6)CRC 的产生:在64 位ROM 的最高有效字节中存有循环冗余校验码(CRC)。主机根据ROM 的前56 位来计算CRC 值,并和存入DS18B20 中的CRC 值作比较,以判断主机收到的ROM 数据是否正确。CRC 的函数表达式为:CRC=XXX1。此外,DS18B20 尚需依上式为暂存器中的数据来产生一个8位CRC 送给主机,以确保暂存器数据传送无
36、误。在本课题中采用四个数字式温度传感器DS18B20与单片机89C51连接如下图 图3.5 DS18B20多点温度测量连接电路图(7) DS1820使用中注意事项DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微处理器间采用串行数据传送,因此,在对DS18B20进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在DS18B20的有关资料中均未提及单总线上所挂DS18B20数量问题,容易使人误认为可以挂任意多个DS18B20,在实际应用中并非如此。当单总
37、线上所挂DS18B20超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。连接DS18B20的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用DS18B20进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。 在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B
38、20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环。这一点在进行DS18B20硬件连接和软件设计时也要给予一定的重视。3.2.单片机系统设计在当今新科学技术飞速发展的年代里,单片机的应用已越来越受到人们的重视,它被广泛的应用于家电、医疗、智能仪表、工业自动化等各个领域。单片机全称单片微型计算机,是将计算机的基本部分微型化,使之集成在一块芯片上的微机。目前市场上较为流行的单片机有Intel公司和Philip公司的8051系列单片机Motorola 公司的M 6800系列单片机。Intel公司的MCS96系列单片机以及Microchip
39、 公司的PIC 系列单片机。片内含有CPU、ROM、RAM、并行I/O口、串行I/O口、定时/计数器、A/D、D/A、中断控制、系统时钟及系统总线等。本课题是利用Intel的89c51控制整个系统。89c51单片机包含下列几个部件:1个8位CPU、1个片内震荡器及时钟电路、4KB ROM程序存储器、128B RAM数据存储器、可寻址64KB外部数据存储器和64KB外部程序存储器的控制电路、32条可编程的I/O线、2个16位的定时/计数器、1个可编程全双工串行接口、5个中断源、2个优先级嵌套中断结构。本课题运用Intel公司的8051进行系统控制,运用到了复位电路,时钟电路,串口,I/O口。复位
40、电路:无论哪种单片机,都会涉及到复位电路。如果复位电路不可靠,在工作中就有可能出现“死机”,“程序走飞”等现象。所以,一个单片机复位电路的好坏,直接影响到整个系统工作的可靠性。复位操作完成单片机片内电路的初始化,使单片机从一种确定的状态开始运行。当89c51单片机的复位引脚RST出现5ms以上的高电平时,单片机就完成了复位操作,如果RST持续为高电平,单片机就处于循环复位状态,而无法执行程序,因此要求单片机复位后能脱离复位状态。复位操作通常有上电和开关复位。上电复位要求接通电源后,自动实现复位操作。开关复位要求在电源接通的条件下,在单片机运行期间,如果发生死机,用按钮开关操作使单片机复位。常用
41、的上电复位且开关复位电路如图3.6所示,上电后,由于电容充电,使RST持续一段高电平时间。当单片机已在运行之中时,按下复位键也能使RST持续一段时间的高电平,从而实现上电且开关复位的操作。单片机的复位操作使单片机进入初始化过程,其中包括是程序计数器PC=0000H,P0-P3=FFH,SP=07H,其他寄存器处于零,程序从0000H地址单元开始执行,单片机复位后不改变片内RAM区中的内容。图3.6 .复位电路时钟电路:89c51单片机的时钟信号通常用内部振荡和外部振荡方式。在引脚XTAL1和XTAX2外接晶体振荡器,就够成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构
42、成了自激振荡器并产生振荡时钟脉冲。晶振通常选用6MHZ、12MHZ或24MHZ。内部振荡器方式如下。如图3.7,电容器C1、C2起稳定振荡频率、快速起振的作用,电容值一般为5-30PF。内部振荡方式所得的时钟信号比较稳定。外部振荡方式是把已有的时钟信号引入单片机内,这种方式适于用于用来使单片机的时钟与外部信号保持一致。图3.7 时钟电路串口:串行通信是CPU与外界交换的一种基本方式。单片机运用于数据采集或工业控制时,往往作为前端机安装在工作现场,远离主机,现场数据采用串行通信方式主机并进行处理,以降低通信成本,提高通信可靠性。51系列单片机自身有全双工的异步通信接口,通过软件编程,它可以作为通
43、用异步接受和发送器使用,也可作为同步移位寄存器。89c51单片机串口主要由两个数据缓冲寄存器SBUF和一个输入移位寄存器组成,其内部还有一个串行控制寄存器SCON和一个波特率发生器。接受缓冲器与发送缓冲器占用同一个地址99H,其名称亦同样为SBUF。CPU写SBUF,一方面修改发送寄存器,同时启动数据串行发送;读SBUF,就是读接受寄存器,完成数据的接受。特殊功能寄存器SCON用以存放串行口的控制和状态信息。根据对其写的控制字决定工作方式,从而决定波特率发生器的时钟是来自系统时钟还是来自定时器T1。特殊功能寄存器PCON的最高位SMOD为串行口波特率的倍增控制位。89c51单片机的串行口正是通
44、过对上述专用寄存器的设置,检测与读取来管理串行通信。在进行通信时,外界的串行数据是通过引脚RXD输入的。输入数据先逐位进入输入移位寄存器,在送入接受SBUF。在此采用了双缓冲结构,为了避免在接受到第二帧数据之前,CPU未及时响应接受器的前一帧的中断请求而把前一帧数据读走,造成两帧数据重叠的错误。对于发送器,因为发送时CPU是主动的,不会产生写重叠问题,不需要双缓冲器结构,为了保持最大传送速率,仅用了SBUF一个缓冲器。I/O口:计算机对外设进行数据操作时,外设的数据是不能直接连到CPU的数据线上的,必须经过接口。这是由于CPU的数据线是外设或存储器和CPU进行数据传输的唯一公共通道,为了使数据
45、线的使用对象不产生使用总线的冲突,以及协调快速的CPU和慢速的外设,CPU和外设之间必须有接口电路,接口起着缓冲、锁存数据、地址译码、信息格式转换、传递状态、发布命令等功能,I/O接口有并行接口、串行接口、定时/计数器、A/D、D/A等,根据外设的不同情况的应用要求,选择不同的接口。单片机的I0 口一般是双向的既可以做输入也可以做输出。以5 1系列为例,其P0、P 1、P2、P3均为双向口,且可位操作。89c51单片机内部有P0、P1、P2、P3四个8位双向I/O口,外设可直接连接于这几个接口上,而无须另加接口芯片。P0-P3的每个端口可以按字节输入或输出,也可以按位进行输入或输出,共32根口
46、线,用作控制十分方便。P0口为三态双向口,能带8个TTL电路。P1、P2、P3口为准双向口,负载能力为4个TTL电路,如果外设需要的驱动电流大,可加接驱动器。P0口具有双重功能:可以作为输入/输出用,外接输入/输出设备;在有外接存储器和I/O接口时常作为低8位地址/数据总线,即低8位地址与数据线分时使用P0口。此时低8位地址由ALE信号的下跳沿使它锁存到外部地址锁存器中,尔后,P0口出现数据信息。P1口具有单一接口功能,P1口每一位都能作为可编程的输入或输出口线。P2口具有双重功能:作为输入口或输出口使用,外接输入/输出设备;在有外接存储器I/O接口时,作为系统的地址总线。输出高位地址,与P0
47、口低8位地址一起组成16位地址总线。P3口为双重功能口:可以作为输入/输出口,外接输入/输出设备;作为第二功能使用。图 3.8 单片机3.3 显示电路设计本课题要将传感器的温度信号和键盘输入的控制信号都显示出来,利用单片机89c51传输控制信号。本课题要用到MAXIM 公司生产的MAX7219串行LED驱动显示器,此显示器具有接口简单占用资源少、控制灵活方便、LED级联扩展便利的优点。MAX7219是串行输出共阴极显示驱动芯片,每片可驱动8个LED,具有级联功能可控制更多的LED 。MAX7219为24引脚芯片,除与LED显示相连的线外,与微控制器只需3根连线相接:芯片端管脚分别为CLK.DI
48、NLOAD,其中CLK为时钟输入端,DIN为数据输入端,LOAD为锁存信号。MAX7219的工作时序为:时钟的上升沿MAX7219把DIN引脚数据移入内部移位寄存器,在时钟下降沿MAX7219把数据移向DOUT端,而LOAD的上升沿则锁存最后移入的16位串行数据。对MAX7219的控制操作很方便,其片内具有8个位寄存器和6个控制寄存器位寄存器对应LED的具体内容,控制寄存器决定LED的工作方式。控制寄存器分别为:不工作方式寄存器、译码方式寄存器、亮度控制寄存器、扫描个数寄存器、关闭寄存器显示测试寄存器寄存器的操作格式为2字节的串行数据,第一个字节为寄存器地址,第二个字节为控制命令或待显示数据。
49、寄存器的地址分配及功能如下所示:不工作寄存器(0x00):用于MAX7219级联控制。位寄存器(0x01-0x08):8位LED待显示内容。译码方式寄存器(0x0g):决定译码方式,分B码和不译码两种。亮度控制寄存器(0x0A):LED段电流控制。扫描个数寄存器(0x0B):决定显示多少个LED。关闭寄存器(0x0C):决定正常工作方式或关闭LED显示。显示测试寄存器(0x0D):决定正常工作方式或显示测试。MAX7219是在脉冲控制下工作的,因此其抗干扰就更为重要。一般在其电源和地之间接一十几f 的电容。另外,当MAX72l9和其他串行芯片共用I/O引脚时,最好在其外边加一上拉电阻。P1口内
50、部有上拉电阻,如不在其外部接上拉电阻,有时出现驱动能力不足的现象。要用MAX7219控制多于8个的LED时,可以将多个MAX7219级联使用。各芯片的CLK和LOAD端并接在一起。上一级MAX7219的DOUT端接下一级的D 端。级联显示时,如欲控制次级的MAX7219,只需向前几级的MAX7219的不工作方式寄存器送空操作数:本级则送欲显示的数据。另外,需注意,LOAD信号只需执行一次清O和置位,分别在整个过程的始末。即:级联调用WrTwoByte()程序时,应将程序里的LOAD清O和置位语句屏蔽掉。只在级联显示的开始和最后分别将LOAD置O和1。本课题用了六个LED数码管,具体连接如下图:
51、 图3.9 显示电路图3.4 键盘电路设计键盘是电子设备常见的输入装置,作为人们与电子设备交流的重要途径,一旦出错,将影响到电子设备的整体使用,所以键盘电路虽然简单,但键盘的稳定性、可靠性,应引起足够的重视。键盘是计算机系统中不可缺少的输入设备。单片机的键盘电路主要有矩阵扫描和单键电路两种,其中以使用 +条l/0 线实现×的矩阵扫描式键盘电路最为常用,4×4的矩阵扫描式键盘如图所示。当按键少时可接成线性键盘;当按键较多时,可以将键盘接成矩阵形式,这种形式节省口线。矩阵键盘按键的状态同样需要变成数字量1和0。开关的一端通过电阻接VCC,开关另一段的接地是通过程序输出数字0实现
52、的。矩阵键盘每个按键都有它的行值和列值,行值和列值的组合就是这个这个按键的编码。矩阵行线和列线分别通过两个并行接口和CPU通信,其中,一个输出扫描码,使按键逐行动态接地,另一个并行口输入按键状态。由行扫描值和列回馈信号共同形成键编码。键盘一般采用行列扫描方式来设计。行列扫描是指:把键盘按键排列成n行×m列的n×m行列点阵,使用软件或硬件的方法对其行、列分别进行扫描,从而判断是否有键按下,并获得扫描码。当无键按下时,行线与列线断开,所有列线均为高电平。当有一个键按下时,则与此键对应的行线与列线接通。如此行线为低电平,则此列线也为低电平。为确定是否有键按下,CPU先通过并行输出
53、口使所有的行线为低电平,然后通过并行输入口读入列信号,若为全“1”,则没有键按下,若有一个为“0”,则表示有一个键已按下。若有一个为“0”,则表示有一个键已按下。为消去按下时的抖动现象,程序延迟20ms后再判断具体是哪一个键按下先将第一行置为低电平,然后读入列信号,若有一个为“0”,则按下的键在此行;若为全“1”,则按下的键不在此行,再将下一行置为低电平,并测试列信号。如果在最后一行也为低电平时仍未找到按下的键,则认为刚才有键按下的情况为误动作。对找到的键,进行分析并处理。当按键时间较为短促时,系统判断不到有键按下。经测试,按键在按下或释放时,通常伴随着几ms到十几ms的触点抖动,然后才能稳定
54、下来。在触点抖动期间检测按键的通断状态,会导致一次按键或释放被错误地认为是多次操作。所以,当检测到有键按下或释放时,应通过软件延时20 ms左右,避开触点抖动的影响。去抖时间既不能太短也不能太长:如果时间太短,无法起到去抖作用;如果时间太长,超过了键按下的持续时间,则会判不到按键。软件去抖时间不宜太短也不宜太长,定为20ms 。本设计使用行列扫描方式,其电路原理图如下图所示。图3.10 键盘电路原理图本课题使用行列扫描方式,在单片机的P1口上连接上4*4的键盘,单片机扫描键盘,如果有键按下,单片机会根据键码执行相应的程序,使整个系统的功能更加完善。3.5 报警电路设计为了实现多点温度检测报警系
55、统,本课题采用AT89C51单片机作为主控制器,采用扫描的方式对多点DS18B20温度传感器获取对应该位置的温度值,经处理后通过串口可以立即发送到上位机,如温度不在设定的范围内,给出报警信号。系统总体硬件电路如图3.11所示。 图 3.11 温度报警电路3.6 通信模块设计 3.6.1 RS-232接口简介 RS232是目前异步串行通信中应用最广泛的标准总线,适用于数据中断设备(DTE和数据通信设备(DEC)ELA RS232是目前最常用的串行接口标准,用于计算机与计算机之间,计算机与单片机的数据通信。此标准的目的是定义数据终端设备(DTE)之间的电气特性。RS232提供了
56、单片机与单片机、单片机与PC机之间串行数据通信的标准接口。但RS232规定的逻辑电平与单片机的逻辑电平是不一致的。因此在应用中,必须把微处理器的信号电平(TTL电平)转换为RS232电平,或者对二者进行逆转换。选用电平转换芯片MAX232来实现的。(1)RS-232通讯协议特性由于MCS51单片机的串口采用TTL电平,信号幅值低易受干扰,只能在很近的距离内实现通讯鉴于MCS51单片机串行接口的弱点,在单片机系统串行通讯中广泛采用标准接口许多仪器仪表出厂时配有串行接口或附件模块销售在标准串行接口中RS-232由于使用方便、线少而得到广泛地应用,多年来不但没有被淘汰,相反使用更加广泛由于PC机串行
57、口使用的是RS- 232C逻辑电平,而AT89C51单片机串行口的输入输出均为TTL电平,因此,当PC机与单片机通信时必须进行电平转换。常见的电平转换方法有以下3种:使用MC1488和MC1489电平转换器。由于MC1488和MC1489需要15V或12V供电,所以使用不方便,而且工作稳定性和可靠性也不高。使用2个三极管构成准RS- 232C电平转换器。采用此方法串行通信只能工作于半双工状态,而且程序设计复杂。使用双向电平转换集成芯片。此方法优点是只需单一个+5V 电源供电,可靠性高,无需增加程序设计的复杂性,常用的芯片有ICL232,MAX232,TSC232等。本文采用最后一种方法,芯片选
58、用MAX232。3.6.2 MAX232芯片简介MAX232芯片是MAXIM 公司生产的,包含两路接收器和驱动器的IC片MAX232芯片内部有一个电源电压转换器,可以把输入的+5V 电压变换为RS-232输出电平所需的一1O+ 10V 电压所以采用此芯片接口串行通信系统只需单一的+5V电源就可以了对于没有一12+12V 的场合,其适应性更强加之其价格适中,硬件接口简单,所以被广泛采用MAX232芯片的引脚结构如下图所示MAX232 组成框图 MAX232引脚图 图3.12 MAX232 芯片的框图和引脚图图中上半部分电容C1,C2,C3,C4及V+,V-是电源变换电路部分在实际应用中,器件对电源噪声很敏感,因此VCC必须对地加去耦电容,其值为0.1F。电容C1,C2,C3,C4取同样数值的胆电解电容取10F/16V。用于提高抗干扰能力,在连接时必须尽量靠近器件图中下半部分为发送和接收部分实际应用中,T1IN,T2IN 可直接连接TTL/CMOS电平的MCS51的单片机的串行发送端TXD;R1OUT,R2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 非织造布卷绕分切工冲突解决测试考核试卷含答案
- 平版制版员诚信品质考核试卷含答案
- 电光源电路部件制造工安全实操水平考核试卷含答案
- 2025年环卫清洁装备项目发展计划
- 2026年重生式消费项目评估报告
- 供水业务知识题库及答案
- 施工安全消防措施
- 导管滑脱应急预案演练脚本
- 2025年AI自然语言处理技术培训专项试题及答案
- 2025年单位驾驶员年度工作总结
- 2026年重庆市江津区社区专职人员招聘(642人)笔试备考试题及答案解析
- 2026年思明区公开招聘社区工作者考试备考题库及完整答案详解1套
- 【四年级】【数学】【秋季上】期末家长会:数海引航爱伴成长【课件】
- 小学音乐教师年度述职报告范本
- 2025年新版八年级上册历史期末考试模拟试卷试卷 3套(含答案)
- 2026福建厦门市校园招聘中小学幼儿园中职学校教师346人笔试参考题库及答案解析
- 2025年合肥经开投资促进有限公司公开招聘11人笔试参考题库及答案解析
- 储能电站电力销售协议2025
- 肿瘤科人文关怀护理
- GB/T 1048-2019管道元件公称压力的定义和选用
- 临床见习带教2课件
评论
0/150
提交评论