版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.PAGE.长沙学院《单片机原理及应用》课程设计说明书题目数字式温湿度测量仪设计系<部>专业<班级>姓名学号指导教师起止日期《单片机原理及应用》课程设计任务书8系<部>:电信系专业:2011级电子信息工程课题名称数字式温湿度测量仪设计设计内容及要求1、课题内容:以单片机为核心,使用SHT11温、湿度传感器设计一个数字式温湿度计。测量一路温度和湿度信号并用12864液晶屏显示。测温范围-55-125摄氏度,精度0.5摄氏度;湿度测量范围:0-100%RH。液晶屏的第一行显示"温湿度测量仪",第二行显示设计者姓名和学号,第三行显示测量温度、温度设定的上、下限报警值。第四行显示测量湿度、湿度设定的上、下限报警值。当温度或湿度高于设定上限值或低于下限值时驱动峰鸣器演奏歌曲一首作为报警信号。2、要求:完成该系统的硬件和软件的设计,在Proteus软件上仿真通过,并提交一篇课程设计说明书。设计工作量1、汇编或C51语言程序设计;2、程序调试;3、在Proteus上进行仿真成功;4、提交一份完整的课程设计说明书,包括设计原理、程序设计、程序分析、仿真分析、调试过程,参考文献、设计总结等。进度安排起止日期〔或时间量设计内容〔或预期目标备注第一天课题介绍,答疑,收集材料,C51介绍第二天设计方案论证,练习编写C51程序第三天~第六天程序设计第六天~第八天程序调试、仿真第九天~第十天系统测试并编写设计说明书教研室意见年月日系〔部主管领导意见年月日目录一、概述5二、设计内容及要求51、课题内容52、要求5三、设计原理61、温度传感器的选择62、湿度传感器的选择6四、设计方案6程序:7五、测试结果18六、设计心得体会19七、参考文献19一、概述温湿度测量有着广泛的应用,标准温湿度测量仪主要应用于计量、气象、军事等领域,实现准确高精度的测量温湿度,同时还可以作为其他温湿度仪表校正的参考标准。数字式通风干湿表是一种重要的湿度标准器,干湿球温度的测量精度是制约其湿度精度的重要因素,本文设计的数字式标准温湿度测量仪,着重提高温度的测量精度,达到高精度湿度测量的目的。温湿度是人们日常生活中接触最多的两个物理量,人们的日常生活、动植物的生存繁衍和周围环境的温湿度息息相关,石油、化工、冶金、纺织、机械制造、航空航天、制药、烟草、档案保管、粮食存储等领域对温、湿度也有着较高的要求。例如:烟叶和纸张是吸湿性极高的材料,卷烟生产的每一个阶段对温、湿度都有非常特别的要求,以确保所使用材料的水分,保证生产的效率和产品质量;印刷车间的温、湿度控制水平对印刷质量有很大的影响[2];为防止库存武器弹药、金属材料等物品霉烂、生锈,必须保持环境温度不能过高和干燥;而水果、种子、肉类等的保存又需要保证一定的湿度;在矿山、棉麻、塑料、粉末金属、食品生产加工等企业的生产车间〔环境中往往会产生大量的可燃或易燃粉尘,如果空气湿度过低,在一定的能量下,极易发生粉尘爆炸。二、设计内容及要求1、课题内容以单片机为核心,使用SHT11温、湿度传感器设计一个数字式温湿度计。测量一路温度和湿度信号并用12864液晶屏显示。测温范围-55-125摄氏度,精度0.5摄氏度;湿度测量范围:0-100%RH。液晶屏的第一行显示"温湿度测量仪",第二行显示设计者姓名和学号,第三行显示测量温度、温度设定的上、下限报警值。第四行显示测量湿度、湿度设定的上、下限报警值。当温度或湿度高于设定上限值或低于下限值时驱动峰鸣器演奏歌曲一首作为报警信号。2、要求完成该系统的硬件和软件的设计,在Proteus软件上仿真通过,并提交一篇课程设计说明书。三、设计原理1、温度传感器的选择采用热电阻温度传感器。热电阻是利用导体的电阻随温度变化的特性制成的测温元件。现应用较多的有铂、铜、镍等热电阻。其主要的特点为精度高、测量范围大、便于远距离测量。铂的物理、化学性能极稳定,耐氧化能力强,易提纯,复制性好,工业性好,电阻率较高,因此,铂电阻用于工业检测中高精密测温和温度标准。缺点是价格贵,温度系数小,受到磁场影响大,在还原介质中易被玷污变脆。按IEC标准测温范围-200~650℃,百度电阻比W〔100=1.3850时,R0为100Ω和10Ω,其允许的测量误差A级为±〔0.15℃+0.002|t|,B级为±〔0.3℃+0.005|t|。铜电阻的温度系数比铂电阻大,价格低,也易于提纯和加工;但其电阻率小,在腐蚀性介质中使用稳定性差。在工业中用于-50~180℃测温。2、湿度传感器的选择测量空气湿度的方式很多,其原理是根据某种物质从其周围的空气吸收水分后引起的物理或化学性质的变化,间接地获得该物质的吸水量及周围空气的湿度。电容式、电阻式和湿涨式湿敏原件分别是根据其高分子材料吸湿后的介电常数、电阻率和体积随之发生变化而进行湿度测量的。采用CHR-01湿敏电阻。CHR-01湿敏电阻适用于阻抗型高分子湿度传感器,它的工作电压为交流1V,频率为50Hz~2kHz,测量湿度范围为20%~90%RH,测量精度±5%,工作温度范围为0~+85℃,最高使用温度120℃,阻抗在60%RH〔25℃时为30〔21~40.5KΩ。采用555时基或RC振荡电路,将湿度传感器等效为阻抗值,测量振荡频率输出,振荡频率在1kHz左右。四、设计方案把各个功能模块编写成单独的源文件进行调试,调试成功以后,再将各部分联合在一起。用户温度输入数据时上限、下限分别在七段数码管的0、1、2、3位置显示,湿度输入数据时上限、下限分别在七段数码管的4、5、6、7位置显示。读键存储的过程是循环程序。可循环等待直到用户输入正确并确认为止。采样转换模块是一个比较重要的模块,在调试的阶段遇到的问题较多,由于它是程序运行的瓶颈,如果这一部分通不过的话,那么程序就无法执行下去,本系统采用的是延时的方法。温湿度判断控制模块也一个非常重要的模块,由于温湿度对于植被的生长起着决定性的作用,因此,如果这两个因素控制不好,这个系统就失败了,这就需要我认真的考虑这一模块的控制方式,调试阶段比较顺利。除了以上所提到的模块之外,还有一些模块也很重要,也都需要认真的调试,如报警模块等。调试了各模块之后,接下来的工作就是将各源程序段连接起来,进行综合调试了,综合调试需要我们特别注意细节部分,这样才能尽可能的减少错误的产生。程序:#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintucharg,s,b;uinttemp,temp_dat;floatf_temp;voidlcd_display_temp_max<ucharname,ucharmax,ucharmin,bitf>;uchards18b20_int_date<void>;uchards18b20_float_date<void>;sbitrs=P2^0;sbitrw=P2^1;sbiten=P2^2;sbitPSB=P2^3;sbitDS=P3^3;sbitfm=P3^4;sbitk1=P3^5;sbitk2=P3^6;sbitk3=P3^7;uintt,k;uchartimeh,timel;ucharshi,fen,miao;ucharcodedis5[]={'.'};ucharcodedis0[]={"0123456789"};ucharcodedis1[]={"00时00分00秒"};ucharcodedis2[]={".℃-55~90℃"};ucharcodedis3[]={""};ucharcodedis4[]={0xa1,0xa0,0xca,0xfd,0xd7,0xd6,0xca,0xbd,0xce,0xc2,0xb6,0xc8,0xbc,0xc6,"℃"}; ;ucharcodezbjbxf[]={0x64,0xA3,0xC1,0xA2,0x62,0x84,0x61,0x81,0x61,0xA4,0xA1,0x91,0xA1,0x81,0x64/*,0xA3,0xC1,0xD2,0xD2,0xD2,0xA2,0xC4,0xA1,0xC1,0xA1,0xC1,0xD2,0xD2,0xD2,0xA2,0xC4,0xC2,0x62,0xC2,0x62,0xA2,0xA2,0x84,0x94,0x94,0x92,0x81,0x91,0xA2,0xC2,0xD4,0xE4,0xA4,0xE4,0xA2,0xE2,0xA2,0xE2,0xA2,0xA2,0x84,0x94,0x94,0x92,0x81,0x91,0xA2,0xC2,0xD8*/};ucharcodechuzhi[]={ 0xff,0xff, 0xFC,0x8E, 0xFC,0xED, 0xFD,0x43, 0xFD,0x6A, 0xFD,0xB3, 0xFD,0xF3, 0xFE,0x2D, 0xFE,0x47, 0xFE,0x76, 0xFE,0xA1, 0xFE,0xC7, 0xFE,0xD9, 0xFE,0xF9, 0xFF,0x16};voidwarning<>;voiddelayms<uintxms>{ uchari,j; for<i=xms;i>0;i--> for<j=110;j>0;j-->;}voiddelay<uintz> //延时165MS,即十六分音符{ uinty; for<z;z>0;z--> for<y=19000;y>0;y-->;//大致时间}voidds18b20_init<void>{ uinti;DS=0;i=103;while<i>0>i--;DS=1;i=4;while<i>0>i--;}bitds18b20_tmpreadbit<void>//readabit读一位{uinti;bitdat;DS=0;i++;//i++fordelay小延时一下DS=1;i++;i++;dat=DS;i=8;while<i>0>i--;return<dat>;}uchards18b20_tmpread<void>{ uchari,j,dat; dat=0; for<i=1;i<=8;i++> { j=ds18b20_tmpreadbit<>; dat=<j<<7>|<dat>>1>;//读出的数据最低位在最前面,这样刚好 }//一个字节在DAT里return<dat>;//将一个字节数据返回}voidds18b20_tmpwritebyte<uchardat>{//写一个字节到DS18B20里uinti;ucharj;bittestb;for<j=1;j<=8;j++>{testb=dat&0x01;dat=dat>>1;if<testb>{DS=0;i++;i++;DS=1;i=8;while<i>0>i--;}else{DS=0;i=8;while<i>0>i--;DS=1;i++;i++;}}}voidds18b20_tmpchange<void>//DS18B20beginchange发送温度转换命令{ ds18b20_init<>;//初始化DS18B20delayms<10>;ds18b20_tmpwritebyte<0xcc>;//跳过序列号命令ds18b20_tmpwritebyte<0x44>;//发送温度转换命令}uintds18b20_gettemp<>{ uchara,b; ds18b20_init<>; delayms<10>; ds18b20_tmpwritebyte<0xcc>; ds18b20_tmpwritebyte<0xbe>; a=ds18b20_tmpread<>; b=ds18b20_tmpread<>; temp=b; temp<<=8; temp=temp|a; f_temp=temp*0.0625; temp=f_temp*10+0.5; f_temp=f_temp+0.05; returntemp;}voidwrite_com<ucharcom>{ rs=0; rw=0; en=0; P0=com; delayms<5>; en=1; delayms<5>; en=0;}voidwrite_data<uchardate>{ rs=1; rw=0; en=0; P0=date; delayms<5>; en=1; delayms<5>; en=0;}voidlcd_pos<ucharX,ucharY>{ ucharpos; if<X==0> { X=0x80; } if<X==1> { X=0x90; } if<X==2> { X=0x88; } if<X==3> { X=0x98; } pos=X+Y; write_com<pos>;}voidwrite_sfm<intadd,uintdate>{ ucharshi,ge; shi=date/10; ge=date%10; lcd_pos<0,0+add>; write_data<0x30+shi>; write_data<0x30+ge>; }voidkeyscan<>{ if<k1==0> { delayms<5>; if<k1==0> { k++; while<!k1>; if<k==1> { TR0=0; write_com<0x0f>; lcd_pos<0,5>; } } if<k==2> { lcd_pos<0,3>; } if<k==3> { lcd_pos<0,1>; } if<k==4> { k=0; write_com<0x0c>; TR0=1; } } if<k!=0> { if<k2==0> { delayms<5>; if<k2==0> { while<!k2>; if<k==1> { miao++; if<miao==60> miao=0; write_sfm<5,miao>; lcd_pos<0,5>; } if<k==2> { fen++; if<fen==60> fen=0; write_sfm<3,fen>; lcd_pos<0,3>; } if<k==3> { shi++; if<shi==24> shi=0; write_sfm<1,shi>; lcd_pos<0,1>; } } } if<k3==0> { delayms<5>; if<k3==0> { while<!k3>; if<k==1> { miao--; if<miao==-1> miao=59; write_sfm<5,miao>; lcd_pos<0,5>; } if<k==2> { fen--; if<fen==-1> fen=59; write_sfm<3,fen>; lcd_pos<0,3>; } if<k==3> { shi--; if<shi==-1> shi=23; write_sfm<1,shi>; lcd_pos<0,1>; } } } }}voidinit<>{ PSB=1; write_com<0x30>; delayms<5>; write_com<0x0c>; delayms<5>; write_com<0x01>; delayms<5>; TH0=<65535-50000>/256; TL0=<65535-50000>%256; TMOD=0x11; ET0=1; ET1=1; PT0=1; PT1=0; EA=1; TR0=1;}voidwrite_sfm3<intadd3,uintdate3>{ ucharshi,ge; shi=date3/10; ge=date3%10; lcd_pos<1,0+add3>; write_data<0x30+shi>; write_data<0x30+ge>; }voidwrite_sfm4<intadd4,uintdate4>{ ucharshi,ge; shi=date4/10; ge=date4%10; lcd_pos<1,0+add4>; write_data<0x30+shi>; write_data<0x30+ge>; }voiddis_temp<uintt>{ b=t/10; write_sfm3<0,b>;//lcd_pos<1,0>;//write_data<dis0[b]>; s=t%10; write_sfm4<2,s>;/*s=t%100/10;lcd_pos<1,1>;write_data<dis0[s]>; lcd_pos<1,2>;write_data<'.'>;g=t%10;lcd_pos<1,3>;write_data<dis0[g]>;*/}voidwarning<>{ uinttemp_music; //存放简谱数组中的每一个音符的临时变量 uchari=0; ucharjp; //jp用于取出temp中的高8位和低8位 while<1> { temp_music=zbjbxf[i]; if<temp_music==0xff> break; jp=temp_music/16;//取数的高4位,音频数值 if<jp!=0> { timeh=chuzhi[jp*2];//构造定时器初值高8位 timel=chuzhi[jp*2+1];//构造定时器初值低8位 TR1=1; //开定时器 } else { TR1=0; //关定时器 fm=1; //关蜂鸣器 } delay<temp_music%16>;//取数的低4位,节拍〔音符总时延 TR1=0; //唱完一个音停5MS fm=1; delayms<5>; i++; } TR1=0; //关定时器 fm=1; //关蜂鸣器}voidmain<>{ uchari; init<>; delayms<10>; lcd_pos<0,1>; i=0; while<dis1[i]!='\0'> { write_data<dis1[i]>; i++; } lcd_pos<1,0>; i=0; while<dis2[i]!='\0'> { write_data<dis2[i]>; i++; } lcd_pos<2,0>; i=0; while<dis3[i]!='\0'> { write_data<dis3[i]>; i++; } lcd_pos<3,0>; i=0; while<dis4[i]!='\0'> { write_data<dis4[i]>; i++; } while<1> { keyscan<>; ds18b20_tmpchange<>; tem
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新初三衔接 专题09 文言文高频题型+课内外对比阅读突破:文言断句、踩分翻译、内容理解、人物主旨、异同赏析、思辨类开放探究题(学生版)
- 某化工厂危品管控细则
- 2026年武汉市政务服务中心管理办公室(市民之家)招考高素质人才易考易错模拟试题(共500题)试卷后附参考答案
- 2026年普宁市公开招聘“百名创建美丽圩镇推进乡村振兴人才”举办笔试易考易错模拟试题(共500题)试卷后附参考答案
- 2026年新乡医学院招考工作人员(硕士)易考易错模拟试题(共500题)试卷后附参考答案
- 2026年恩施高中专项招考教师易考易错模拟试题(共500题)试卷后附参考答案
- 2026年开封市顺河回族区事业单位招考工作人员易考易错模拟试题(共500题)试卷后附参考答案
- 2026年广西钦州市灵山县事业单位考试招聘485人易考易错模拟试题(共500题)试卷后附参考答案
- 2026年广西玉林容县公路养护中心(原容县公路管理局)招聘6人易考易错模拟试题(共500题)试卷后附参考答案
- 2026年广西梧州市藤县工业和信息化局招聘易考易错模拟试题(共500题)试卷后附参考答案
- 2026年新疆第三师图木舒克市高校毕业生“三支一扶”计划招募(347人)笔试参考题库及答案详解
- 2026年吉林省中考数学试题【含答案解析】
- 2026年医师定期考核题库(完整版)及答案
- 成都地铁车辆基地总图及工艺设计要求
- 2026高考语文全题型万能答题模板与满分公式(打印版)
- 2026年大学GIS应用开发期末考前冲刺练习题库新版附答案详解
- 2026年全国硕士研究生招生考试政治试题及其答案
- 冲压厂奖惩制度
- 成都泡桐中学初一入学语文分班考试真题含答案
- 人工智能网络安全
- 黑龙江大学《审计学》2025 学年第二学期期末试卷
评论
0/150
提交评论