《基于51单片机的温度控制系统的设计》由会员分享,可在线阅读,更多相关《基于51单片机的温度控制系统的设计(32页珍藏版)》请在金锄头文库上搜索。
1、基于单片机的温度操纵零碎计划1.计划请求请求计划一个温度丈量零碎,在超越限度值的时分能进展声光报警。具体设计请求如下:数码管或液晶表现屏表现室内以后的温度;在不超越最高温度的状况下,能够经过按键设置想要的温度并表现;设有四个按键,分不是设置键、加1键、减1键跟启动/复位键;DS18B20温度收罗;超越设置值的5时收回超限报警,采纳声光报警,下限报警用红灯唆使,下限报警用黄灯唆使,畸形用绿灯唆使。2.计划论证依照计划请求,本次计划是基于单片机的课程计划,因为完胜利用比拟复杂,咱们进修中打仗到的51系列单片机完整能够实现上述功用,因而能够选用AT89C51单片机。温度收罗直截了当能够用计划请求中所
2、请求的DS18B20。报警跟唆使模块中,能够选用3种差别色彩的LED灯作为唆使灯,报警鸣笛采纳蜂鸣器。表现模块有两种计划可供选择。计划一:应用LED数码管表现收罗温度跟设定温度;计划二:应用LCD液晶表现屏来表现收罗温度跟设定温度。LED数码管构造复杂,应用便利,但在应用时,假设用静态表现那么需求不时变动位选跟段选旌旗灯号,且表现时数码管不时闪烁,使人眼轻易疲惫;假设采纳静态表现那么又需求更多硬件支撑。LCD表现屏可识不性较好,背光明度可调,并且比LED数码管表现更多字符,然而编程请求比LED数码管要高。综合思索之后,我选用了LCD表现屏作为温度表现器件,因为表现字符多,在进展高低限戒备值设准
3、时异样能够收罗并表现以后温度,能够直不雅的看到实践温度与戒备温度的比照。LCD表现模块能够选用RT1602C。3.硬件计划依照计划请求,硬件零碎要紧包含6个部分,即单片机时钟电路、复位电路、键盘接口模块、温度收罗模块、LCD表现模块、报警与唆使模块。其互相联络如下列图1所示:单片机时钟电路LCD表现模块复位电路单片机键盘接口模块报警与唆使模块温度收罗模块图1硬件电路计划框图3.1单片机时钟电路形成单片机时钟旌旗灯号的方法有外部时钟方法跟外部时钟方法。本次计划采纳外部时钟方法,如图2所示。单片机外部有一个用于形成振荡器的高增益反相缩小器,引足XTAL1跟XTAL2分不为此缩小器的输入端跟输入端,
4、其频率范畴为1.212MHz,经过片外晶体振荡器或陶瓷振荡器与两个婚配图2单片机外部时钟方法电路电容一同形成了一个自激振荡电路,为单片机供给时钟源。3.2复位电路复位是单片机的初始化操纵,其感化是使CPU跟零碎中的其余部件都处于一个断定的初始形态,并从那个形态开场工作,以避免电源零碎不波动形成CPU工作不畸形。在零碎中,偶然会呈现任务不畸形的状况,为了从异样形态中规复,同图3单片机按键复位电路时也为了零碎调试便利,需求计划一个复位电路。单片机的复位电路有上电复位跟按键复位两种方法,因为本次计划请求需求有启动/复位键,因而本次计划采纳按键复位,如图3。复位电路要紧实现零碎的上电复位跟零碎在运转时
5、用户的按键复位功用。3.3键盘接口模块本次计划需求的按键有4个,撤除一个复位按键外,另有3个功用按键,因而选择独破式键盘。如图4,将键盘直截了当与单片机P1口的P1.0、P1.1、P1.2相连。3个键计划思绪如下:当按下S1键时,零碎进入高低限戒备值调剂状态;当第一次按下S1键时,进展下限图4键盘接口模块戒备值设定,当第二次按下S1键时,进展下限戒备值设定,当第三次按下S1键时,回到畸形任务形态。在戒备值调整形态下,按下S2键,高低限戒备值加1,按下S3键,高低限戒备值减1,正常任务形态下,按下S2跟S3键无感化。3.4温度收罗模块本次计划中的温度传感器应用的是DALLAS公司的单总线数字温度
6、传感器DS18B20,这是一种常用的温度传感器,存在体积小、硬件开支低、抗搅扰才干强、精度高的特色。DS18B20采纳共同的一线接口,存在只要求一条口线通讯多点的才干,简化了散布式温度传感到用,无需外部元件。可用数据总线供电,电压范畴为3.0V至5.5V,丈量温度的范畴为-55至+125,在-10至+85范畴内精度为0.5。温度传感器可编程的辨别率为912位,温度转换为12位数字格局最年夜值为750毫秒,用户可界说的非易掉性温度报警设置,应用范畴包含恒温操纵、产业零碎、花费电子产物温度计、或任何热敏感零碎。因为DS18B20是一条口线通信,因而地方微处理器与DS18B20只要一个一条口线衔接。
7、因为每一个DS18B20的包含一个共同的序号,多个DS18B20能够同时存在于一条总线,这使得温度传感器放置在很多差别的地点。它的用处非常多,包含空调情况操纵,感测修建物内温装备或呆板,并进展进程监测跟操纵。图5DS18B20封装及引足DS18B20的中心功用是它的直截了当读数字的温度传感器。温度传感器的精度为用户可编程的9、10、11或12位,分不以0.5,0.25,0.125跟0.0625增量递增。在上电形态下默许的精度为12位。DS18B20启动后坚持低功耗等候形态;当需求履行温度丈量跟AD转换时,总线操纵器必需收回44h下令。在那之后,发生的温度数据以两个字节的方法被存储到高速暂存器的
8、温度存放器中,DS18B20接着坚持等候形态。当DS18B20由外部电源供电时,总线操纵器在温度转换指令之后发动“读时序”,DS18B20正在温度转换中前往0,转换结束前往1。假如DS18B20由寄生电源供电,除非在进入温度转换时总线被一个强上拉拉高,否那么将不会由前往值。在硬件上,DS18B20与单片机的衔接有两种办法:一种是VDD接外部电源,GND接地,DQ与单片机的I/O口相连;另一种是用寄生电源供电,如今,VDD、GND接地,DQ接单片机的I/O口。不管是接外部电源依然用外部寄生电源,I/O口线要接5k阁下的上拉电阻。本次计划中,采纳外部电源方法,其衔接方法如图6所示。单总线DQ端接单
9、片机的P1.7口,DQ端接一个4.7k的上拉电阻,如此单总线DQ在闲置形态时为高电平。图6DS18B20外部电源衔接方法3.5LCD表现模块在本次计划中,应用RT1602C字符型液晶表现模块(LCM)来计划以后温度跟高低限戒备值的表现电路。RT1602C字符型液晶表现模块是16字2行的采纳57点阵图形来表现字符的液晶表现器,采纳规范的16足接口,其引足界说如图7所示。引足号引足名阐明电源地引足号引足名阐明12GND/Vss7D0D1D2D3D4D5D6D7Vdd+5V电源83VL液晶表现偏压旌旗灯号94RSR/WE数据/下令操纵,H/L读/写操纵,H/L使能端10111213148位双向数据线
10、561516BLABLK背光源正极背光源负极图7RT1602C的引足界说RT1602C的外部构造能够分为3个部分:LCD操纵器、LCD驱动器、LCD表现器,此中LCD操纵器采纳的是HD44780。RT1602C与单片机的连线如图8所示。图8RT1602C与单片机连线LCM的数据总线与单片机的P0口经过一个上拉电阻排相连,LCM的三条操纵线RS、RW、EN分不与单片机的I/O口P2.0、P2.1、P2.2相连,第1、2引足分不与地、电源相连,第3引足应用一个10k的可调电阻对表现屏的亮堂进行调剂。3.6报警与唆使模块在本次计划中,采纳LED发光二极管作为零碎指示灯,采纳蜂鸣器作为报警鸣笛。当温度
11、高于下限戒备值时,点亮白色发光二极管,蜂鸣器收回响声;当温度低于下限戒备值时,点亮黄色发光二极管,蜂鸣器收回响声;温度在畸形范畴内时,图9报警与唆使模块点亮黄色发光二极管。全部报警与唆使电路如图9所示,此中绿、红、黄色唆使灯分不接单片机P2.0、P2.1、P2.2口,电平拉低时点亮LED,蜂鸣器电路接单片机的P2.7口,电平拉高时蜂鸣器响。至此便实现了全部硬件电路的计划任务,全部零碎的道理图见附录二,零碎I/O调配表如下:I/O口P0.0P0.7P1.0P1.3P1.7功用阐明LCM数据口I/O口P2.1功用阐明LCM读/写操纵键盘输入P2.2LCM使能LED旌旗灯号输入报警旌旗灯号输入DS1
12、8B20温度收罗LCM数据/下令操纵P2.4P2.6P2.7P2.04.软件计划单片机应用零碎的计划中,软件计划占领主要的位置。在本次计划中,依照功用请求,能够把零碎顺序分别为5个模块,即主顺序模块、表现模块、温度测10所示。主顺序模块温度测量模块键其它子程序显示模块盘扫描模块图10软件计划框图4.1主顺序计划主顺序的内容包含单片机初始化、相干部件初始化跟一些别的子顺序的挪用等。主顺序清单如下,顺序流程图如图11所示。开场/*voidmain(void)主顺序*/初始化单片机初始化温度传感器初始化表现模块P1=0xff;/初始化P1口以便读入P2|=0x70;P2&=0x7f;Temp_set
13、1=90;/下限报警温度初值90/下限报警温度初值10/延时500ms启动/LCD初始化Temp_set2=10;Delay(500);init_LCD();读取温度init_18B20();/DS18B20初始化表现字形转换表现Display_str(0,0,str2);/开机界面Display_str(0,1,str2);/开机界面Delay(2000);图11主顺序流程图Display_str(0,0,str0);Display_str(0,1,str1);while(1)Key_scan();/读取温度Read_temp();Change();Display();Alarm();/表现
14、/唆使灯与报警顺序Delay(1000);4.2表现模块表现顺序要紧实现的功用是方法、高低限戒备值跟丈量温度值的表现,模块中包含LCD初始化、表现单个字符子函数、表现一个字符串子函数。顺序流程图如图12所示,LCD初始化顺序如下,别的子函数顺序详见附录一。/*LCD初始化*/开场voidinit_LCD(void)定位表现位置写表现下令写表现字符P0=0;Delay(15);LCD_Command(0x38,0);Delay(5);LCD_Command(0x38,0);Delay(5);完毕表现图12表现顺序流程图LCD_Command(0x38,0);Delay(5);LCD_Command(0x38,1);/8位数据传递,2行表现,5*7字形LCD_Command(0x08,1);/封闭