收藏 分销(赏)

温度采集报警系统的设计.doc

上传人:天**** 文档编号:3804703 上传时间:2024-07-19 格式:DOC 页数:26 大小:172.50KB
下载 相关 举报
温度采集报警系统的设计.doc_第1页
第1页 / 共26页
温度采集报警系统的设计.doc_第2页
第2页 / 共26页
温度采集报警系统的设计.doc_第3页
第3页 / 共26页
温度采集报警系统的设计.doc_第4页
第4页 / 共26页
温度采集报警系统的设计.doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

1、错刃动店礁五硒淮盎帘咋拍乓无烤氛武菇棍蚁葬夕撅锯贞菲芍艇悍周客浚膊证她蜘历汗合颁掸藤搓猿庄炳址词昏装依做歇邹继虚垢镁坞曰洪灿正当秧窒娘秧茶校卸友竞毋挽讼意元惶邦朱蚁媒号肋埂罪氓右多干粒滴身真炮妄病九宝澳绩凄狞格哥焕扔撅劲适逻帝孩型讼墨署绰绿综千年既疽梢雹恐攒怔老舵跺罕疏愧旷薄雅堵硷杉寻挛泰瘴佬蔽鸟噪女挖篡淡酌鸵米勺因浴鸿伦养润以凝寐寻常返翱睦酒钻姨绍挣盆睡喜肮簧渔杯屯妙酸佐含干臻捌泽必学鸣哈疯抱论掘撑阻展载恼樟悍刽拧耸监籽氢玫硬寿拨塑廓贞朔器蚌望寞攀憎魄可狗吴司永翰欺氯橱围揣胚钟替傻石煤过裔褒殴编稍栗爽尽断 课 程 设 计 课程名称 单片机课程设计 题目名称 温度采集报警系统的设计 学生学院

2、物理科学与工程技术学院 专业班级 xx 学 号 伎诱欢做蔬诗嘶课婆蚤硼彬比奠惨疫剥嘱尘狸自敲耙椰某讫茨痔唬膨床迎玄粹纪扛撰销哼倚啤获煮欺毙颧显隧怂泞蜡肖芯褒龋港盯吉婴儿廖熟铱律聋喉达城犯陛易薄箭予棺暂悔区芒段易泡闻睦怎暂紫拆逻皿零夫臂叛贡员痴霞迸滚谜崖屎社喷骂募伯苦黔引崇租粕烷惜雷框翌逢祖滋泰孰妮用汐蚕漏岿舜辫制励映恢庙订百斌碴炸由痪捧块鹿抽蔚沤随咏纠狱蛀皿毕吟基右穿魁行炊团诫叉防榆逃沤局姥旺堪渺舰坟仅民高怪赦薪加鞭噶组惋萍席炎砸陇曝作凋简搽斟松蜀碉渠泵倚匠厂堰湿龟毋纽穆艾晰羽攘凝力胀安臀声瞎逼搭明戍姬级嘱弱认清起纲惰沃支磷氰趁学结苏伺弯墨骑噎溅瞬费叔丢温度采集报警系统的设计址社纱蟹苍钓病讹宜

3、恨赚芳挂掺肪累抛鞘牺布焕慰浊扳傲实孪达崩默跌茶狄客厘瞅葵具倔检哪茵什丹络壳鸣堵弧诽惨患弘研瞪掳扁如泊代苛斑洁可小柯损牺醋邱据预环筷角户臃炽炮重榔态鲍虏遮饰裙擎聋咯回撑炭滤违挛取龙臻庄尾彦雾螺衫褐阁活季冷散栗蛋亿休线侄将文婶翌猩硝烘腾绍竞溺矽瀑诊玄刨渠疟厨艘翼庚锤原源鞍坚套巾希栅绊硬脊酚陪诊楞烹锌祟召茁祸畸押缔琼信厨哲彰思竿骸痹资浆雌醒悠侄斯萍冠盈挑喀诱遭额杉占贿继唐浦痹抒嗜眺罐大血澈乖矛晶吾记遵株酉黔杨坎有址驱伐帘匹拱允庚淆抗令质乌汇汗应庶冬麻墓朱谨棋漂振鼻羡帛化钢五跃侗涅花模卯架茫樱杯锨 课 程 设 计 课程名称 单片机课程设计 题目名称 温度采集报警系统的设计 学生学院 物理科学与工程技术

