已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电气与电子信息工程学院单片机课程设计设计题目: 数字式温度计设计 专业班级: 电子信息工程2010(1)班 学号: xxxxxxxxxxxxxxxx 姓 名: xxxxxxxx 指导教师: xxxxxxxxxxxxxxxxxxxxx 设计时间: 2013/06/032013/06/16 设计地点: xxxxxxxxxxxxx 单片机课程设计成绩评定表姓 名xxxxxxxxxxx学 号xxxxxxxxxxxxxx专业班级电子信息工程xxxxxxxxxx课程设计题目: 数字温度计设计课程设计答辩或质疑记录:1、 单片机时钟电路的作用? 解:单片机访问一次存储器的时间,称之为一个机器周期,这是一个时间基准。机器周期不仅对于指令执行有着重要的意义,而且机器周期也是单片机定时器和计数器的时间基准。单片机选择了12MHz晶振,那么当定时器的数值加1时,实际经过的时间就是1us,这也是单片机的定时原理。2、 温度传感器接上后,为啥开始总显示85?解:温度传感器一旦接反就会立刻发热,有可能烧毁!接反是导致该传感器总是显示85的原因。面对着扁平的那一面,左负右正。成绩评定依据:实物制作(40):课程设计考勤情况(10):课程设计答辩情况(20):完成设计任务及报告规范性(30):最终评定成绩(以优、良、中、及格、不及格评定) 指导教师签字: 2013年 6 月 20 日目录1 系统方案选择与论证41.1测温电路选取41.2 显示电路选取42 系统硬件电路设计42.1总体功能介绍42.2 各功能模块硬件介绍53 系统软件设计83.1 系统总程序流图83.2 系统子程序83.3 keil调试103.4 仿真结果114 实物的组装与调试114.1 调试结果114.2 调试问题125 心得体会12附录13附录1:电路原理图13附录2:程序13附录3:使用元器件一览表18参考文献181 系统方案选择与论证1.1测温电路选取方案一:测温电路的设计,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻方案二:考虑使用温度传感器,结合单片机电路设计,采用一只DS18B20温度传感器,直接读取被测温度值,之后进行转换,依次完成设计要求。比较以上两种方案,很容易看出,采用方案二,能够直接读取温度,而且电路设计比较简单,软件设计容易实现,故实际设计中拟采用方案二。1.2 显示电路选取 方案一:采用LCD1602液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,显示多样,显示数据清晰可观。方案二:采用LED数码管动态扫描,专门用来显示温度 ,并且采用动态扫描法与单片机连接时。通过对比以上二种方案,本设计采用了LCD1602液晶显示屏作为数字式温度计显示模块,因为其价格适中,而且其可显示大量文字,显示多样,显示数据清晰可观。2 系统硬件电路设计2.1总体功能介绍 数字式温度计由四部分组成:1、控制部分主芯片采用单片机AT89C52;2、显示部分采用LCD1602液晶显示屏实现显示环境温度,同时利用单片机定时器实现走时功能;3、温度采集部分采用DS18B20温度传感器采集温度;4、利用LED灯实现高温报警系统。5、利用按键实现调时功能。总体设计原理图如下:STC89C52LCD1602SD18B20温度传感器时钟电路复位电路独立按键LED报警2.2 各功能模块硬件介绍 2.2.1 控制模块 单片机控制模块 该方案是基于STC89C52单片机来实现系统控制。通过编写程序控制外围电路来控制液晶显示屏,其I/O口的选取也是采取一般的选取方式。其时钟电路采用12MHZ的时钟晶振。2.2.2 温度采集模块 DS18B20温度采集电路该部分主要完成对温度信号的采集和转换工作,由DS18B20数字温度传感器及其与单片机的接口部分组成。数字温度传感器DS18B20把采集到的温度通过数据引脚传到单片机的P3.4口,单片机接受温度并存储。此部分只用到DS18B20和单片机,硬件很简单。其测温范围为10摄氏度到+50摄氏度。每一片DSl8B20在其ROM中都存有其唯一的48位序列号,在出厂前已写入片内ROM 中。主机在进入操作程序前必须用读ROM(33H)命令将该DSl8B20的序列号读出。程序可以先跳过ROM,启动所有DSl8B20进行温度变换,之后通过匹配ROM,再逐一地读回每个DSl8B20的温度数据。其具体测温流程如下图所示。初始化DS18B20跳过ROM匹配温度变换延时1S跳过ROM匹配读暂存器转换成显示码数码管显示 DS18B20测温流程2.2.3 液晶显示模块 LCD1602液晶显示通过采集ds18b20的温度,同步显示到LCD显示器上,精确到小数点后两位。同时在液晶上显示走时功能和最高温度和最低温度。1602采用标准的16脚接口,其引脚电路功能如下所示第1脚:VSS为电源地第2脚:VCC接5V电源正极第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(使用时可以通过一个10K的电位器调整对比度)。第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。第6脚:E端为使能(enable)端,高电平(1)时读取信息,负跳变时执行指令。第714脚:D0D7为8位双向数据端。第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。2.2.4 独立按键和高温报警模块 独立按键电路 高温报警电路这两个模块均为单片机外围辅助模块,其按键电路主要实现对时间的调节,可实现对时分秒的加减调节;而高温报警电路主要实现对高温提示作用,当温度在正常范围时,D1灯亮,当温度达到高温37度时,D1灯灭,D2灯亮,这样也就实现了报警提示功能。3 系统软件设计 3.1 系统总程序流图开 始初始化DS18B20显示当前温度超过设定温度上限判断当前温度D1灯灭D2灯亮通过按键设定当前当前时间是否温度正常范围时D1灯亮系统总的流程图3.2 系统子程序 3.2.1 读取温度子程序读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。DS18B20的各个命令对时序的要求特别严格,所以必须按照所要求的时序才能达到预期的目的,同时,要注意读进来的是高位在后低位在前,共有12位数,小数4位,整数7位,还有一位符号位。DS18B20复位、应答子程序跳过ROM匹配命令写入子程序写入子程序温度转换命令写入子程序DS18B20复位、应答子程序跳过ROM匹配命令显示子程序(延时)读温度命令子程序结束3.2.2 时钟走时子程序 该时钟主要通过AT89C52单片机的定时器T0中断实现走时功能,同时通过开关设置时间。具体程序流程图如下:定时器T0中断T0赋值初值使中断一次50usnum2+当num2=24时num2=0定时器中断一次count+num+当num=60时num=0num1+当num1=60时num1=0当count=20当num1=60当num=20是是是否否否3.3 keil调试在keil调试过程中,发现走时总是很慢,不管设置定时器初值,其走时人很慢,而且没多大变化,后来通过询问老师,和自己不停调试,发现时程序延时除了问题,最终将显示程序从主程序移到中断程序中就解决了此问题。3.4 仿真结果4 实物的组装与调试4.1 调试结果4.2 调试问题刚开始接液晶时,液晶灯亮,但没有显示任何数值,后经过检查,发现是V0脚必须接一滑动变阻器,同时接地,通过调节滑动变阻器的阻值来调节液晶显示器对比度,这样就很好的显示出结果来。5 心得体会此次课程设计使用单片机实现,在选题中,我们到图书馆,网上查询资料,最终我们小组决定做数字式温度计。因为这学期刚好开设了单片机课程,所以方案上手还是比较顺利。在设计过程中,我们发现理论学习是一回事,真正做实物却又感觉确实很难,如调试程序过程就是一个考验人耐心的过程,有时一个很小的问题就要调试好久。仿真时,出现时钟走时很慢的现象,当时以为是定时器设置初值时出了问题,但不管怎么调,最终还是一样,最终在请教老师后,才知道是程序延时除了问题,把显示程序移到中断程序中就可以了。在制作实物的时候,我们也遇到不少问题,开始液晶不显示数值,后来通过在液晶14号引脚接滑动变阻器调节才解决这一问题。但在大家的耐心讨论下,这些问题我们都一一解决了。最终,我们的数字式温度计也成功制作出来了。这次课程设计,让我懂得要想真正学好单片机,不光要学好课本知识,还要不断增强自己的实践动手能力,通过做实物,不断积累经验。同时,我们也学到了团结合作的精神。附录附录1:电路原理图附录2:程序 #include #include #include #include #include #include #include #include LCD1602.h sbit key1=P10;sbit key2=P11;sbit s1=P30;sbit s2=P31;sbit s3=P32;unsigned char warn10=0x20,0x57,0x41,0x52,0x4e,0x49,0x4e,0x47,0;unsigned char t2,*pt,s1num; unsigned char count=0,num=0,num1=0,num2=0;unsigned char TempBuffer117=0x2b,0x31,0x32,0x37,0x2e,0x30,0x30,0xdf,0x43,0x20,0x4C,0x3A,0x2D,0x20,0x35,0x35,0; unsigned char TempBuffer017=0x30,0x30,0x3a,0x30,0x30,0x3a,0x30,0x30,0x20,0x20,0x48,0x3A,0x2B,0x31,0x32,0x35,0; unsigned char code dotcode4=0,25,50,75;void covert1(void) unsigned char x=0x00,y=0x00; t0=*pt; pt+; t1=*pt; if(t10x07) TempBuffer10=0x2d; t1=t1; t0=t0; x=t0+1; t0=x; if(x255) t1+; else TempBuffer10=0x2b; t1=4; x=x&0x0f; t1=t1|x; TempBuffer11=t1/100+0x30; if( TempBuffer11=0x30) TempBuffer11=0xfe; TempBuffer12=(t1%100)/10+0x30; if(TempBuffer10=0x2d)&( TempBuffer122+0x30) key1=0; else key1=1; if( TempBuffer128+0x30) key2=0; else key2=1; TempBuffer13=(t1%100)%10+0x30; t0=t0&0x0c; t0=2; x=t0; y=dotcodex; TempBuffer15=y/10+0x30; TempBuffer16=y%10+0x30; void delay2(unsigned char i)while(i-);void init()TMOD=0x01;TH0=0x3c;TL0=0xb0;EA=1;ET0=1;TR0=1;void time()if(count=2)count=0;num+;TempBuffer07=num%10+0x30; TempBuffer06=num/10+0x30;if(num=60) num1+;num=0;TempBuffer04=num1%10+0x30; TempBuffer03=num1/10+0x30;if(num1=60)num1=0;num2+; TempBuffer01=num2%10+0x30; TempBuffer00=num2/10+0x30;if(num2=24)num2=0; void keyscan()if(s1=0)delay2(5);if(s1=0)s1num+;while(!s1);if(s1num=1)TR0=0;LCD_Write(LCD_COMMAND,0x80+7); LCD_Write(LCD_COMMAND,0x09);if(s1num=2)LCD_Write1(4); if(s1num=3)LCD_Write1(1); if(s1num=4)s1num=0; TR0=1;LCD_Write(LCD_COMMAND,0x0c);if(s1num!=0) if(s2=0)delay2(50);if(s2=0)while(!s2); if(s1num=1)num+;if(num=60)num=0;TempBuffer07=num%10+0x30; TempBuffer06=num/10+0x30; if(s1num=2)num1+;if(num1=60) num1=0;TempBuffer04=num1%10+0x30; TempBuffer03=num1/10+0x30;if(s1num=3)num2+;if(num2=24)num2=0;TempBuffer01=num2%10+0x30; TempBuffer00=num2/10+0x30;if(s1num!=0) if(s3=0)delay2(50);if(s3=0)while(!s3); if(s1num=1)num-;if(num=0)num=59;TempBuffer07=num%10+0x30; TempBuffer06=num/10+0x30; if(s1num=2)num1-;if(num1=0)num1=59;TempBuffer04=num1%10+0x30; TempBuffer03=num1/10+0x30;if(s1num=3)num2-;if(num2=0)num2=23;TempBuffer01=num2%10+0x30; TempBuffer00=num2/10+0x30; void main() unsigned char TH=125,TL=-55;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年安徽医学高等专科学校单招职业技能考试必刷测试卷带答案解析
- 2026年新疆昌吉回族自治州单招职业适应性测试题库及答案解析(名师系列)
- 2026年兰州科技职业学院单招职业倾向性测试必刷测试卷及答案解析(夺冠系列)
- 2026年山东华宇工学院单招职业技能测试必刷测试卷带答案解析
- 房屋拆建加固协议书
- 房屋按揭中介协议书
- 房屋改造合同或协议
- 房屋权利转让协议书
- 房屋清空协议书范本
- 房屋装修质保协议书
- 2025及未来5年步进电机铁芯冲片项目投资价值分析报告
- 药店医保人员合同范本
- 2025巴彦淖尔市交通投资(集团)有限公司(第一批)招聘40人笔试备考试题附答案
- 2025年深圳市网格员招聘笔试题库及答案解析
- 安全隐患排查监理实施细则
- DB44∕T 2604-2025 城镇污水处理能源消耗限额
- 《大学生职业生涯规划与就业指导(第2版)高职》全套教学课件
- 大单元·任务式第八单元第10课时 语文园地(口语交际) 课件 统编版语文二上
- (人教2024版)数学三年级上册第5单元《线和角》大单元教学设计(新教材)
- 飞机场导航台施工方案
- 《小额贷款公司监督管理暂行办法》测试竞赛考试练习题库(附答案)
评论
0/150
提交评论