1、 本科毕业论文(设计、创作)题目: 基于单片机的户式中央空调器温度测控系统设计 学生姓名: 学号: 103402032 所在系院: 专业: 电子信息工程 入学时间: 2010 年 9 月导师姓名: 职称/学位: 副教授/硕士 导师所在单位: 完成时间: 2014 年 5 月安徽三联学院教务处 制基于单片机的户式中央空调器温度测控系统设计摘要: 随着社会的飞速发展,普通的机械式的设备已无法满足人们丰富多样的生活。取而代之的是更加智能化人性化的温度控制器。户式中央空调温度控制系统,主要目的是可以对空调进行更好的智能化人性化的控制,它通过对温度进行采集,显示数据,并完成设定等工作来控制空调,以更好的
2、服务于大众。作为空调温度控制器的检测和控制核心,以单片机AT89C52为主控制器件。系统硬件主要由电源电路、温度采集电路(DS18B20)、键盘、显示电路、输出控制电路及其他辅助电路组成;软件采用C语言编程;该系统可以完成温度的显示,设定温度的功能,以及对空调的控制等等。关键字:中央空调;单片机;温度控制与检测The design of SCM residential central air conditioner temperature control system based onAbstract: With the rapid development of society, mechan
3、ical common equipment has been unable to meet the peoples rich diversity of life. Replace sb. is more intelligent temperature controller and humane. Household central air-conditioning temperature control system, the main purpose is to control the intelligent human can better conditioning of, the tem
4、perature acquisition, display data, and complete set to control air conditioning, so as to better serve the public. As the core of detection and control air-conditioning temperature control, this design is mainly based on single chip AT89C52. The system hardware is mainly composed of a power circuit
5、, temperature measurement circuit (DS18B20), keyboard, display circuit, output control circuit and other auxiliary circuit; software using C language programming; the system can complete the temperature display, temperature setting function, as well as to the air conditioning control system etc.Key
6、words: sewage treatment; PLC; The process flow 目 录第一章 绪论1第二章 设计目的及要求32.1设计目的和意义32.2设计任务与要求3第三章系统方案的确定53.1方案的比较53.1.1 方案一53.1.2方案二53.2温度传感器的分类63.3单片机的选择73.4 温度传感器的选择8第四章 硬件电路设计104.1硬件总体设计方案104.2 功能模块电路设计104.2.1 振荡电路设计104.2.2复位电路的设计114.2.3键盘接口电路的设计114.2.4温度测量电路设计124.2.5系统显示电路设计124.2.6输出控制电路设计154.3总电路设
7、第五章 系统软件设计175.1软件系统总体方案设计175.2软件流程图设计17第一章 绪论以前,国际上的温度控制器是模拟式的,集成化的,现在逐渐走向数字式,并逐渐向智能化网络化迈进。现代信息技术包含了三大技术,分别是温度控制器技术、通信技术和计算机技术。其中温度控制技术很大一部分影响了人们的生活,推动社会的向前发展。温度控制器决定了温控技术的发展方向,它涉及到工农业的生产,推动了科技的发展,提高了人们的生活质量,涉猎如此之广。多年来,温控器的发展波澜起伏,大致经历了两个重要阶段。生活在21世纪的人们,生活质量不断提高,同时对高科技电子行业也是一个巨大的挑战。为了使人们更加舒适的生活作息,享受更
8、优质的服务,夏天避免中暑,冬天避免感冒,必须要设计出一个好的温控系统,以便很好的控制室内温度,为人们营造一个好的生活环境,享受更优质的服务。由于中国人口众多,在中国的北方地区,有许多家庭还没有拥有有效的室内温度控制系统的设备。温度不能很好地在一定范围内控制,夏季室内温度过高,冬季温度过低,这影响了人们的正常生活,温度和湿度的负面影响一直存在。以前的温度控制设备,主要是机械式的设备,想要达到降温的目的,主要靠室内外空气交换。打开或关闭通风设备,都是由人手动控制的,人为控制通风设备的同时,人们的劳动强度加大,稳定性差。要做到室内温度适中,需要有一个符合机械温控要求的控制器,当温度过高可以自动降温,
9、温度过低可以自动升温,这样会更加方便人们的生活。温度控制器是一种温度控制装置,它根据用户所需温度与设定温度之差值来控制中央空调末端之水阀(风阀)及风机,从而达到改变用户所需温度的目的。实现以上目的的方法理论上有很多,但目前业界主要有机械式温度控制器及智能电子式两大系列。第一代空调温控器主要是电气式产品,空调温控器的温度传感器采用双金属片或气动温包,通过“给定温度盘”调整预紧力来设定温度,风机三速开关和季节转换开关为泼档式机械开关。这类空调温控器产品普遍存在“温度设定分度值过粗”、“时间常数太大”、“机械开关易损坏”等问题。第二代空调温控器为电子式产品,温度传感器采用热敏电阻或热电阻,部分产品的
10、温度设定和风速开关通过触摸键和液晶显示屏实现人机交互界面,冷热切换自动完成,运算放大电路和开关电路实现双位调节。这类智能空调温控器产品改善了人机交互界面,解决了“温度设定分度值过粗”等问题,但仍存在“控制精度不高”、“时间常数大”、“操作较复杂”等问题。目前国内外生产厂家正在研究开发第三代智能型室温空调温控器,应用新型控制模型和数控芯片实现智能控制。现在已有国内厂家生产出了智能型室温空调温控器,并已应用于实际工程。随着电子技术的发展,特别是随着大规模集成电路的产生,给人们的生活带来了根本性的变化,如果说微型计算机的出现使现代的科学研究得到了质的飞跃,那么单片机技术的出现则是给现代工业控制测控领
11、域带来了一次新的革命。目前,单片机在工业控制系统诸多领域得到了极为广泛的应用。特别是其中的C52系列的单片机的出现,具有更好的稳定性,更快和更准确的运算精度,推动了工业生产,影响着人们的工作和学习。而本次设计就是要通过以C52系列单片机为控制核心,实现空调机温度控制系统的设计。随着人们生活水平不断的提高,人们对空调的舒适性和空气品质的要求越来越高,分体式空调已不能满足人们的要求,户式中央空调得到了迅猛的发展。就室内居住环境而言,恒温环境并非是卫生和舒适的。因为除了温度外,还有湿度、空气流速、空气洁净度等诸多因素影响到舒适的程度。而传统的中央空调靠设置机械温控开关来实现房间的恒温控制。这种控制方
12、法,一方面操作不方便;另一方面温度波动范围大,不但影响人的舒适感,而且会造成一定的能量损耗。采用单片机温度控制系统控制的户式中央空调系统,可以根据室内的环境因素,调节风机的转速,为人们创造一个舒适的室内环境,同时又节省电。第二章 设计目的及要求2.1设计目的和意义随着人们生活水平的提高,人们对空调的舒适性和空气品质的要求越来越高,分体式空调已不能满足人们的要求,户式中央空调得到了迅猛的发展。就室内居住环境而言,恒温环境并非是卫生和舒适的。因为除了温度外,还有湿度、空气流速、空气洁净度等诸多因素影响到舒适的程度。而传统的中央空调靠设置机械温控开关来实现房间的恒温控制。这种控制方法,一方面操作不方
13、便;另一方面温度波动范围大,不但影响人的舒适感,而且会造成一定的能量损耗。采用单片机温度控制系统控制的户式中央空调系统,可以根据室内的环境因素,调节风机的转速,为人们创造一个舒适的室内环境,同时又节省电。随着电子技术的发展,特别是随着大规模集成电路的产生,给人们的生活带来了根本性的变化,如果说微型计算机的出现使现代的科学研究得到了质的飞跃,那么单片机技术的出现则是给现代工业控制测控领域带来了一次新的革命。目前,单片机在工业控制系统诸多领域得到了极为广泛的应用。特别是其中的C51系列的单片机3的出现,具有更好的稳定性,更快和更准确的运算精度,推动了工业生产,影响着人们的工作和学习。而本次设计就是
14、要通过以C51系列单片机为控制核心,实现空调机温度控制系统的设计。由于中国人口众多,在中国的北方地区,有许多家庭还没有拥有有效的室内温度控制系统的设备。温度不能很好地在一定范围内控制,夏季室内温度过高,冬季温度过低,这影响了人们的正常生活,温度和湿度的负面影响一直存在。以前的温度控制设备,主要是机械式的设备,想要达到降温的目的,主要靠室内外空气交换。打开或关闭通风设备,都是由人手动控制的,人为控制通风设备的同时,人们的劳动强度加大,稳定性差。要做到室内温度适中,需要有一个符合机械温控要求的控制器,当温度过高可以自动降温,温度过低可以自动升温,这样会更加方便人们的生活。2.2设计任务与要求空调的
15、工作原理:空调器的制冷系统由蒸发器、压缩机、冷凝器和毛细管四个主要部件组成。冷凝器节流膨胀 第三章系统方案的确定3.1方案的比较3.1.1 方案一选用AT89C51单片机为中央处理器,通过温度传感器DS18B20对空气进行温度采集,将采集到的温度信号传输给单片机,由单片机控制显示器,并比较采集温度与设定温度是否一致,然后驱动空调机的加热或降温系统对空气进行处理,从而模拟实现空调温度控制单元的工作情况。在整个设计中,涉及到温度检测电路、驱动控制电路、显示电路、键盘电路以及电源的设计等电路。其中单片机的控制程序是起到各个电路之间的相互协调,控制各个电路正常工作的至关重要的作用。其方框图如下:图3-
16、1 方案一设计图框该图控制简单,思路清晰,各单元模块的相互衔接较简单,同时成本低廉,用的各种器件都是常用器件,更具有使用性。3.1.2方案二 该方案采用的是AT89C52单片机为核心控制器件,用它来处理各个单元电路的工作以及检测其运行情况。本方案中采用的是LM35DZ温度传感器,通过温度采集电路采集相关温度数值,再由ADC0809组成的A/D转换电路进行转换,最终得到数字信号,将其直接传输给单片机,然后由单片机根据内部程序判断,执行相关控制程序,驱动各单元电路的工作。其方框图如下:图3-2 方案二设计图框 该方案容易控制,系统原理比较简单,电路可靠。但其中的温度测量电路、译码电路复杂,容易产生
17、误差和由电路复杂而导致的设备使用寿命低等一系列问题。3.2温度传感器的分类分类:(1).热敏电阻式温度传感器电阻温度传感器插入热电阻温度传感器和热敏电阻温度传感器,它们的特点是其电阻随温度而变化。 热敏电阻用敏感元件由半导体材料制成的,热敏电阻温度传感器通常具有负温度系数的热敏电阻,这极大地影响了电阻率,并随温度的升高减少,简称NTC。它的优点是灵敏度高,体积小,寿命长,工作稳定,易于实现遥控;缺点是互换性差,非线性严重。(2).热电阻式温度传感器利用热电阻温度系数随温度变化的特性而制成的温度传感器。称为热电阻温度传感器。对于大多数金属导体,其电阻值都具有随温度升高而增大的特性。由于纯金属的温
18、度系数比合金的高,因此均采用纯金属作为热电阻组件。常用的金属导体材料有铂、铜、铁和镍。(3).热电偶式温度传感器热电偶是一种传统的温度传感器,其测温范围一般为-50到+1600,最高可达+2800,并且有较高的测量精度。另外,热电偶产品已实现标准化、系列化,使用时易于选择,可方便地用计算机做线性补偿,因此,至今在测温领域内仍被广泛使用。它的理论基础是建立在热电效应上,将热能转化为电能。(4).模拟集成温度传感器集成传感器是由硅半导体集成工艺制造而成,也称为硅传感器或单片集成传感器。模拟集成温度传感器是在20世纪80年代推出的。属于最简单的一种集成温度传感器,它是一个将温度传感器集成在一个芯片上
19、,并可完成温度测量及模拟信号输出功能的专用IC。模拟集成温度传感器的主要特点是功能单一(仅测量温度),测量误差小,价格低,响应速度快,传输距离远,体积小,低功耗,适用于远程温度测量,温度控制,不需要非线性校正。外围电路比较简单,它是一个集成的传感器,是比较常见的在国内和国外。(5).智能温度传感器智能温度传感器(数字温度传感器)是在1980年以后出现的。智能温度传感器是集成温度传感器领域中最有生机和前景的新产品,也是微电子技术、计算机技术和自动测试技术的产物。智能温度传感器具有个主要特色:它是在硬件的基础上开发的,并通过软件来实现测试的功能,它的智能化程度也取决于软件的开发水平。智能温度传感器
20、内部都包含温度传感器、A/D传感器、存储器(或寄存器)和接口电路。有的产品还带多路控制器、中央控制器(CPU)、随机存取储存器(RAM)和只读存储器(ROM)。选择:温度传感器技术应用范围很广,比如电子产品,玩具,家电,工业测量控制系统和个人电脑的使用。传统领域中,最常用的温度传感器元件非分立式温度传感器莫属,而集成温度传感器主要特点有很多,首先价格便宜,其次功能上温误差小,响应速度快、传输距离比较远,形状上,体积很小,在耗费上,功耗低,集成温度传感器适合远距离测温、控温,并且不需要非线性校准,它的外围电路非常简洁,它现在在国内外都很流行,应用极其广泛。所以,选择恰当的传感器是非常重要的,因为
21、传感器是温测系统里的关键零件,是前向通道里的主要部件。对于传感器的选择,要重点考虑这几个方面,价格方面,温控的精确度方面,温度范围、测温场合等多个因素。3.3单片机的选择因为该制冷控制系统功能很少,所以用单片机控制就可以完成。AT89C52的性能及特点:其与MCS-51系列单片机兼容。片内有8K可在线重复编程的快速内存可擦写存储器(FlashMemory)。存储器可循环写入/擦写10000次以上。存储器数据保存时间为10年以上。宽工作电压范围:Vcc可为2.7V-6.5V。全静态工作:可从0Hz-24MHz。程序存储器具有三级加密保护。256字节的内部RAM。32条可编程I/O口线。三个16位
22、定时器/计数器。中断结构具有5级(6级)中断源和两个优下级。可编程全双工串行通讯。空闲维持低功耗和掉电状态保护存储数据。并且89C52单片机体积小、重量轻、抗干扰能力好、对环境要求低、价格便宜、可靠性好、灵活性高,故本系统选择采用89C52单片机。图3-3AT89C52引脚图3.4 温度传感器的选择本系统的温度测量电路采用DS18B20来实现。DS18B20是美国DALLAS半导体公司推出的第一片采用“一线总线”接口的温度传感器,它具有微型化、低功耗、高性能、抗干扰、能力强、易配微处理器等优点,可直接将温度转化成串行数字信号供处理器处理。DS18B20,有如下几个特点,它的精确度高,在一般环境
23、下,抗干扰能力比较好,而且加上它的体积比较小,耐磨耐碰,用起来比较方便,所以比较适用于各种窄小的空间的数字测温和控制领域。第四章 硬件电路设计4.1硬件总体设计方案空调温度控制系统,主要要完成对温度的采集、显示以及设定等工作,从而实现对空调的控制。传统采用铂电阻充当测温器件的方案,虽然其中段测量线性度好,精度较高,但是测量电路的设计难度高 ,且测量电路系统庞大,难于调试 ,而且成本相对较高。鉴于上述原因,本系统采用DS18B20充当测温器件。外部温度信号经 DS18B20将输入的模拟信号转换成8位的数字信号, 通过并 口传送到单片机系统( AT89C52) 。单片机系统将接收的数字信号译码处理
24、,通过LCD1602将温度显示出来,同时单片机系统还将完成键盘扫描 、按键温度设定、超温报警等程序的处理 ,将处理的温度信号与系统设定温度值比较,形成可以控制空调制冷、制热与停止工作三种工作状态,从而实现空调的智能化。另外,键盘输入方面,采用了软件来修正误操作输入 ,即输入的温度范围必须在系统硬件所确定的范围内,直接降低由于误操作带来的风险,提高了系统的可靠性 ,体现了人性化的系统设计原则。图4-1系统整体框图4.2 功能模块电路设计4.2.1 振荡电路设计AT89C52内部存在一个反相放大器,它是用来构成片内振荡器,而且是一个高增益反相放大器,振荡器产生的信号作为CPU的时钟信号,振荡器产生
25、的信号先送到CPU,然后驱动CPU,从而使机器周期产生执行指令的功能。引脚XTAL1和XTAL2是此放大器的输人端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起可构成一个自激振荡器,外接石英晶体或陶瓷谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。电容的大小对振荡器频率的高低和振荡器的稳定性、以及起振圈内部振荡的接法的快速性和温度具有一定的影响,虽然对外接电容C1和C2没有过分的规定。C1和C2的取值一般在这个范围内(40pF-10pF),因此,C1、C2选择的标称值为30pF,它外接的是石英晶体。图4-2振荡电图4.2.2复位电路的设计单片机复位的主要功能
26、是:令单片机从0000H这个单元开始执行程序,把程序计数器PC的值初始化。当程序运行出错或操作错误使系统处于锁死状态时,也要用复位来重新启动单片机。复位包括两种:一个是上电复位、另一个是手动复位a)通过依靠外部复位电路的电容充电可以实现上电的自动复位。如果要实现自动上电复位,必须保证电源的上电时间小于或等于1ms。b)按键手动复位包括两种方式,一种是电平方式,另一种是脉冲方式。复位电路具有很重要的作用。一个单片机系统能否复正常运行,首先要确保复位是否成功。在此次设计中,本文选择了由按键电平复位方式的复位电路,并且把晶振值定为12MHZ,根据以往的经历可以把电容值定作10F,可以把两个电阻值一个
27、定为100,另一个定为8.2K,这样才会保证复位信号的高电平持续时间大于2个机器周期。4.2.3键盘接口电路的设计独立键盘与单片机连接时,每个按键都需要单片机的一个I/O口,若单片机系统需要较多按键,如果用独立按键会占用过多的I/O口资源。单片机系统中I/O口资源往往比较宝贵,当用到多个按键时,为了节省I/O口线,一般需使用矩阵键盘。本系统共需使用16个按键,故选择的矩阵键盘。图4-3键盘接口电路4.2.4温度测量电路设计本系统的温度测量电路采用DS18B20来实现。DS18B20是美国DALLAS半导体公司推出的第一片采用“一线总线”接口的温度传感器,它具有微型化、低功耗、高性能、抗干扰、能
28、力强、易配微处理器等优点,可直接将温度转化成串行数字信号供处理器处理。图4-4温度测量电路4.2.5系统显示电路设计本系统采用LCD1602作为系统的显示器件,1602字符型液晶是一种专门用来显示字母、数字、符号等的点阵型液晶模块,能分两行显示,它有若干个或者等点阵字符位组成,每个点阵字符位都可以显示一个字符。图4-5系统显示电路所谓LED静态驱动:是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动;其点亮和关闭由该I/O口来对其控制,互不干涉,对I/O驱动能力弱的MCU,必须增加外部驱动芯片或三极管等器件。此种设计一般应用在单个LED
29、的驱动或LED数量较少,且所选的MCUI/O口比较充裕的情况下。由于每一个LED均由独立的I/O口控制,因此优点是软件编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5840根I/O端口来驱动,要知道一个 AT89C51单片机可用的I/O端口才32个,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。LED的动态显示方式: 数码管动态显示接口是单片机中应用最为广泛的一种显示方式,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形
30、码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的公共极,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,却能够节省大量的I/O端口,而且功耗更低。 由于所有的 LED模块共用了驱动端,因此LED的
31、驱动不再像静态法一样为每个LED所独享,因此其驱动的设计方法也与静态法完全不同,需要采用分时扫描方法来实现对所有LED的显示驱动,其原理如下:a.将A0设置为高电平,也即允许第一组LED显示,同时将A2,A3,A4设置为低电平,也即关闭该阴极所对应的LED组显示;b.在P2口输出A0组对应的显示数据,如字符点阵数据、7段码对应的数字的数据等,该数据可以通过ROM表的形式预先定义;c.保持一定的时间T,该时间即为所设定的定时器的中断时间;d.将A0口设置为低电平,关闭A0组的LED显示;e.将A1设置为高电平,其他几个设置为低电平,开启A1组对应的LED显示;f.在P0口输出A1组对应的显示数据
32、;g.重复以上步骤,直到所有组被扫描一遍,然后又从A0组开始下一个循环,如此周而复始,实现所有LED的动态显示。该方法的原理利用了人眼对物体的视觉延迟来达到所有LED的同时显示,实际应用时,在同一个时刻,只有一组LED处于显示状态,而其他LED处于关闭状态。理论上,若两次显示之间的时间间隔小于32ms时,人眼既无法分辨,因此,为了达到此要求,LED的扫描频率一般可以按照下式计算得出:f=32*N。式中,f为扫描的频率,对应为定时器的时间(T=1/ f);32则是由32ms换算而来,32ms对应的频率刚好为32Hz;N则时总的LED的组数(此例中N=4)。根据此式算出的扫描频率f实际是LED驱动
33、扫描的最小频率,若低于此频率,则有可能导致LED的闪烁; f也不可能越高越好,扫描的频率太高,每组LED的点亮时间就越短,因此有可能导致LED的亮度不够或显示效果不理想等一些问题。当然提高LED的驱动电压也可以补偿由此造成的亮度不够的问题。数据与代码转换。由前述可知,P2口的P2.0至P2.3输出段选码,P2口的P2.4至P2.7输出位选码,LED就会显示出数字来。但P2口输出的数据是BCD码,各存储器存储的数据是二进制,也就是和要显示出的字符表达的含义是不一致的。可见,将要显示的存储器单元的数据直接送到P2口去驱动LED数码管显示是不能正确表达的,必须在系统内部将要显示的数据经过BCD码转换
34、后,将各个单元数据的段选代码送入P2口,给CD4511译码后去驱动数码管显示。具体转换过程如下:我们先将要显示的数据装入累加器A中,再将A中的数据转换成高低两位的BCD码,再放回A中,然后将A中的值输出。如:有一个单元存储了45这样一位数,则需转换成四位BCD码(0100) (1001)然后放入A中,A中BCD码,高四位代表4,低四位代表5,同时送给两个译码器中,译码后45字就在两个LED中显示出来。4.2.6输出控制电路设计系统要求在当前室温低于设定温度时,能够自动驱动加热系统工作 ;在当前室温高于设定温度时能够自动驱动制冷系统工作。本系统在复位后即置P26脚和P27脚为低电平,在当前室温低
35、于设定温度时,通过置P27脚为高电平来驱动后级加热系统,本系统采用红色LED来代替加热系统;在当前室温高于设定温度时,通过置P26脚高电平来驱动后级制冷系统,本系统采用蓝色LED来代替制冷系统。图4-6输出控制电路4.3总电路设计 图4-7显示电路第五章 系统软件设计5.1软件系统总体方案设计系统软件由主程序模块、测温程序模块、键盘扫描程序模块以及液晶驱动程序模块组成。本设计中采用的处理器是AT89C52单片机,由此可采用面向MCS-51的程序设计语言,包括ASM51汇言和C语言,这两种语言各有特点。C语言更接近机器语言,常用来编制与系统硬件相关的程序,如访问I/O端口、中断处理程序、实时控制
36、程序、实时通信程序等;而数学运算程序则适合用C51高级语言编写,因为用高级语言编写运算程序可提高编程效率和应用程序的可靠性。 与以往的80C51单片机不同,AT89C52具有在线调试和下载功能,它由支持AT89C51的开发工具包Keil uVersion2.0开发系统来提供。也就是说,在用户系统保留AT89C51的情况下,通过开发系统与AT89C51的串行接口通信,直接对用户系统进行调试,并在调试完成后将调试好的程序下载到AT89C51中。Keil uVersion2.0开发系统提供四项功能:编译、下载、调试和模拟,分别由Keil uVersion2.0提供的编译器、在线串行下载器、调试器和模
37、拟器来实现。Keil uVersion2.0编译器可在Windows操作系统下直接使用,编译汇编源程序,并生成16进制文件和列表文件。串行下载器是一个软件程序,它允许通过标准PC机上的串口串行下载汇编程序到片内8kB的闪速程序存储器中。调试器采用Windows系统,允许用户使用AT89C52的UART串行接口在芯片上调试代码执行。在典型调试对话中,调试器提供对片内所有外围设备的访问、单步和设置断点的代码执行控制方式。模拟器采用Windows系统,能完全模拟AT89C52的所有功能。模拟器使用简单,结合了许多标准调试特征,包括多断点、单步以及代码执行跟踪等能力。 主程序功能单一化,只对各子程序进
38、行控制、调动,使整个程序成为有机的整体。软件主程序是系统的监控程序,主要工作流程为:系统在上电以后进入初始化状态,将系统中所有的接口模式、状态以及有关的存储单元置位成初始状态,然后恢复AT89C52的P1口(控制输出)的工作状态。5.2软件流程图设计图5-1系统软件流程图图5-2 温度采样框程序如下:float tt; Init_DS18B20(); / 初始化ds18b2子函数 delay_MS(1); WriteOneChar(0xcc); / 跳过ROM命令 WriteOneChar(0xbe); / 发送读取数据命令 temp_data0=ReadOneChar(); / 连续读两个字
39、节数据 temp_data1=ReadOneChar(); temp1=temp_data1; temp16348) / 温度值正负判断 tem=65536-tem;flag1=1; / 负温度求补码,标志位置1 else flag1=0; Dis_ram0=tem&0x0f; / 取小数部分的值 Dis_play3=Dis_ram0; / 存入小数部分显示值 Dis_ram0=tem4; / 取中间八位,即整数部分的值 Dis_play0=Dis_ram0/100; / 取百位数据暂存 Dis_play2=Dis_ram0%100; / 取后两位数据暂存 if(Dis_play2=SX) D
40、is_play5=1 ; else Dis_play5=0 ; Dis_play1=Dis_play2/10; / 取十位数据暂存 Dis_play2=Dis_play2%10; / 取个位数据暂存 if(!Dis_play0) / 最高位为0都不显示 Dis_play0=0x0a; / 先判断百位是否为0 if(!Dis_play1) Dis_play1=0x0a; / 再判断十位是否为0图5-3显示部分流程图程序如下: LED1=LED1; LED2=LED2;void display() /*显示温度子程序*/ char k; for(k=0;k4;k+) /4位LED扫描控制 if(t
41、ableDis_playk != 0)Disdata=tableDis_playk; /数据显示 if (k=2)DIN=0; /小数点显示discan=scan_conk+3; /位选 delay_MS(90); /延时 discan=0x00; discan=scan_con7; /位选Disdata=0xc6; /显示C delay_MS(90);discan=0x00;/*主函数*/void main(void) EA=1; /允许INT0 中断 EX0=1; IT0=1; /下降沿触发 do tmpchange(); /温度转换 tem_deal(tmp(); /显示温度值 disp
42、lay(); if(Dis_play4=1) shengwen(); else LED1=1; if(Dis_play5=1) jiangwen(); else LED2=1; while(1); 致 谢转眼大学四年即将结束。回想求学的四年,真的是受益颇多。在整个毕业设计过程期间,我得到了老师的认真指导,她们的认真负责,悉心指导使我能够顺利有效地完成毕业设计。从选题到完成设计,两位老师帮我解决做论文过程中遇到的各种问题,帮助我思考,鼓励我,让我充满了信心和勇气,使我非常积极地投入到设计中,不断地实现了设计中的每一个环节,经过连续奋战一段时间后,我终归实现了这个设计,心里感觉很充实,很人性化。在
43、此,再次感谢老师,老师辛苦了,是你让我在再次回味了大学的学习生活,再次想起那份执着与热情,我很快乐,谢谢你。参考文献1 沈红工单片机应用系统设计实例与分析M北京:北京航空航天大学出版社,2003.62 范维澄.中国火灾科学基础研究概况J.火灾科学,2005:22-253 李光飞、楼然苗、胡佳文、谢象佐单片机课程设计实例指导M北京:北京航空航天大学出版社,2004.34 张大明. 单片微机控制应用技术实操指导书. 北京:机械工业出版社,2007.45丁璐,李春华,杨戍.火灾探测技术的分析J.现代煤矿火灾探测技术.2007:12-156 康万新、谢维成、杨加国. 毕业设计指导及案例剖析应用电子技术方向. 北京:清华大学出版社,2007.57何立民,单片机应用系统设计M,北京清华大学出版社,20058楼然苗等,51系列单片机设计实例,北京航空航天出版社,20039金发庆等,传感器技术与应用.北京机械工业出版社,200210李华,AT89C52系列单片机实用接口技术M,北京航空航天大学出版社,1993 11赵晓安,AT89C52单片机原理及应用M,天津大学出版社,200112陆子明,单片机设计与应用基础教程M,北京国防工业出版社,200513刘迎春,传感器原理与应用第四版M,国防科技出版社,200414Matsushit