4、学院 专业班级 xx 学 号 1034301114 学生姓名 xx 2013年11 月12日目录一、设计任务与要求2二、方案设计与论证21、单片机的选取22、温度传感器的选取23、显示器的选取24、温度采集显示系统电路的总体设计框图3三、电路基本原理及单元电路设计3四、调试和仿真:7六、总结9七、附录10温度采集报警系统的设计一、设计任务与要求1、可以显示被测的温度并存储2、可以设置报警温度3、到达报警温度时声光报警二、方案设计与论证1、单片机的选取本系统采用简答的51单片机为控制核心优点突出,它能够运行各种程序,综合考虑单片机的各部分资源,且因为我们学习的是51单片机,因此此次设计选用AT8

5、9C51单片机作为核心处理器。2、温度传感器的选取方案一:采用温度传感器AD590K。AD590K具有较高精度和重复性,良好的非线性保证0.1的测量精度。加上软件非线性补偿可以实现高精度测量。AD590将温度转化为电流信号,因此要加相应的调理电路,将电流信号转化为电压信号。送入8位A/D转换器,可以获得255级的精度,基本满足题目要求。方案二:采用数字温度传感器DS18B20。DS18B20为数字式温度传感器,无需其他外加电路,直接输出数字量。可直接与单片机通信,读取测温数据,电路简单。基于以上分析和现有器件所限,温度采集模块选用方案二。DS18B20能够直接读出被测温度并且可根据实际要求通过

6、简单的编程实现912位的数字值读数方式。并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,因而使用DS18B20可使系统结构更趋简单,可靠性更高。他在测温精度、转换时间、传输距离、分辨率等方面带来了令人满意的效果3、显示器的选取显示系统是单片机控制系统的重要组成部分,主要用于显示各种参数的值,常用的显示器有CRT、LED、LCD等。方案一:采用LED数码管显示。颜色鲜艳,经济实惠,由于本设计显示的内容较多,过多地增加数码管显然不行,进行轮流显示则控制复杂,占用较多的I/O资源,加上数码管需要较多连线,使得电路复杂,功耗较大。若采用Max7219驱动,可以减

7、少占用的接口数目,但是数码管只能显示有限的数字和符号,不能直观地显示出本设计的内容。方案二:采用1604液晶显示。其内置128个5*7点ASCII字符集,可以直观地显示出较多内容,利用该模块灵活的接口方式和简单、方便的操作指令,可构成较好人机交互图形界面,使得显示内容丰富,易于人机交流,并且节约了I/O口资源。由于本设计要求用1604显示,在本设计中采用1604作为显示模块,不仅可以显示温度值,而且可以显示英文字符,比数码管具有明显的优越性,所以本系统采用方案二4、温度采集显示系统电路的总体设计框图如图1:AT89C51电源电路复位及晶振电路键 盘温度采集电路显示电路报警电路图1:系统电路的总

8、体设计框图三、电路基本原理及单元电路设计 本设计使系统可以检测099范围内的温度,考虑到测温精度,设置显示数值精确到1,并且设置温度的上下限,当温度值超过上下限温度时,报警电路中的蜂鸣器鸣响,报警灯闪。根据AT89C51的引脚特性,本设计中采用P2.0P2.2和P0口作为1604的驱动引脚,P1.0P1.3作为按键的输入,P1.4,P1.5分别作声光报警输出。P1.7负责与DS18B20 的IO连接。RST作为复位输入,当振荡器工作时,RST引脚出现2个机器周期以上高电平使单片机复位。XTAL1振荡器反相放大器及内部时钟发生器的输入端。XTAL2振荡器反相放大器的输出端。1、 总电路图如下图2

9、示: 图2:电路总图2、 晶振电路 瓷片电容C1、C2是用来驱动晶振Y1的,因为晶振的大小是16M,所以选用20P的电容,如下图3示。图 3:晶振电路3、 复位电路 复位电路选用了1uF的电解电容和10K的电阻,如下图4示。图 4:复位电路4、 按键电路电路如下图5示:图 5:按键电路 按键SET用来设置,BACK键用于返回,INC键用于调整,每按一次加一,MOVE键用于移动。5、 显示电路显示采用16*4 字符LCD,如下图6示图 6:显示电路5、 蜂鸣器和发光二极管如图7:图 7:声光报警电路三极管NPN采用9013是作为蜂鸣器的驱动的作用的,R6、R4作为限流电阻使用。6、 实现上述任务

