版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.PAGE.-..-可修遍-课程设计总结报告课程名称电子技术课程设计设计题目基于89C52的室火、气平安监测装置专业电子信息工程班级姓名学号指导教师报告成绩信息与工程学院二〇一三年十二月十九日.PAGE.-..-可修遍-目录前言3第一章工程任务31.1设计任务31.2设计要求3第二章方案设计与硬件选择42.1单片机89C5242.2温度传感器模块DS18B2042.3烟雾报警器电路MQ252.4信号调理及放大整形模块,
LM358芯片62.5显示模块LED62.6报警电路62.7按键分析62.8复位电路6第三章流程图设计73.1电路系统模块73.2主程序流程图83.3温度报警子程序93.4烟雾报警子程序图93.5对18B20写程序流程图103.6对18B20读8为数据流程图113.7温度值转换流程图123.818B20读取温度流程图13第四章电路实验与调试144.1焊接144.2软件设计144.3调试与处理出现问题19第五章设计总结19附录21前言随着现代信息技术的飞速开展和传统工业改造的逐步实现,能够独立工作的温度检测与显示系统应用于诸多领域。传统的温度检测以热敏电阻为温度敏感元件。热敏电阻的本钱低,需要外加信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一定的误差。与传统的温度计相比,这次设计的是基于DS18B20的数字温度计,它具有读数方便,测温围广,测温准确,数字显示,适用围宽等特点。第一章工程任务1.1设计任务使用温度传感器和烟雾传感器把环境温度和烟雾的浓度情况检测出来,再采用单片机进展温度的显示和烟雾显示,可设置温度报警和烟雾报警。要求进展硬件、软件系统设计。要求:位温度的显示;设置报警温度;烟雾报警1.2设计要求能检测火灾事故,并报警能检测烟雾,有毒气体泄漏事故,并报警能实时显示室温度值,并通过键盘设置温度报警上下限值第二章方案设计与硬件选择2.1单片机89C52AT89C52是一种带4K字节闪烁可编程可擦除只读存储器〔FPEROM—FalshProgrammableandErasableReadOnlyMemory〕的低电压,高性能CMOS8位微处理器,俗称单片机。2.2温度传感器模块DS18B202.2.1数字温度传感器DS18B20,具有独特的单总线接口方式,需一根总线就能实现控制模块与DS18B20之间的半双工通信。DS18B20是集传感元件和转换电路于一体的小芯片上。另外,DS18B20也支持"一线总线"接口,测量温度围为-55°C~+125°C,在-10~+85°C围。现场温度直接以"一线总线"的数字方式传输,大大提高了系统的抗干扰性。2.2.2工作原理DS18B20温度传感器的部存储器包括一个高速暂存RAM和一个非易失性的可擦除的EERAM。高速暂存RAM的构造为8字节的存储器,构造如图1所示。第3和第4字节是TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5个字节为配置存放器,它的容用于确定温度值的数字转换分辨率。DS18B20工作时按此存放器中的分辨率将温度转换为相应精度的数值。该字节各位的定义热图二所示。低5位一直为1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要改动,R1和R0决定温度转换得精度位数,即用来设置分辨率,定义方法见表1。图一图二2.2.3供电方式采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电2.3烟雾报警器电路MQ2MQ2烟雾传感器,有只针状管脚,其中4个用于信号取出,2个用于提供加热电流。当烟雾扩散时,烟雾传感器感应到烟雾时,继电器打到NO,风扇开场工作,马达转动,风扇产生吸力将烟雾吸入到装有活性炭和负离子的过滤外壳中,排清新干净的气体2.4信号调理及放大整形模块,LM358芯片LM358部包括有两个独立的、高增益、部频率补偿的双运算放大器。当P1.5为0时报警。2.5显示模块LED采用LED数码管显示2.6报警电路用蜂鸣器作报警提示音,加发光二极管,声光结合充分突出了紧急提示信号的特点。2.7按键分析四个按键的功能分别为:第一个按键是完毕选择,按一下表示显示管进展显示当时温度;第二个键是减键,对设定的温度进展减一;第三个键是加键;第四个键是进入键,按一下表示进入设置温度模式。2.8复位电路原理:VCC上电时,C3充电,在10K电阻上出现电压,使得单片机复位;几个毫秒后,C充满,10k电阻上电流降为0,电压也为0,使得单片机复位。工作期间,按下S4,C放电,在10K电阻上出现电压,使得单片机复位。S松手,C又充电,几个毫秒后,单片机进入工作状态。第三章流程图设计3.1电路系统模块3.2主程序流程图3.3温度报警子程序3.4烟雾报警子程序图3.5对18B20写程序流程图3.6对18B20读8为数据流程图3.7温度值转换流程图3.818B20读取温度流程图第四章电路实验与调试4.1焊接4.2软件设计#include<reg52.h>#include"18b20.h"#include<intrins.h>#defineuintunsignedint//宏定义#defineucharunsignedchar//宏定义#definedateP1 //数码管段选uinttemp,alarm_temp;//定义温度,设定温度bitkey_lock,chang_flag;bitzerotemp_flag;//负温度标志位ucharcodeLED[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; //三位共阳极数码管0~9的断码//数码管位定义sbitge =P1^2;//个位sbitshi=P1^1;//十位sbitbai=P1^0;//百位sbitbell=P2^7;//蜂鸣器定义sbitMQ=P1^5;//MQ-2定义sbitDQ=P1^4;//18B20定义//按键定义sbitkey0=P2^0;sbitkey1=P2^1;sbitkey2=P2^2;sbitkey3=P2^3;voiddelay_ms(uintxms){//延时子程序 uinti,j; for(i=xms;i>0;i--)//i=xms即延时约xms; for(j=110;j>0;j--);}voiddelay_us(uintz){//微妙级延时while(z--)_nop_();}voiddisplay(uintx){//数码管显示子程序 //取一温度值x uinttemp1; temp1=x; temp1=temp1%1000;//使温度值不超过三位有效数//动态显示 //显示个位 ge=0;//开显示 date=LED[temp1%10];//将temp1的个位显示出来 delay_ms(2);//延时2ms ge=1;//关显示 //显示十位 shi=0;//开显示 date=LED[temp1%100/10]&0x7f;//将temp1的十位显示出来,并显示小数点dp位 delay_ms(2);//延时2ms shi=1;//关显示 //显示百位 bai=0;//开显示 date=LED[temp1/100];//将temp1的百位显示出来 delay_ms(2);//延时2ms bai=1;//关显示 }voidalarm(void){//报警子程序 if((temp>alarm_temp)|(MQ==0))//如果温度大于设定值或MQ2=0 { bell=0;//蜂鸣器响 } else bell=1;//蜂鸣器不响}/*****************18B20程序******************/voidfuwei(void){//18B20复位DQ=0;delay_us(50);//600usDQ=1;delay_us(5);//70us}ucharread_18B20(void){//从18B20读取8位数据uchari,dat;//从最低位开场接收for(i=0;i<8;i++){dat>>=1;//数据右移一位DQ=0;_nop_();//延时1usDQ=1;//释放总线_nop_();//延时2us后在读取,不然读取值会紊乱,很关键!!!_nop_();if(DQ)dat|=0x80;//如果接收到的是1,那么最高位置为1delay_us(2);//延时40us}returndat;}voidwrite_18B20(uchardat){//对18B20写8位数据uchari;for(i=0;i<8;i++){DQ=0;_nop_();//延时10usDQ=(bit)(dat&0x01);//从最低位开场发送dat>>=1;//右移一位delay_us(1);//延时40usDQ=1;//释放总线}}voidchangetemp(void){//温度值转换uintTemp_L,Temp_H;Temp_L=read_18B20();//读取低八位Temp_H=read_18B20();//读取高八位,当温度为负数时temp〔7~4〕为1,反之为0if(((bit)(Temp_H&0x80))){zerotemp_flag=1;//温度为负数标志位//负温度计算Temp_H&=0x0f;temp=(Temp_H<<8|Temp_L)*0.625;}temp=(Temp_H<<8|Temp_L)*0.625;//保存一位小数}voidread_temp(void){//从18B20读取温度fuwei();//复位delay_us(10);//延时write_18B20(0xcc);//跳过读取序列号write_18B20(0x44);//开场转换温度fuwei();//复位delay_us(10);//延时write_18B20(0xcc);//跳过读取序列号write_18B20(0xbe);//读暂存指令changetemp();//读取转换温度fuwei();//复位}intmain(void){//主程序 alarm_temp=220;//设定温度初始值 read_temp();//18b20测温 delay_ms(500);//延迟500ms while(1) { read_temp();//18b20测温 display(temp);//显示测到的温度 alarm();//报警 if(!key0)//如果key0=0,那么进入温度修改状态 { delay_ms(2);//延迟2ms,消抖 if(!key0)//如果key0=0,那么确定键按下,显示温度 chang_flag=1; } while(chang_flag) { if(key1&key2) key_lock=1;//如果key1&key2=1,那么无效 if(!key1) { delay_ms(2);//延迟2ms,消抖 if(!key1) { if(key_lock) { alarm_temp+=10; //alarm_temp+10=alarm_temp〔温度加1〕 if(alarm_temp>990)//如果数码管前两位大于99,那么清零 alarm_temp=0; key_lock=0; } } } if(!key2) { delay_ms(2);//延迟2ms,消抖 if(!key2) { if(key_lock) { alarm_temp-=10; //alarm_temp+10=alarm_temp〔温度减1〕 if(alarm_temp>1000)//如果三位数码管都是0,那么减一后变为990 alarm_temp=990; key_lock=0; } } } if(!key3) { delay_ms(2);//延迟2ms,消抖 if(!key3) { if(key_lock) { chang_flag=0; key_lock=0; } } } display(alarm_temp);//显示设定温度 } }}4.3调试与处理出
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 六常培训课件
- 大学生消费心理和行为特点专家讲座
- 背部养生培训课件模板
- 无锡培训教学课件
- 无证无照培训
- 护理学生人文素养提升方案
- 维修电工培训课件下载
- 2026年汽车美容服务培训
- 2026年老年人关怀服务提升策略
- 2026年会展行业运营培训
- 2025年国家开放大学《管理学基础》期末机考题库附答案
- 2025年人民网河南频道招聘备考题库参考答案详解
- ESHRE子宫内膜异位症的诊断与治疗指南(2025年)
- 2025核电行业市场深度调研及发展趋势与商业化前景分析报告
- 急惊风中医护理查房
- 营地合作分成协议书
- GB/T 70.2-2025紧固件内六角螺钉第2部分:降低承载能力内六角平圆头螺钉
- 基于视频图像的大型户外场景三维重建算法:挑战、创新与实践
- 物流管理毕业论文范文-物流管理毕业论文【可编辑全文】
- 2025年四川省高职单招模拟试题语数外全科及答案
- 2025年江苏事业单位教师招聘体育学科专业知识考试试卷含答案
评论
0/150
提交评论