推荐51单片机智能温度控制器设计与实现精品.docx
《推荐51单片机智能温度控制器设计与实现精品.docx》由会员分享,可在线阅读,更多相关《推荐51单片机智能温度控制器设计与实现精品.docx(36页珍藏版)》请在冰豆网上搜索。
推荐51单片机智能温度控制器设计与实现精品
题 目基于51单片机智能温度控制器设计与实现
本题目要求设计者以智能温度控制器为对象,完成硬件系统和软件设计并实现其功能。
1.熟悉任务,分析课题要求,熟悉温度控制器的原理,进行方案设计;
2.熟悉硬件设计技术基础、单片机应用系统设计要领,根据本课题的特点选择相应器件;
3.搜集素材,优选素材,整理素材;
4.完成所硬件电路的装配和调试,编写程序实现其功能;
5.撰写。
6.参加答辩。
()原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的(),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用()的规定,即:
按照学校要求提交()的印刷本和电子版本;学校有权保存()的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存;在不以赢利为目的前提下,学校可以公布的部分或全部内容。
作者签名:
日 期:
学位原创性声明
本人郑重声明:
所呈交的是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
年月日
学位版权使用授权书
本学位作者完全了解学校有关保留、使用学位的规定,同意学校保留并向国家有关部门或机构送交的复印件和电子版,允许被查阅和借阅。
本人授权 大学可以将本学位的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位。
涉密按学校规定处理。
作者签名:
日期:
年月日
导师签名:
日期:
年月日
摘要
近年来,随着单片机档次的不断提高,功能的不断完善,其应用日趋成熟,应用领域日趋扩大,特别是工业测控、尖端武器和日用家电等领域更是因为有了单片机而生辉增色.单片机应用技术已成为一项新的工程应用技术.本正是以AT89S51单片机为中心设计的温度控制器.虽然温度控制器电路功能比较简单,但是设计它的意义在于能使学生将所学到的知识综合应用,提高动手实践能力.
本系统采用AT89S51单片机作为核心,控制系统的模块分别为:
单片机最小系统、显示模块、温度设定模块。
当温度传感器感应到温度变化时,本设计可以判断温度是否设定范围之内,若不在,蜂鸣器发出警报。
本设计的系统实用性强、判断精确、操作简单、扩展功能强.
关键词:
温度控制器单片机AT89S51
ABSTRACT
Inrecentyears,withthecontinuousimprovementofthemicrocontrollerclass,functionalimprovement,itsapplicationmatures,applicationfield,especiallytheincreasingindustrymeasurementandcontrol,cutting-edgeweaponsanddailyhouseholdappliances,etcbutbecauseasingle-chipmicroputerandbrightnessgraces.Microputerapplicationtechnologyhasbeeanewengineeringapplicationtechnology.ThisgraduationdesignisdesignedforthecenterwithAT89S51.Althoughtemperaturecontrollerissimpler,butdesignitsmeaningliesinthecanmakestudentswilllearnknowledgeprehensiveapplication,improvingpracticalcapability.
ThissystemusesAT89S51asthecore,thecontrolsystemofthemodulesarerespectively:
singlechipminimizesystem,displaymodule,temperature-settingmodule.Whenthetemperaturesensorsinductiontotemperature’svariationthedesigncanjudgewhetherthetempertaureeswithintherange.Ifnot,thebuzzeralarms.Thisdesignsystemaccuratelystrongpracticality,judgment,simpleoperation,andfunctionexpansionisstrong.
keywords:
Temperaturecontrollersingle-chipmicroputerAT89S51
第一章绪论.....................................................3
1.1单片机的发展..............................................3
1.2智能温度控制器的背景......................................4
1.3智能温度控制器的意义......................................4
第二章整体设计.................................................7
2.1单片机的选择..............................................7
2.1.1单片机管脚功能说明...................................7
2.2模块性能分析..............................................9
2.2.1按键................................................9
2.2.2数码管..............................................9
第三章硬件电路设计............................................13
3.1最小系统设计............................................13
3.1.1时钟电路...........................................13
3.1.2复位电路...........................................13
3.2数码管显示电路..........................................14
3.3按键电路的设计..........................................14
3.4DS18B20的简介..........................................15
3.4.1DS18B20概述.......................................15
3.4.2DS18B20技术性能描述...............................15
3.4.3DS18B20引脚.......................................16
3.5智能温度控制器实物图....................................16
第四章软件设计................................................19
4.1流程图设计..............................................19
4.2主程序..................................................21
4.3Protel99SE的简介.......................................29
第五章软硬件调试..............................................31
5.1硬件调试................................................31
5.2软件调试................................................31
第六章总结与展望..............................................33
第七章结束语..................................................35
致谢............................................................37
参考文献........................................................39
附录............................................................41
附录A........................................................41
附录B........................................................42
第一章绪论
1.1单片机的发展
单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
单片机也被称为(MicrocontrollerUnit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。
单片机由芯片内仅有CPU的专用发展而来。
最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。
INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。
早期的单片机都是8位或4位的。
其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。
此后在8031上发展出了MCS51系列单片机系统。
基于这一系统的单片机系统直到现在还在广泛使用。
随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。
90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。
随着INTELi960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。
而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。
目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。
当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。
而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。
由于单片机具有控制功能强,体积小,成本低,功耗小等一系列的特点,使它在工业控制,智能仪器,节能技术改造,通信系统,信号处理及家用电器产品中都得到广泛的应用,随着数字技术的发展及单片机在电子系统中的广泛应用,在很大程度上改变了传统的设计方法。
以往采用模拟电路,数字电路实现的电路系统,大部分功能单元都可以通过对单片机硬件功能的扩展及专用程序的开发来实现系统提出的要求,这意味着许多电路设计问题将转化为程序设计问题。
这种用模拟技术,数字技术的综合设计系统,用软件取代硬件实现和提供系统系能的新的设计思想体系,一般称之为微控制技术。
在微控制系统的设计中,系统设计和软件设计起着关键性的作用。
1.2智能温度控制器的背景
二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。
不过,这种电脑,通常是指个人计算机,简称PC机。
它由主机、键盘、显示器等组成。
还有一类计算机,大多数人却不怎么熟悉。
这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。
顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。
因为它体积小,通常都藏在被控机械的“肚子”里。
它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。
现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。
各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。
现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。
究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。
在实际生活中,比如空调的温度控制系统等,为了使其能够周围环境温度在适宜温度之内,必须要有一个系统来完成这个任务。
若在实际生活之中,只靠人的感觉是很难判断出温度的确定值的。
利用单片机编程来设计智能温度控制器,可以使以上问题得以解决,即使两个温度仅仅相差零点几度,也能轻松的判断出目前温度是否在适宜温度范围。
本文主要介绍了智能温度控制器的工作原理及设计,以及它的实际用途。
1.3智能温度控制器的意义
本系统采用单片机作为整个控制核心。
控制系统的模块为:
单片机最小系统模块、显示模块、温度设定模块。
该系统利用一个数码管来完成显示功能;用温度传感器来获取外界温度,在数码管上显示此时温度值,从而实现温度测量的过程。
在设计应用中,为了知道此时确定的温度值是否处于所设定的理想范围,必须要设计一个系统来完成这个任务。
如果在温度测量中,靠自身感觉是几乎无法判断出此时的确切温度的。
利用单片机系统来设计温度器,使以上问题得以解决,即使两个时刻的温度相差为零点几度,也可测量出准确温度。
系统工作原理本系统采用AT89S51单片机作为核心。
控制系统的模块分别为:
单片机最小系统模块、显示模块、温度设定模块。
本文主要介绍了单片机智能温度控制器设计及工作原理,以及它的实际用途。
第二章整体设计
2.1单片机的选择
AT89S51是一个低功耗,高性能S8位单片机,片内含4KByteISP(In-systemprogrammable)的可反复擦写1000次的Flash的只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器SPFlash存储单元,AT89S51在众多嵌入式控制应用系统中得到广泛应用。
2.1.1单片机管脚功能说明[2]
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
图2.1AT89S51的管脚图
P1口:
P1口是一个内部提供上拉电阻的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”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口除了作为普通I/O口,还有第二功能:
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
I/O口作为输入口时有两种工作方式,即所谓的读端口与读引脚。
读端口时实际上并不从外部读入数据,而是把端口锁存器的内容读入到内部总线,经过某种运算或变换后再写回到端口锁存器。
只有读端口时才真正地把外部的数据读入到内部总线。
89C51的P0、P1、P2、P3口作为输入时都是准双向口。
除了P1口外P0、P2、P3口都还有其他的功能。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
2.2模块性能分析
基于单片机的智能温度控制器的设计的主要模块为AT89S51、按键及数码管显示部分.AT89S51在上一部分已经介绍,这一部分主要介绍按键及数码管显示部分.
2.2.1按键
本模块中的按键由设定键、上调键、下调键、确定键和复位键构成。
设定键用来设定温度上下限,上调下调键用来设置温度上下限的准确数值。
2.2.2数码管
数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极()的数码管,共阳数码管在应用时应将公共极接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。
共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极()的数码管,共阴数码管在应用时应将公共极接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。
译码器的逻辑功能是将每一个输入的二进制代码译成对应的输出高、低电平信号,是编码器的反操作。
数码管可以用TTL或CMOS集成电路直接驱动,所以使用译码器将BCD编码译成数码管所需要的驱动信号,以便使数码管用十进制数字显示出BCD编码表示的数值。
图2.2七段数码管
应根据实际情况决定究竟采用共阳还是共阴方式,其基本原则是:
若单片机口线直接驱动数码管各段,最好采用共阳极数码管,因为8051系列单片机口线输出高电平时,输出的电流很小,数码管不会太亮。
若数码管通过驱动芯片与单片机相连,就要看驱动芯片对数码管极性的要求了
点亮显示器分为静态和动态显示两种方法。
所谓静态显示,就是当显示器显示某一字符时,相应的发光二极管恒定的导通或是截止。
例如,其段数码管的a、b、c、d、e、f导通,g截止,则显示0.这对这种显示方式每一位都要有一个8位输出口控制,所占硬件较多,一般用于显示位数较少(很少)的场合。
当位数较多时,用静态显示所需的I/O过多,一般采用动态显示方法。
所谓动态显示,就是逐位地轮流点亮各位显示器(扫描),对于每一位显示器而言,每个一段时间点亮一次。
显示器的点亮既与点亮时的导通电流有关,也与点亮时间和间隔时间比例有关。
调整电流和时间参数,可是实现亮度较高、较为稳定的显示,同时可减少工作电流中的是选通位,对于共阳极数码管,当a、b、c、d、e、f、g、h端接低电平时,位高电平,数码管各段全部点亮。
例如,想让数码管显示“1”,就必须使数码管的b、c段点亮,其它段熄灭;所以使b、c段为低电平,其它各引脚均为高电平。
在设计电路时,可将这几位分别接到单片机的引脚上,还要加上限流电阻,这样就可由程序控制数码管的工作情况了。
但是如果用一个端口驱动一个数码管,四位数码管就需要四个空闲端口,而在许多系统中并无四个端口可用。
此外,使用四个端口往往使得每一个数字都需要独立驱动(缓冲)电路和排阻,这将大大增加系统的成本。
最常见的解决方案是采用多路复用显示。
这是指对于每一个显示只驱动1/4时间。
只要在20Hz-50Hz之间循环所有显示,由于人眼存在视觉残留,在这样的显示方式下,数码管看起来时同时点亮的。
在这次课程设计中根据实际需要采用了七段数码管共阴极和静态显示方式。
单片机体积小价格低,应用方便,稳定可靠。
单片机将很多任务交给了软件编程去实现,大大简化