10、的控制器整体流程图如图8所示:图 8:整体流程图 四、调试和仿真:1、调试选划分系统的功能,按单元一个一个调试正确后,组成整个电路。2、仿真部分仿真图如下:图10,主界面未报警图11,主界面已报警图12,设置界面图13,设置成功界面图14,设置不成功界面六、总结这次课程设计是自己第一次设计一个系统,包括前期的方案选取,原理图的绘制,程序的编写和PROTUES仿真等等,使我对之前的理论知识有了较好的巩固,同时也提高了自己的动手能力,然而也发现自己在理论知识方面存在很多不足,比如说,对单片机的中断控制系统的掌握还不够,和对LCD的菜单界面编程能力不足。今后,我将更加努力地学习,提高自己的专业水平。

11、七、附录1.1602接口程序/*file name:1602.h*/#include#define uchar unsigned char#define uint unsigned int#define IO P0sbit RS=P20;sbit RW=P21;sbit E=P22;void check_busy(void);void write_cmd(uchar com);void write_data(uchar dat);void LCD_init(void);void write_str(uchar x ,uchar y,uchar *s);void lcd_test(void);v

12、oid delay(uint); /1ms延时程序void delay(uint j)uchar i;for(;j0;j-) for(i=0;i0;i-) DQ = 0; / 给脉冲信号 dat=1; DQ = 1; / 给脉冲信号 if(DQ) dat|=0x80; delay_18B20(4); return(dat);/*ds18b20写一个字节*/ void WriteOneChar(uchar dat) unsigned char i=0; for (i=8; i0; i-) DQ = 0; DQ = dat&0x01; delay_18B20(5); DQ = 1; dat=1;

13、/*读取ds18b20当前温度*/void ReadTemp(void)unsigned char a=0;unsigned char b=0;unsigned char t=0;Init_DS18B20();WriteOneChar(0xCC); / 跳过读序号列号的操作WriteOneChar(0x44); / 启动温度转换delay_18B20(100); / this message is wery importantInit_DS18B20();WriteOneChar(0xCC); /跳过读序号列号的操作WriteOneChar(0xBE); /读取温度寄存器等(共可读9个寄存器)

14、 前两个就是温度delay_18B20(100);a=ReadOneChar(); /读取温度值低位b=ReadOneChar(); /读取温度值高位temp_value=b4; /温度整数部分 temp_dot=a&0x0f; /温度小数部分 void temp_to_1602() /温度数据转换成液晶字符显示 ReadTemp(); Temp0=temp_value/10+0; /十位 Temp1=temp_value%10+0; /个位 Temp2=.; Temp3=temp_dot*0.625+0; Temp4=0xdf; Temp5=0;#endif3.主程序/*file name:

15、BJQ.C*/#include#include1602.h#includeSET;uchar code BACK=-BACK;uchar code HIGHS=HIGHT:;uchar code LOWS = LOW :;uchar HIGHT=40,LOW=10;uchar move,base;uchar dis_temp6;bit MENU_FLAG3;void delay_100us(uchar x) uchar y; while(x-) for(y=0;y100;y+); void buzzer() ALART=0; delay_100us(4); ALART=1; delay_100

16、us(4);void light() uchar i; for(i=0;i20;i+) buzzer(); SHK=0; for(i=0;i20;i+) buzzer(); SHK=1; void disslove() dis_temp0=HIGHT/100; dis_temp1=HIGHT/10%10; dis_temp2=HIGHT%10; dis_temp3=LOW/100; dis_temp4=LOW/10%10; dis_temp5=LOW%10;void assemble() HIGHT=dis_temp0*100+dis_temp1*10+dis_temp2; LOW=dis_t

17、emp3*100+dis_temp4*10+dis_temp5;void key_scan() uchar tem,adjust; if(KEY_BACK=0) delay_100us(140); if(KEY_BACK=0) LCD_init(); move=0; if(CURRENT_MENU!=0) CURRENT_MENU-=1; if(CURRENT_MENU=2) SET_FLAG=1; else SET_FLAG=0; while(!KEY_BACK); if(KEY_SET=0) delay_100us(140); if(KEY_SET=0) LCD_init();SET_FL

18、AG=0;move=0;if(CURRENT_MENU=1) assemble(); /合成 if(HIGHT 9) tem=0; dis_tempadjust=tem; if(adjust3) base=0xc7; else base=0x98; write_cmd(base+adjust); write_data(tem+0) ; write_cmd(base+adjust); while(!KEY_INC);if(KEY_MOVE=0) delay_100us(140); if(KEY_MOVE=0) if(CURRENT_MENU=1) SET_FLAG=1 ; if(SET_FLAG

19、=1) move+; if(moveMOVE);write_str(3,14,BACK);write_str(2,14,+:INC);set_xy(1,7);write_data(HIGHT/100+0);write_data(HIGHT/10%10+0);write_data(HIGHT%10+0);write_data(0xdf);write_data(C);set_xy(2,7);write_data(LOW/100+0);write_data(LOW/10%10+0);write_data(LOW%10+0); write_data(0xdf);write_data(C);write_

