




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于单片机的温度检测系统摘要随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术。单片机在温度检测方面得到广泛应用。本文将介绍一种基于单片机控制的数字温度计,提出一种基于单片机并采用数字化温度测控系统应用于室温检测的设计方案,该方案是利用温度传感器将室内温度的变化,变换成电压的变化,其值由单片机处理,最后由单片机去控制数字显示器,显示室内的实际温度。该系统具有温度上、下限报警功能。本文从硬件和软件两方面详细叙述了基于at89c51的温度检测系统,该系统以ds18b20为温度检测装置,并附加了温度显示和超温报警功能。温度采集传感器ds18b20直接
2、以单线连接的方式进行信号传输,采用数字化数据传送方式大大提高了系统的抗干扰性。因此,数字化单总线器件ds18b20适合于各种环境的现场温度测量。它在测温精度、转换时间、传输距离、分辨率等方面较以前的温度传感器都有了很大的改进,系统具有结构简单,运行可靠,误差小,且成本低廉等特点。本文还对at89c51及ds18b20进行了详细的叙述,并对系统原理进行了仔细分析。关键词单片机;传感器;温度测量based on single-chip temperature detection systemabstractwith the progress and development, single-chip
3、 technology has spread to our lives, work; research in various fields has become a relatively mature technology. single-chip temperature testing is widely used. this article will introduce the single-chip microcomputer-based control of a digital thermometer, and a single-chip digital-based temperatu
4、re measurement and control system used in the design of room temperature detection program, which is the use of the indoor temperature sensor to temperature change, transform into changes in voltage, and its value from single-chip processing, and finally by the single-chip microcomputer to control t
5、he digital display shows actual room temperature. the system has a temperature, the lower limit alarm function. in this paper, both hardware and software described in detail the temperature at89c51-based detection system to ds18b20 device for temperature detection and temperature display and an addi
6、tional over-temperature alarm function. acquisition sensors temperature ds18b20 connect directly to the way one-way signal transmission, the use of digital data transmission system greatly enhanced the anti-interference. therefore, the number of single-bus device ds18b20 environment suitable for all
7、 kinds of temperature measurements at the scene. in the temperature measurement accuracy, conversion time, transmission distance, resolution, etc. than before the temperature sensor has a lot of improvement, the system has a simple structure, reliable operation, the error small, and characteristics
8、of low-cost. in this paper, at89c51 and ds18b20 also carried out a detailed description of the system conducted a careful analysis of principle.keywords single-chip;sensor;temperature measurement目录摘要iabstractii第1章 绪论11.1 课题背景11.2 国外温度测量技术的发展情况11.3 国内温度测量技术的发展情况21.4 论文研究内容2第2章 传感器及相关器件介绍42.1 温度传感器的选择
9、42.1.1 ds18b20温度传感器简介42.1.2 ds18b20的性能特点52.1.3 ds18b20的管脚排列52.1.4 ds18b20的内部结构62.1.5 ds18b20的测温原理82.1.6 ds18b20的时序92.1.7 dsl8b20使用中的注意事项102.2 单片机概述102.2.1 at89c51芯片主要性能112.2.2 at89c51芯片的内部结构框图122.2.3 at89c51 芯片的引脚说明122.2.4 使用at89c51编程时需注意事项162.3 显示电路的组成器件172.3.1 led显示器的介绍172.3.2 74ls164芯片的介绍172.4 本章
10、小结19第3章 系统硬件电路设计213.1 系统硬件电路构成213.1.1 系统整体电路及测温原理213.1.2 ds18b20的控制方法233.1.3 显示电路的连接253.2 系统主要技术指标263.3 本章小结26第4章 系统软件的设计274.1 主程序设计274.2 测温子程序284.3 显示子程序294.4 本章小结29结论30致谢31参考文献32附录a33附录b38附录c41附录d42千万不要删除行尾的分节符,此行不会被打印。在目录上点右键“更新域”,然后“更新整个目录”。打印前,不要忘记把上面“abstract”这一行后加一空行第1章 绪论1.1 课题背景在工农业生产中,温度检测
11、及其控制占有举足轻重的地位,随着现代信息技术的飞速发展和传统工业改造的逐步实现 ,能够独立工作的温度检测和显示系统已经应用于诸多领域。传统的温度检测以热敏电阻为温度敏感元件、多路模拟开关、a/d转换器及单片机等组成的系统。传统方法精度不高,不稳定、成本高等问题,又需要后续信号处理电路 ,而且热敏电阻的可靠性相对较差 ,测量温度的准确度低 ,检测系统的精度差。要达到较高的测量精度需要很好的解决引线误差补偿问题、多点测量切换误差问题和放大电路零点漂移误差等问题,使温度检测复杂化。模拟信号在长距离传输过程中,抗电磁干扰时令设计者伤脑筋的问题,对于多点温度检测的场合,各被检测点到监测装置之间引线距离往
12、往不同,此外,各敏感元件参数的不一致,这些都是造成误差的原因,并且难以完全清除。今天,我们的生活环境和工作环境有越来越多称之为单片机的小电脑在为我们服务。单片机在工业控制、尖端武器、通信设备、信息处理、家用电器等各测控域的应用中独占鳌头。时下,家用电器和办公设备的智能化、遥控化、基于单片机的温度测控系统在室内的设计与实现模糊控制化己成为世界潮流,而这些高性能无一不是靠单片机来实现的。单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量。单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,为自动化和各个测控领域
13、中必不可少且广泛应用的器件,尤其在日常生活发挥越来越大的作用。因此,单片机对温度的控制问题是一个工农业生产及生活中常会遇到的问题。基于此,本课题围绕应用于室内的基于单片机的温度检测系统展开应用研究工作1。1.2 国外温度测量技术的发展情况温度检测技术的关键是温度传感器,传感器是一种把非电量转变的电信号的器件,而检测仪表在模拟电路情况下,一般是包括传感器、检测点取样设备及放大器(进行抗干扰处理及信号传输),当然还有电源及现场显示部分(可选择),电信号一般分连续量、离散量两种,实际上还可分成模拟量、开关量、脉冲量等,模拟信号传输采用统一信号。数字化过程中,检测仪表变化比较大,经过几个阶段,近来多采
14、用asic专用集成电路,而且把传感器和微处理器及网络接口封装在一个器件中,完成信息获取、处理、传输、存贮等功能。在自动化仪表中经常把检测仪称为变送器。随着国内外工业的日益发展,温度检测技术也有了不断的进步,目前的温度检测使用的方法种类繁多,应用范围也较广泛,大致包括以下几种方法:利用物体热胀冷缩原理制成的温度计;利用热电效应技术制成的温度检测元件;利用热阻效应技术制成的温度计;利用热辐射原理制成的高温计;利用声学原理进行温度测量;利用红外测温技术。近年来,在温度检测技术领域,多种新的检测原理与技术的开发应用,已经取得了重大进展。新一代温度检测元件正在不断出现和完善化,例如:晶体管温度检测元件,
15、集成电路温度检测元件,核磁共振温度检测器,热噪声温度检测器,石英晶体温度检测器,光纤温度检测器,激光温度检测器,微波温度检测器,纯贵金属热电偶的研究,信息技术时代自动化系统中的温度检测仪表2。国外的温度检测技术从普通的室温监测到高温监测技术,从遥感监测到各种极限环境的内部监测技术,正随着新技术的出现在不断的更新及完善4。1.3 国内温度测量技术的发展情况因为传感器用于各行各业,加之这些年来,家用电器、汽车、信息产业三方面的飞速发展,对传感器需求大增,所以传感器制造业发展很快,形成独立的产业,这就拉动了工业设备,特别是半导体、设备制造业的发展,所以中国特别关注传感器产业。 传感器产品品种多,采用
16、的科学原理多,技术密集,具有多样性、边缘性、综合性和技艺性,需要多学科、多种高新技术配合,虽然具有高附加效益,但本身价格不高,所以要推动传感器产业的发展,是有难度的。 国内温度检测技术的发展方向主要集中在以下几个方面:扩展测温范围、扩大测温对象、发展新型产品、适应特殊环境下的测温、显示数字化和标定自动化。根据以上情况根,国内温度仪表制造商将向以下几方面发展:继续生产量大面广的传统的温度检测元件,如:热电偶、热电阻、热敏电阻等;加强新原理、新材料、新加工工艺的开发,如近来已经开发的炭化硅薄膜热敏电阻温度检测器,厚膜、薄膜铂电阻温度检测器,硅单晶热敏电阻温度检测器等;向智能化、集成化、适用化方向发
17、展,新产品不仅要具有检测功能,又要具有判断和指令等多功能,采用微机向智能化方向发展,向机电一体化方向发展。但总的来说,国内的技术还是落后国外技术一节。例如,在烘炉内温度检测问题上,我国采用的一般是定点测量,即在炉壁上留出测量孔,传感器通过测量孔伸到炉膛内,对温度进行测量。这种测量方法的缺点一是测量孔多了将影响烘炉的保温性能,二是它测量的温度,在烘炉长度区间分布上,不是连续的量和存在测量死区,另外它无法测量烘炉内产品自身的温度。我国在此方而的技术与国外相比有很大的差距。虽然我国在理论方面紧跟国外的步伐,但研究的方向是针对专门的行业,技术的应用没有普遍性。1.4 论文研究内容本文主要研究的内容是基
18、于单片机的温度检测系统设计,通过对温度传感器的介绍以及对多点温度测量的系统设计工作的研究,实现以单片机为控制器的室内环境温度实时检测系统。论文主要研究的内容包括:温度传感器、单片机、显示系统,使整个温度检测系统能够对室内的温度进行采集,将采集的信号传输到单片机,再由显示电路显示环境的实际温度。并可以通过比较,对环境的温度是否超过温度限制进行分析。如果超过我们设定的温度限制,温度报警系统将进行报警,提醒人们进行控制。这种设计方案实现了温度实时测量、显示和超温报警。该系统抗干扰能力强,具有较高的测量精度,安装简单方便,性价比高,可维护性好。这种温度测控系统可应用于对温度有要求的实验室,实现对温度的
19、实时控制,是一种比较智能、经济的方案,是一个具有较高精度、能够实现远距离多点温度检测系统,以满足小型环境温度监测需要的系统。相对于其他的温度检测系统,本课题注意了温度检测系统的性能的提高,注重温度检测的远程化,合理考虑系统的制作成本和使用的方便性。第2章 传感器及相关器件介绍2.1 温度传感器的选择测量温度的关键是温度传感器,温度传感器的发展主要大体经过了三个阶段,第一阶段为传统的分立式温度传感器(含敏感元件),第二阶段为模拟集成温度传感器/控制器,第三阶段为智能温度传感器。模拟集成传感器是采用硅半导体集成工艺而制成的,因此亦称硅传感器或单片成温度传感器。模拟集成温度传感器是在20世纪80年代
20、问世的,它是将温度传感器集成在一个芯片上,可完成温度测量及模拟信号输出功能的专用ic。模拟集成温度传感器的主要特点是功能单一(仅测量温度)、测温误差小、价格低、响应速度快、传输距离远、体积小、微功耗等,适合远距离测温、控温,不需要进行非线性校准,外围电路简单。它是目前在国内外应用最为普遍的一种集成传感器,典型产品有ad59o、ad592、tmp17、lm135等。模拟集成温度控制器主要包括温控开关和可编程温度控制器,典型产品有lm56、ad22105和max6509。某些增强型集成温度控制器(例如tc652/653)中还包含了d转换器以及固化好的程序,这与智能温度传感器有某些相似之处5。但它自
21、成系统,工作时并不受微处理器的控制,这是二者的主要区别。智能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的。它是微电子技术、计算机技术和自动测试技术(ate)的结晶。目前,国际上已开发出多种智能温度传感器系列产品。智能温度传感器内部都包含温度传感器、刀d转换器、信号处理器、存储器(或寄存器)和接口电路。有的产品还带多路选择器、中央控制器 (cpu)、随机存取存储器(ram)和只读存储器 (rom)。智能温度传感器的特点是能输出温度数据及相关的温度控制量,适配各种微控制器(mcu);并且它是在硬件的基础上通过软件来实现测试功能的,其智能化程度也取决于软件的开发水平。目前,国际上新
22、型温度传感器正从模拟式向数字式、从集成化向智能化和网络化的方向飞速发展。智能温度传感器ds18b20正是朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。基于以上,本文选定ds18b20温度传感器为应用芯片。2.1.1 ds18b20温度传感器简介 ds18b20是美国dallas半导体公司继ds1820之后最新推出的一种数字化单总线器件,属于新一代适配微处理器的改进型智能温度传感器。与传统的热敏电阻相比,它能够直接读出被测温度,并且可根据实际要求通过简单的编程实现9-12位的数字值读数方式。可以分别在93.75ms和750m
23、s内完成9位和12位的数字量,并且从dsl8b20读出的信息或写入dsl8b20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的ds18b20供电,而无需额外电源。因而使用 ds18b20可使系统结构更趋简单,可靠性更高。同时其一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入了全新的概念。ds18b20一线总线数字化温度传感器支持一线总线接口,测量温度范围为-55-125,在-10-85范围内,精度为土0.5。现场温度直接以一线总线的数字方式传输,用符号扩展的16位数字方式串行输出,大大提高了系统的抗干扰性。因此,数字化单
24、总线器件ds18b20适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。它在测温精度、转换时间、传输距离、分辨率等方面较dsl820都有了很大的改进,给用户带来了更方便和更令人满意的效果。可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大型设备中。2.1.2 ds18b20的性能特点ds18b20的性能特点如下:1.采用dallas公司独特的单线接口方式:ds18b20与微处理器连接时。需要一条口线即可实现微处理器与ds18b20的双向通讯。2.在使用中不需要任何外围元件。3.可用数据线供电,供电电压范围:+3.0到+5.5v,零待机功耗。4.测
25、温范围:-55到+l25。固有测温分辨率为0.5。当在-10到+85围内,可确保测量误差不超过0.5,在-55到+125范围内,测量误差也不过2。5.通过编程可实现9-12位的数字读数方式。6.用户可自设定非易失性的报警上下限值。7.支持多点组网功能,多个dsi8b20可以并联在唯一的三线上,实现多点测温。8.负压特性,即具有电源反接保护电路。当电源电压的极性反接时,能保ds18b20不会因发热而烧毁。但此时芯片无法正常工作。9.ds18b20的转换速率比较高,进行9位的温度转换仅需93.75ms。10.适配各种单片机或系统。2.1.3 ds18b20的管脚排列ds18b20采用3脚pr-35
26、封装或8脚soic封装。其管脚排列如图2-1所示。i/o为数据输入/输出端(即单线总线),它属于漏极开路输出,外接上拉电阻后,常态下呈高电平。udd是可供选用的外部电源端,不用时接地,gnd为地,nc空脚。图2-1 ds18b20管脚图2.1.4 ds18b20的内部结构ds1sb20的内部结构框图如下图所示,它主要包括7部分:1.寄生电源;2.温度感器;3.64位激光(loser)rom与单线接口;4.高速暂存器,即便筏式ram,用于存放中间数据;5.th触发寄存器和tl触发寄存器,分别用来存储用户设定的温度上下限值;6.存储和控制逻辑;7.8位循环冗余校验码(crc)发生器。c64 位ro
27、m和单线接口高速缓存存储器温度传感器高温触发器th低温触发器tl配置寄存器8位crc发生器vdd图2-2 ds18b20内部结构图64位rom的结构开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的crc检验码,这也是多个ds18b20可以采用一线进行通信的原因。温度报警触发器th和tl,可通过软件写入户报警上下限。ds18b20温度传感器的内部存储器还包括一个高速暂存ram和一个非易失性的可电擦除的eeram。高速暂存ram的结构为8字节的存储器。头2个字节包含测得的温度信息,第3和第4字节th和tl的拷贝,是易失的,每次上电复位时被刷新。第5个字节,为
28、配置寄存器,它的内容用于确定温度值的数字转换分辨率。ds18b20工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如图3所示。低5位一直为1,tm是工作模式位,用于设置ds18b20在工作模式还是在测试模式,ds18b20出厂时该位被设0,用户要去改动,r1和r0决定温度转换的精度位数,来设置分辨率。 表2-1 ds18b20字节定义温度 lsb温度 msbth用户字节1tl用户字节2配置寄存器保留保留保留crcds18b20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。高速暂存ram的第6、7、8字节保留未
29、用,表现为全逻辑1。第9字节读出前面所有8字节的crc码,可用来检验数据,从而保证通信数据的正确性。当ds18b20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625lsb形式表示7。当符号位s0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位s1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。表2-2是一部分温度值对应的二进制温度数据。表2-2 ds18b20温度转换时间表ds18b20完成温度转
30、换后,就把测得的温度值与ram中的th、tl字节内容作比较。若tth或ttl,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令做出响应。因此,可用多只ds18b20同时测量温度并进行报警搜索。在64位rom的最高有效字节中存储有循环冗余检验码(crc)。主机rom的前56位来计算crc值,并和存入ds18b20的crc值作比较,以判断主机收到的rom数据是否正确。ds18b20的测温原理是这样的,器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。器件中还有一个计数
31、门,当计数门打开时,ds18b20就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将55所对应的一个基数分别置入减法计数器1、温度寄存器中,计数器1和温度寄存器被预置在55所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置值将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到0时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出用于修正减法计数器的预置值,只要计
32、数器门仍未关闭就重复上述过程,直到温度寄存器值大致等于被测温度值。另外,由于ds18b20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。系统对ds18b20的各种操作按协议进行。操作协议为:初使化ds18b20(发复位脉冲)发rom功能命令发存储器操作命令处理数据10。表2-3一部分温度对应值表温度/二进制表示十六进制表示+1250000 0111 1101 000007d0h+850000 0101 0101 00000550h+25.06250000 0001 1001 00000191h+10.1250000 0000 1010 000100a2h+0.50000 0
33、000 0000 00100008h00000 0000 0000 10000000h-0.51111 1111 1111 0000fff8h-10.1251111 1111 0101 1110ff5eh-25.06251111 1110 0110 1111fe6fh-551111 1100 1001 0000fc90h2.1.5 ds18b20的测温原理ds18b20的测温原理如图2-4所示。图2-4 ds18b20测温原理图图中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振的振荡频率随温度变化而明显改变,所生的信号作为减法计数器2的脉冲
34、输入。图中还隐含着计数门,当计数门打开时,ds18b20就对低温度系数振荡器产生的时钟脉冲进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图中的斜率累加器
35、用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是ds18b20的测温原理。2.1.6 ds18b20的时序由于ds18b20采用的是1-wire总线协议方式,即在一根数据线实现数据的双向传输,单线通信功能是分时完成的,有严格的时序概念,因此读写时序很重要。系统对ds18b20的各种操作必须按协议进行。操作协议为:初始化ds18b20(发复位脉冲)、发rom功能命令、发存储器操作命令、处理数据。ds18b20的读时序分为读0时序和读l时序两个过程。ds18b20的读时序是从主机把单总线拉低之后,在15us
36、之内就得释放单总线,以让ds18b20把数据传输到单总线上。ds18b20在完成一个读时序过程,至少需要60us才能完成。ds18b20的写时序仍然分为写0时序和写1时序两个过程,但对写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证ds18b20能够在 15us到45us之间能够正确地采样。总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线.所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收9。数据和命令的
37、传输都是低位在先。2.1.7 dsl8b20使用中的注意事项dsi8b20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:1.较小的硬件开销需要相对复杂的软件进行补偿,由于ds18b20与微处理器间采。用串行数据传送,因此,在对ds18b20进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用pum、c等高级语言进行系统程序设计时,对ds18b20操作部分最好采用汇编语言实现。2.在ds18b20的有关资料中均未提及单总线上所挂ds18b20数量问题,容易使人误认为可以挂任意多个ds18b20,在实际应用中并非如此。当单总
38、线所挂ds18b20超过8个时,就需要解决微处理器的总线驱动问题,这一点在行多点测温系统设计时要加以注意。3.连接ds18b20的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用ds18b20进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接vdd和地线,屏蔽层在源端单点接地
39、。4.在ds1sb20测温程序设计中,向ds18b20发出温度转换命令后,程序总要等待ds18b20的返回信号,一旦某个ds18b20接触不好或断线,当程序读该ds18b20时,将没有返回信号,程序进入死循环。这一点在进行ds18b20硬件连接和软件设计时也要给予一定的重视。2.2 单片机概述单片微型计算机简称单片机,又称微控制器,嵌入式微控制器等,属于第四代电子计算机。它把中央处理器、存储器、输入/输出接口电路以及定时器/计数器集成在一块芯片上,从而具有体积小、功耗低、价格低廉、抗干扰能力强且可靠性高等特点,因此,适合应用于工业过程控制、智能仪器仪表和测控系统的前端装置。正是由于这一原因,国
40、际上逐渐采用微控制器(mcu)代替单片微型计算机(scm)这一名称。“微控制器”更能反映单片机的本质,但是由于单片机这个名称已经为国内大多数人所接受,所以仍沿用“单片机”这一名称。单片机的主要特点是具有优异的性能价格比、集成度高、体积小、可靠性高、控制功能强、低电压,低功耗12。单片机的主要应用领域是,能化仪器仪表和家用电器等领域得到其典型的应用领域有工业控制、仪器仪表、电信技术、办公自动化、计算机外部设备、汽车和节能、制导和导航、商用产品及家用电器。因此,在本课题设计的温度测控系统中,采用单片机实现温度的控制。在单片机选用方面,由子at89系列单片机与mcs-51系列单片机兼容,所以,本系统
41、中的单片机选用atmel公司生产的at89c51芯片,它是该公司生产的标准型单片机。2.2.1 at89c51芯片主要性能at89c51是一种带4k字节闪烁可编程可擦除只读存储器(fperomfalsh programmable and erasable read only memory)的低电压,高性能cmos8位微处理器,俗称单片机。该单片机的可擦除只读存储器可以反复擦除100次。该器件采用atmel高密度非易失存储器制造技术制造,与工业标准的mcs-51指令集和输出管脚相兼容。由于将多功能8位cpu和闪烁存储器组合在单个芯片中,atmel的at89c51是一种高效微控制器,它为很多嵌入式
42、控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图2-5所示。.图2-5 at89c51引脚图其主要特性:1.与mcs-51 兼容 2.4k字节可编程闪烁存储器 3.寿命:1000写/擦循环4.数据保留时间:10年5.全静态工作:0hz-24mhz6.三级程序存储器锁定7.1288位内部ram8.32可编程i/o线9.两个16位定时器/计数器10.5个中断源 11.可编程串行通道12.低功耗的闲置和掉电模式13.片内振荡器和时钟电路 2.2.2 at89c51芯片的内部结构框图at89c51是美国atmel公司生产的低电压,高性能cmos8位单片机,器件采用aemel公司的高密度,非易
43、失性存储技术生产,兼容标准mcs-51指令系统,片内置通用8位中央处理器和flash存储单元,功能强大at89c51单片机可提供许多高性价比的应用场合,可灵活应用于各种控制领域。内部结构框图如2-6所示。2.2.3 at89c51 芯片的引脚说明vcc:供电电压。gnd:接地。p0口:p0口为一个8位漏级开路双向i/o口,每脚可吸收8ttl门电流。当p1口的管脚第一次写1时,被定义为高阻输入。p0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在fiash编程时,p0 口作为原码输入口,当fiash进行校验时,p0输出原码,此时p0外部必须被拉高。p1口:p1口是一个内部提供上拉
44、电阻的8位双向i/o口,p1口缓冲器能接收输出4ttl门电流。p1口管脚写入1后,被内部上拉为高,可用作输入,p1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在flash编程和校验时,p1口作为第八位地址接收。 p2口:p2口为一个内部上拉电阻的8位双向i/o口,p2口缓冲器可接收,输出4个ttl门电流,当p2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,p2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。p2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,p2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优图2-6 at8
45、9c51内部结构图势,当对外部八位地址数据存储器进行读写时,p2口输出其特殊功能寄存器的内容。p2口在flash编程和校验时接收高八位地址信号和控制信号。p3口:p3口管脚是8个带内部上拉电阻的双向i/o口,可接收输出4个ttl门电流。当p3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,p3口将输出电流(ill)这是由于上拉的缘故。p3口也可作为at89c51的一些特殊功能口,如下所示:口管脚备选功能p3.0 rxd(串行输入口)p3.1 txd(串行输出口)p3.2 /int0(外部中断0)p3.3 /int1(外部中断1)p3.4 t0(记时器0外部输
46、入)p3.5 t1(记时器1外部输入)p3.6 /wr(外部数据存储器写选通)p3.7 /rd(外部数据存储器读选通)p3口同时为闪烁编程和编程校验接收一些控制信号。rst:复位输入。当振荡器复位器件时,要保持rst脚两个机器周期的高电平时间。ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在flash编程期间,此引脚用于输入编程脉冲。在平时,ale端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ale脉冲。如想禁止ale的输出可在sfr8eh地址上
47、置0。此时, ale只有在执行movx,movc指令是ale才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ale禁止,置位无效。/psen:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/psen有效。但在访问外部数据存储器时,这两次有效的/psen信号将不出现。/ea/vpp:当/ea保持低电平时,则在此期间外部程序存储器(0000h-ffffh),不管是否有内部程序存储器。注意加密方式1时,/ea将内部锁定为reset;当/ea端保持高电平时,此间内部程序存储器。在flash编程期间,此引脚也用于施加12v编程电源(vpp)。xtal1:反向振荡放大器
48、的输入及内部时钟工作电路的输入。xtal2:来自反向振荡器的输出。振荡器特性:xtal1和xtal2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,xtal2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 芯片擦除:整个perom阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ale管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,at89c51设有稳态逻辑,可
49、以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,cpu停止工作。但ram,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存ram的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。 单片机的结构和特殊寄存器,这是编写软件的关键。串口通信需要用到特殊功能寄存器,它们是scon,tcon,tmod,scon等。sbuf 数据缓冲寄存器这是一个可以直接寻址的串行口专用寄存器。实际上sbuf 包含了两个独立的寄存器,一个是发送寄存,另一个是接收寄存器,但它们都共同使用同一个寻址地址99h。cpu 在读sbuf 时会指到接收寄存器,在写时会指到发送寄存
50、器,而且接收寄存器是双缓冲寄存器,这样可以避免接收中断没有及时的被响应,数据没有被取走,下一帧数据已到来,而造成的数据重叠问题。发送器则不需要用到双缓冲,一般情况下在写发送程序时也不必用到发送中断去外理发送数据。至于操作sbuf寄存器的方法,则只要把这个99h 地址用关键字sfr定义为一个变量就可以对其进行读写操作了,如sfr sbuf = 0x99;当然你也可以用其它的名称。通常在标准的reg51.h 或at89x51.h 等头文件中已对其做了定义,只要用#include 引用就可以了。scon 串行口控制寄存器通常在芯片或设备中为了监视或控制接口状态,都会引用到接口控制寄存器。scon 就
51、是51 芯片的串行口控制寄存器。它的寻址地址是98h,是一个可以位寻址的寄存器,作用就是监视和控制51 芯片串行口的工作状态。51 芯片的串口可以工作在几个不同的工作模式下,其工作模式的设置就是使用scon 寄存器。它的各个位的具体定义如下:sm0、sm1 为串行口工作模式设置位,这样两位可以对应进行四种模式的设置。串行口工作模式设置。sm0 sm1 模式 功能 波特率0 0 0 同步移位寄存器 fosc/120 1 1 8位uart 可变1 0 2 9位uart fosc/32 或fosc/641 1 3 9位uart 可变在这里只说明最常用的模式1,其中的fosc 代表振荡器的频率,也就是
52、晶振的频率。uart 为(universal asynchronous receiver)的英文缩写。sm2 在模式2、模式3 中为多处理机通信使能位。在模式0 中要求该位为0。rem 为允许接收位,rem 置1 时串口允许接收,置0 时禁止接收。rem 是由软件置位或清零。如果在一个电路中接收和发送引脚p3.0,p3.1 都和上位机相连,在软件上有串口中断处理程序,当要求在处理某个子程序时不允许串口被上位机来的控制字符产生中断,那么可以在这个子程序的开始处加入rem=0 来禁止接收,在子程序结束处加入rem=1 再次打开串口接收。大家也可以用上面的实际源码加入rem=0 来进行实验。tb8
53、发送数据位8,在模式2 和3 是要发送的第9 位。该位可以用软件根据需要置位或清除,通常这位在通信协议中做奇偶位,在多处理机通信中这一位则用于表示是地址帧还是数据帧。rb8 接收数据位8,在模式2 和3 是已接收数据的第9 位。该位可能是奇偶位,地址/数据标识位。在模式0 中,rb8 为保留位没有被使用。在模式1 中,当sm2=0,rb8 是已接收数据的停止位。ti 发送中断标识位。在模式0,发送完第8 位数据时,由硬件置位。其它模式中则是在发送停止位之初,由硬件置位。ti 置位后,申请中断,cpu 响应中断后,发送下一帧数据。在任何模式下,ti 都必须由软件来清除,也就是说在数据写入到sbu
54、f 后,硬件发送数据,中断响应(如中断打开),这时ti=1,表明发送已完成,ti 不会由硬件清除,所以这时必须用软件对其清零。ri 接收中断标识位。在模式0,接收第8 位结束时,由硬件置位。其它模式中则是在接收停止位的半中间,由硬件置位。ri=1,申请中断,要求cpu 取走数据。但在模式1 中,sm2=1时,当未收到有效的停止位,则不会对ri 置位。同样ri 也必须要靠软件清除。常用的串口模式1 是传输10 个位的,1 位起始位为0,8 位数据位,低位在先,1 位停止位为1。它的波特率是可变的,其速率是取决于定时器1 或定时器2 的定时值(溢出速率)。at89c51 和at89c2051 等5
55、1 系列芯片只有两个定时器,定时器0 和定时器1,而定时器2是89c52 系列芯片才有的。波特率在使用串口做通讯时,一个很重要的参数就是波特率,只有上下位机的波特率一样时才可以进行正常通讯。波特率是指串行端口每秒内可以传输的波特位数。波特率不是指每秒传输的字节数,如标准9600 不是每秒种可以传送9600个字节,而实际上它是指每秒可以传送9600 个二进位,而一个字节要8 个二进位,如用串口模式1 来传输那么加上起始位和停止位,每个数据字节就要占用10 个二进位,9600 波特率用模式1 传输时,每秒传输的字节数是960010960 字节。51 芯片的串口工作模式0的波特率是固定的,为fosc
56、/12,以一个12m 的晶振来计算,那么它的波特率可以达到1m。模式2 的波特率是固定在fosc/64 或fosc/32,具体用那一种就取决于pcon 寄存器中的smod位,如smod为0,波特率为focs/64,smod为1,波特率为focs/32。模式1和模式3 的波特率是可变的,取决于定时器1或2(52 芯片)的溢出速率。2.2.4 使用at89c51编程时需注意事项1.驱动程序注意事项:在烧写前要确认计算机并口(prn)要在bios中设置为ecp或ecp+epp。否则计算机无法正确把数据到传输到编程器中。有打印机用户一般无需设置它。 2.编程器注意事项:烧写at89c51单片机的时候,不允许中途断电,否则会导致烧写失败。虽然可以修复,但毕竟对芯片不利。 3.电路中有隔离转换电路,所以下述操作可以在计算机开启的状态下进行:联机顺序是先连接好并口联机线,再接通usb电源。断开顺序是,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教版八年级 历史与社会上册 1.1.2 古代西亚国家 教学设计
- 三年级英语上册 Unit 1 Hello!I'm Monkey Lesson 3教学设计 人教精通版(三起)
- 采购合同风险财务风险报告重点基础知识点
- 隔物灸的作用与护理
- 混凝土调料合同范本
- 老年人离婚协议书范例二零二五年
- 美丽庭院可行性研究报告
- 音乐理论基础知识
- 2025年专升本艺术概论模拟试卷:艺术科技融合的未来展望试题
- 2025年小学英语毕业考试模拟卷:语音语调训练互动学习反馈
- 山东省自然科学基金申报书-青年基金
- 2024年度-行政复议法专题讲座课件
- 电信网络工程师招聘笔试题及解答(某大型集团公司)2025年
- 构式词法在汉语词汇研究中的应用及价值探析
- 广东省广州白云区2025届初三下学期期末(一模)练习英语试题含答案
- 材料认质认价作业指引
- 协作机器人比赛理论试题库(含答案)
- DL∕T 5161.6-2018 电气装置安装工程质量检验及评定规程 第6部分:接地装置施工质量检验
- 8.1科学立法、严格执法、公正司法、全民守法(课件+视频)-【中职课堂】高二政治《职业道德与法治》
- 实验训练2数据查询操作
- 四年级下册劳动浙教版《任务三 布袋的制作》(教案)
评论
0/150
提交评论