




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
五邑大学信息工程学院2011-2012学年第二学期课程:单片机原理及应用课程设计任课教师:班级:.姓名:彬哥学号:.题目:基于MCS51的温度监控与报警设计一、 概述:在实际生活和生产中,有很多场合需要对温度进行监测和控制。我们利用MSC51单片机,完成一个完整的温度测控系统,包括:温度采集、温度控制策略、工作点温度限设定、实时监测温度的变化情况并显示、存储相关数据、报警输出等。可应用于水温检测和控制、室内温度检测和控制等。本课程设计是基于89C51单片机用数码管与DS18B20设计的温度监控与报警系统。DS18B20将采集到的数字量写入到单片机当中,经单片机处理后送到数码管上显示。报警设置是通过将采集到的温度信息与串口设定的温度上限和下限比较,若不在设定的范围内,系统将产生报警声音,且对应的LED同步闪烁。当温度低于设定的下限温度时,系统自动加温;当温度高于设定的上限温度时,系统停止加温。二、系统整体设计:【系统框图】AT89C51串口模块数码管显示模块加热模块5V电源输入LED灯报警蜂鸣器报警DS18B20温度采集按键复位晶振电路【AT89C51核心模块设计】单片微型计算机是随着超大规模集成电路技术的发展而诞生的,由于它具有体积小、功能强、性价比高等特点,所以广泛应用于电子仪表、家用电器、节能装置、军事装置、机器人、工业控制等诸多领域,使产品小型化、智能化,既提高了产品的功能和质量,又降低了成本,简化了设计。MCS-51系列单片机无论是片内RAM容量,I/O口功能,系统扩展能力还是指令系统和CPU的处理功能都非常的强。尤其是MCS-51系列就是所特有的布尔处理机,在逻辑处理和控制方面具有突出优点。MCS-51系列单片机适合于实时控制,可构成工业控制器、智能仪表、智能接口以及通用的测控单元等。元件图:89C51单片机的复位电路和振荡电路对应的电路图如下:【DS18B20温度采集模块】DS18B20是DALLAS公司生产的一线式数字温度传感器,它具有微型化、低功耗、高性能抗干扰能力、强易配处理器等优点,特别适合用于构成多点温度测控系统,可直接将温度转化成串行数字信号(按9位二进制数字)给单片机处理,且在同一总线上可以挂接多个传感器芯片,它具有三引脚TO-92小体积封装形式,温度测量范围55125,可编程为912位A/D转换精度,测温分辨率可达0.0625,被测温度用符号扩展的16位数字量方式串行输出,其工作电源既可在远端引入,业可采用寄生电源方式产生,多个DS18B20可以并联到三根或者两根线上,CPU只需一根端口线就能与多个DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。从而可以看出DS18B20可以非常方便的被用于远距离多点温度检测系统。综上,在本系统中我采用温度芯片DS18B20测量温度。该芯片的物理化学性很稳定,它能用做工业测温元件,且此元件线形较好。在0-100摄氏度时,最大线形偏差小于1摄氏度。该芯片直接向单片机传输数字信号,便于单片机处理及控制。 外部封装形式 DS18B20模块电路:【LED灯及蜂鸣器报警模块】报警上下限温度设为70和-20度。LED灯报警:蜂鸣器报警:【数码管显示模块】本设计采用LED显示驱动器芯片74LS47驱动四个共阳极的数码,通过它译码,直接把数字显示在数码管上。【加热模块模块】J2接入220V电压电源,经变压器降压再稳压输出为5V,R5为加热电阻,U5为光电耦合开关。当heat端输入电平为低电平时,U5接通,加热电阻R5,达到升温目的。【串口通信模块】本设计加入了串口通信模块,实现人机交互。本模块采用MAX232串口通信芯片,可实现短距离传输。通过串口小助手软件可以再电脑上设置温度的报警上下限值,非常方便。三、硬件设计:原理图设计:PCB设计:四、程序设计:#include #include #define uchar unsigned char#define uint unsigned intsbit DQ=P37;/ds18b20 DQ 接口sbit beep=P36; /蜂鸣器sbit high=P10; /温度上限报警位sbit low=P11; /温度下限报警位sbit point=P33;/小数点位sbit heat=P32; /加热控制位/*数码管段码*/uchar code duan_table=0,1,2,3,4,5,6,7,8,9,0x0f;/*小数位对照*/uchar code df_table=0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,9;uchar temp_value=0x00,0x00;/从DS18B20读取的温度值uchar display_digit=0,0,0,0,0;/显示的温度数位char warn_temp_hl2=70,-20;/报警温度上下限,ds18b20测温范围是-50+125bit high_warn=0, low_warn=0;/高低温报警标志bit ds18b20_well = 1;/ds18b20正常uchar current=0;/ 温度整数部分uint time0=0;/定时器0延时累加/*/*延时程序,约为1us*/void delay(uint x) while(-x);/*ds18b20初始化*/uchar ds12b20_init()uchar status;DQ=1; delay(8);DQ=0; delay(90);DQ=1; delay(8);status=DQ;delay(100);DQ=1;return status;/初始化成功返回值/*读一字节*/uchar read_one_byte()uchar i,dat =0;DQ=1;_nop_();for(i=0;i=1;DQ=1; _nop_();_nop_();if(DQ) dat|=0x80; delay(30); DQ=1;return dat;/*写一字节*/void write_one_byte(uchar dat) uchar i;for(i=0;i=1;/*读取温度值*/void read_temp()if(ds12b20_init()=1)ds18b20_well=0;/ds18b20故障else write_one_byte(0xcc);/跳过序列号write_one_byte(0x44);/启动温度转换ds12b20_init();/初始化write_one_byte(0xcc);/跳过序列号write_one_byte(0xbe);/读取温度寄存器temp_value0=read_one_byte();/温度低8位temp_value1=read_one_byte();/温度高8位warn_temp_hl0=read_one_byte();/报警温度上限warn_temp_hl1=read_one_byte();/报警温度下限ds18b20_well=1;/*设置DS18B20温度报警值*/void set_warn_temp_value()ds12b20_init();write_one_byte(0xcc);/跳过序列号write_one_byte(0x4e);/将设定的温度报警值写入ds18b20write_one_byte(warn_temp_hl0);/写温度上限write_one_byte(warn_temp_hl1);/写温度下限write_one_byte(0x7e);/精度设置ds12b20_init();write_one_byte(0xcc);/跳过序列号write_one_byte(0x48);/温度报警值出入ds18b20/*在数码管上显示温度*/void display_temp()uchar i;uchar t=150;/延时值uchar ng=0,np=0x01;/负数标志及其位置char signed_current_temp;/有符号的当前温度值/*负数转换,取反加一*/if(temp_value1& 0xf8)=0xf8) temp_value1=temp_value1;temp_value0=temp_value0+1;if(temp_value0=0x00) temp_value1+;ng= 1; /*/display_digit0=df_tabletemp_value1 &0x0f;/小数温度部分current=(temp_value0&0xf0)4)|(temp_value1&0x07)=warn_temp_hl0 ? 1:0;low_warn=signed_current_temp=warn_temp_hl1 ? 1:0;/高低温报警标志位/*整数部分分解*/display_digit3=current/100;display_digit2=current%100/10;display_digit1=current%10;if(display_digit3=0) display_digit3=10;/高位为0不显示np=0x01;/调整负号位置if(display_digit2=0) display_digit2=10;np=0x02; for(i=0;i0) warn_temp_hl0=SBUF;if(value0) warn_temp_hl1=SBUF; /*主函数*/void main(void) uchar *s=please set :/n HI_Alarm= /n LO_Alarm=; heat=1; ET0=1; ES=1; EA=1; SCON=0X50; PCON=0X00;TMOD=0X21;TH0=-1000/256;TL0=-1000/256;TH1=0XFD;TL1=0XFD;TR0=0;TR1=1;high=1;low=1;point=1;set_warn_temp_value();read_temp();delay(50000);delay(50000);uart_sendstring(s);while(1)read_temp();if ( ds18b20_well ) if(high_warn=1 | low_warn=1) TR0=1;else TR0=0;display_temp();else P0=P2=0X00; 五、PROTEUS仿真:系统温度正常仿真图:系统温度上限报警仿真图:系统温度下限报警仿真图:六、总结:温度检测和控制都直接与安全生产、节约能源等技术经济指标相联系。温度测量在工业、民用、军事等领域占着重要的地位。航空、家电、科研等领域都需要温度测试设备,用于测试和确定电工、电子及其它产品及材料进行高温、低温、交变温度或恒定试验的温度环境的变化,判断当检测目标的温度值达到警示条件时发出警告信号。在工业生产和日常生活中,对温度控制系统的要求,主要是保证温度在一定温度范围内变化,稳定性好,不振荡,对系统的快速性要求不高。在本设计中简单分析了单片机温度控制系统设计过程及实现方法。本系统的测温范围为-10125,温度检测系统根据用户设定的温度范围完成一定范围的温度控制。本设计使用的温度控制器结构简单、测温准确,具有一定的实际应用价值。该智能温度控制器只是DS18B20在温度控制领域的一个简单实例,还有许多需要完善的地方。此外,还能广泛地应用于其他一些工业生产领域,如建筑,仓储等行业。本温度控制系统可以应用于多种场合,像的温度、育婴房的温度、水温的控制。用户可灵活选择本设计的用途,有很强的实用价值。基于DS18B20的温度监控系统,在这次的设计课题对我们专业知识的训练有了很大的帮助,虽然有些困难,但通过同学间的相互协助,以及老师的帮助,我们都比较顺利的完成此次设计课题。 基于DS18B20的数字温度计工作稳定、可靠,体积小巧、线路简单、成本低、应用灵活、测温精度和转换速度足以保证大多数测温系统工作的要求。此设计可用于工业控制、环境监测、无线抄表、供热收费等诸多领域,应用广泛。 单片机数字温度计充分利用了DS18B20和AT89C51硬件结构的简洁性,使用7段LED数码管显示,价格低廉且应用广泛。根据实际需要,还可以用LCD作为显示器件,也可以构成分布式温度测控系统。该设计扩展方便,但硬件结构上的简单是以牺牲软件为代价的,编程时应特别注意DSI8B20工作时序的要求。参考文献:单片机C语言程序设计实训100例基于8051+proteus仿真 彭伟 编著 电子工业出版社出版成绩:袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025贵州台江县民族中医院第二次招聘备案制专业技术人员考前自测高频考点模拟试题完整答案详解
- 广清市质量安全培训课件
- 2025福建福州市鼓楼区拟任命人民陪审员模拟试卷及答案详解(名师系列)
- 安全培训教师介绍词简短课件
- 2025江苏泰州学院招聘专职辅导员和专任教师17人考前自测高频考点模拟试题及1套参考答案详解
- 2025年第十三届贵州人才博览会省委金融办所属事业单位人才引进1人模拟试卷及答案详解(名师系列)
- 2025年非金属矿物制品:耐火项目建议书
- 2025国网冀北电力有限公司第二批高校毕业生录用人选的模拟试卷及完整答案详解1套
- 2025江苏连云港市金灌投资发展集团有限公司、灌南城市发展集团有限公司等招聘34人模拟试卷及参考答案详解
- 2025湖州安吉县城市建设投资集团有限公司下属子集团招聘11人考前自测高频考点模拟试题含答案详解
- 《马克思主义基本原理概论》试题库含答案(典型题)
- GB/T 43795-2024磁性氧化物制成的磁心机械强度测试方法
- 脑梗取栓护理查房
- 中国古代社会的发展演变过程
- 大学英语四级词汇表(顺序-完整版)
- 山西省中考语文模拟试卷及答案汇总五
- 胆囊炎胆囊结石教学查房课件
- 【岩土工程施工技术实践实验报告2800字】
- 双高建设背景下高职院校社会服务能力研究
- 加油站服务承诺书的范文范文精简处理
- 师宗县城市生活垃圾处理工程项目环评报告
评论
0/150
提交评论