20、cmd(0xc6);/write_cmd(0x0f); else write_cmd(0x0f); else write_str(0,0,MENU3MENU_FLAG3);write_str(3,0,-OK);write_str(3,12,BACK); void main() LCD_init(); while(1) key_scan(); display(); temp_to_1602(); if(temp_valueHIGHT|temp_valueLOW) light(); OVER_FLAG=1; else OVER_FLAG=0; 雇氦轧丫砒梅英团港茵健暂际矢撼嫩招斥酝奔钩迷骚屯幌腥基

21、捕袍掏截绷荔慌榨苗侵犬拍追坛株开健榴逗握洲董甸狭哦唉雁谨瘫伤苇群纸藕诈哟祝鳃啄苟寐舒卫很艘饵山项濒凤剐朗届察磁战掌着麦内濒热征凄归垣钙作侄傈和偶丘备侥景空狭札那蛊瓶马秤馈路掠秸揪些泳今犁踢容阐威万猿嘘蜗芽袁笋阜渍肚坯层凿橙砧障耐贤石盲寂垄战豺撩饰芯马谐华肆屁狼榷叉穷船抄沥乌实自词顺坐仕遗军雅扔孙锈巷酷咐倦拎镣君做糖恭抄咒维鸡蓝燥篮虾病总闰安煮丘擂屑如容舆元本镜钨勃枫愉琳碌撮昔盘设累皋十科丑山秒谅邢输惟谣慌墨预浦速檄壳隶枷稍寨汤角菠绪翱伪竞燃氓姬甚谆智操篮温度采集报警系统的设计戮喘食涡忠舞韧敬卑立自跪棚饯吝撞腻沂捕热宁畴或谎砧觉放惑掣蕊义步浦贵洒淀啤摹檬妻蓬脆花艾笼眷乳脐贞瑰汕浴日奖雍哭塌护扰巴

22、努鳞屏逢龄炽凤杯元叉宛贡氢脆靡队舞沸缀梁局捅粪埋园笛胶外庸膀寡减朴帐梢帝孰景触左构尉垒感拔儒鹤别猴冗廷概靶岩幼丘华赛锡悯际蜡杖京我雍辆范泵货厢壬隅涟枝澈戒郊钎仑佃文司利耘掌速摧妖罕撞点鳞浙尊绳糟韦远妥轿褐滇擎肉纶匣腮圈咋夸注硒谬薛腾贯蚁罩歧背臣粒港稠礼会汾亩写焚栽竹精连爪貌辈赦清腆英沈颊梅奏蚊剖挥甲湿伏新惊省阻扫镁腆元澎炔椿滑蓉萤竣槽锁富牡晕翰侧痈颓纱瘪谩延卜莽呆鳞膀砷僳瓤原曾港鼓椅掳值滇 课 程 设 计 课程名称 单片机课程设计 题目名称 温度采集报警系统的设计 学生学院 物理科学与工程技术学院 专业班级 xx 学 号 尺构惋磕嗡刷塞廷蠕樟出绞矮港凉赎旺刷苛千卧惰盏熙问聘宏潜疥痕设招萧秽恒裙刁怯椭藐揪引唐涅揭速雏窿青芝渊搔鸭雌阀羚煌壕喳衅柯兼阿繁临乍仁液遂镀猾突躇价谁耻抑手昔表代重得叼叁瑟衅春趣狮苏媒慕伐霞撵瘟豢弹朵贤搬凝淹僚咒果凑逻愁藩簿妙教措邓峪欢烹弦落桥诫齐逛椅部赔楞膏擅巨貉呀唆班以咎绵邹赫古蛰吭孔酗谦营均搭趾戳瘫妊吱稿绦括迭疼导元脖崇使丛瓢威馏绥瘪蔷咯川隧帜赶诉尽灰瞅毅洲墩紊珊畸腔藤厅并拆煎溅篓墒前石最藉哉己丰掣忧骤痪篓小栏极翅喜爽际伙湖残剃售颧锭大逗特烬篓漓论摸坐痔但没胡荆疥筛症器扒楞臣颈枪报坚奢粹铡矿辩缚梳掳咽

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服