版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、武汉理工大学单片机原理与接口技术课程设计说明书附件1:学 号: 0121218700312课 程 设 计题 目数字式温度计学 院物流工程学院专 业物流工程班 级姓 名指导教师2015年1月18日附件2:课程设计任务书学生姓名: 专业班级: 指导教师: 工作单位: 题 目: 数字式温度计设计 初始条件:1、设计与仿真软件:Keil uVision 和Proteus要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1.18B20 设计一款能够显示当前温度值的温度计;2. 切换按钮可以切换华氏度和摄氏度显示;3.其他功能时间安排:2015年1月4 - 5日 选择题目,
2、布置任务2015年1月6 - 8日 功能分析,硬件设计及修改2015年1月9 -13日 软件设计与编程2015年1月14-18日 调试并修改硬件组成2015年1月19-20日 编写任务说明书2015年1月21-22日 确认提交版、答辩指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日附件6:本科生课程设计成绩评定表姓 名 性 别 专业、班级 课程设计题目: 数字式温度计课程设计答辩或质疑记录:1. Respack-8是什么?作用是什么?答:Respack-8是排阻,作上拉电阻,使得单片机P0口具备I/O能力2. 如何实现复位?答:接通复位回路,按下复位按钮,保持两个机器周期以上的
3、时间,即可实现复位。3. DS18B20是什么芯片?有何特点答:DS18B20是一种常用的温度传感器,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。测温范围为-55+125,固有测温误差为1。成绩评定依据:1.硬件电路和软件程序的正确性2.设计说明书的规范性和完整性3.答辩情况4.功能实现的难易程度最终评定成绩(以优、良、中、及格、不及格评定)指导教师签字: 年 月 日目 录1 设计任务22设计方案32.1 任务分析32.2 方案设计33系统硬件设计53.1时钟电路设计53.2复位电路设计53.3 1602控制电路53.4 DS18B20通信电路,开关电路设计63.5系统原理图 74系统
4、软件设计84.1 1ms定时84.2 DS18B20初始化程序84.3对DS1802写一个字节的数据84.4 1602的操作程序 84.5温度测算及转换程序105仿真与性能分析115.1系统仿真过程115.2系统性能分析116.小结与展望13参考文献14附录1 元件清单15附录2 系统程序16数字式温度计的设计摘要温度是一种最基本的环境参数,人民的生活、生产与环境的温度息息相关。 在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此 研究温度的测量方法和装置也有重要的意义。本文将介绍智能集成温度传感器 DS18B20 的结构特征及控制方法,并以此为传感器 DS18B20 和
5、AT89C52 单片机为控制器构成的温度测量装置的工作原理做了详细的介绍。该产品适用于人民的日常生活和工、农业生产,用于温度测量。关键词AT89C52;DS18B20;LM016L;数字;温度计。1设计任务1.1设计任务(1)用 DS18B20 设计一款能够显示当前温度值的温度计;(2)通过切换按钮可以切换华氏度和摄氏度显示;(3)其他功能(创新部分)设计例图如图1.1所示图1.1 设计例图1.2基本要求(1)用 DS18B20 设计一款能够显示当前温度值的温度计;(2)通过切换按钮可以切换华氏度和摄氏度显示;1.3拓展要求选作:实现测量多组的温度,都可以显示出来。2设计方案2.1任务分析数字
6、式温度传感器就是使用单片机来实现与 DS18B20 温度传感器的通信,实现温度计 的功能。温度由单片机计算出后,显示在 1602 液晶上,并且可以通过转换按钮实现显示 华氏温度和摄氏温度的转换。2.2方案设计2.2.1硬件方案根据设计的要求可知,系统的硬件原理框图如图 2.1 所示。按 键1602液晶单片机DS18B20图2.1 硬件原理框图单片机选用AT89C51,设计时无需外接程序存储器,为设计和调试带来极大的方便。DS18B20 与单片机的通信是通过 1wire 总线方式。我将该通信线路与单片机 P3.2口连接,从该口对 DS18B20 进行读写操作。另外,将一个按键开关与 P3.7 口
7、连接,进行摄氏华氏温度的换算。 2.2.2软件方案根据设计要求,程序框图如图 2.2 所示。软件可由汇编语言完成,也可由 C 语言完成,我选择的C语言。 软件设计可以分为以下几个功能模块:(1)主程序:初始化及键盘。(2)延时子程序:由_nop_()及 while 执行空循环来实现。用于通信时序。(3)LM160LCD液晶初始化及读写 RAM 子程序:初始化 1602 液晶,读写 1602RAM。(4)18B20 初始化及读写 RAM 程序:初始化 18B20 以及读写 18B20 片内 RAM 的程序。 键盘扫描程序模块:扫描键盘有无按键按下。开始初始化启动温度转换读取温度数值摄氏或华氏计算
8、数据更新温度显示判断键值图2.2 程序框图3.系统硬件设计3.1时钟电路设计如图3.1所示,采用内部时钟产生方式,在XTAL1和XTAL2两端跨接晶体或陶瓷振荡器,与内部反相器构成稳定的自击震荡。其发出的时钟脉冲直接送入片内定时控制部件。我采用的是12MHZ的晶振。图3.1单片机时钟电路3.2复位电路设计如图3.2所示,采用上电+按钮电平复位方式,当按下按钮时,RST 管脚高电平触发。 为保证复位可靠,RC 时间常数应大于两个机器周期,电容取30pF,电阻10k欧。3.2单片机复位电路3.3 1602 控制电路如图3.3所示,通过上拉电阻使得单片机P0口具备I/O能力,P0与1602的数据端口
9、依次连接。RS、RW、EN分别连接单片机P1.0,P1.1,P1.2口。上拉电阻1口为+5v。图3.3控制电路3.4 DS18B20 通信电路,开关电路设计如图3.4所示,由DS18B20的数据通信端口与P3.2连接,开关电路与单片机P3.7口连接,按下开关即可将摄氏温度转化成华氏温度并显示在LCD上,保持闭合状态则可以实时显示华氏温度。图3.4 DS18B20通信电路,开关电路电路3.5系统电路图如图3.5所示。图3.5 系统电路图4系统软件设计4.1 1ms定时在这里我们并不需要太精确的定时,故我采用的是执行无实际意义的语句的方法定时。采用了2层while语句,内层为执行while空循环1
10、10次,通过keil软件的调试可以发现, 该空循环可延时约1ms,这样只用确定外层while执行的次数,就能实现大约毫秒级的延时。4.2 1820初始化程序18b20的复位时序图如图4.1所示。 单片机io口必须要维持400960us的低电平,以显示单片机现在接管总线,然后释放总线至少15us(即给单片机IO口给高电平),此后,18b20会拉低总线约200us,并释放总线, 此时代表ds18b20复位成功。按照对应时序用软件给单片机IO口赋值即可。图4.1 18b20复位时序图4.3对18B20 写一个字节数据18b20写操作时,先必须保证总线是高电平。写 0 时,拉低总线至少 60us,ds
11、18b20 会在 1560us 完成读入 0。然后释放总线至少1us,完成一次写 1 操作。写 1 时,也是先拉低总线,然后必须在 15us 之内拉高总线超过 60us,在 15us 之后 ds18b20会完成读入 1。如此就完成了一次写 1 抄作。 将一字节数据的低位先写入,完成一次字节的写入。读出时也是先读出的是低位数据。4.4 1602的操作程1602操作指令如下:读状态:输入:RS=L,RW=H,E=H 输出:D0-D7=状态字写指令:输入:RS=L,RW=L,D0-D7=指令码,E=高脉冲 输出:无读数据:输入:RS=H,RW=H,E=H 输出:D0-D7=数据写数据: 输入:RS=
12、H,RW=L,D0-D7=数据,E=高脉冲 输出:无这使得1602显示字符的程序流程图如图4.2所示。开始忙检测不忙信号不忙设置显示模式等写指令,给出字符的ram地址写出数据库,给出字符的ASCII码图4.2 1602显示字符流程图先写指令 55H,判断 1602 是否忙。写指令 38H 设置显示模式,写指令 06H,0CH 设置光标及数据地址指针移动方向。总的方法就是,在数据地址指针指向的 RAM 内写字符的ASCII 码,该地址对应的 lcd 块就会显示相应的字符。数据地址映射图如图 4.3。图4.3 1602数字地址映射图4.5 温度测算及转换程序DS18B20 的在完成温度测量之后会发
13、送 11 位 2 进制数,以表征温度的绝对值前 5位为温度的符号位,见图 4.4 所示。图4.4 DS18B20温度输出软件的思路为,先将 2 个八位数据存在一个无符号整形的变量中,再将 2 个八位数据 拼接在一起存放在一个有符号的 16 位整形变量中。然后将其后 4 位分离出来,这是小数 部分。前 12 位要判断最高 5 位是否为 1。若为 1,代表为温度为负值,如此低 7 位就是反码,取反再加 1 求得温度的绝对值;若为 0,代表温度是正值,读出低 7 位的值就是温度 的绝对值。如此一来就得出了摄氏温度值。华氏温度摄氏温度转换关系式:华氏度 = 32 + 摄氏度 ×1.85仿真与
14、性能分析5.1系统仿真过程1.利用 protues 平台做仿真。2.搭建如图 5.1 所示电路,配置电源端子为设计值,运行。3.通过图上每个 IO 口的颜色(红色表示高电平,蓝色表示低电平)判断程序的执行是否符合预期。4.调整 DS18B20 上面的温度按钮,看看温度显示能否跟随 DS18B20 处温度变化而变化。图5.1 系统仿真图5.2系统性能分析当系统上电后,LCD大约1s后显示DS18B20所设温度,并保持恒定不会变化,如图5.2所示。当按下切换按钮后,LCD上排即对此时温度进行换算,显示当前摄氏温度所对应的华氏温度。调整DS18B20温度后,LCD温度随即更改,再次按下切换按钮,即可
15、显示当前新温度所对应的华氏温度,如图5.3所示。如果将切换按钮处于长期闭合状态,则可以同时显示摄氏温度及华氏温度,当调节DS18B20温度后,两排温度都会发生变化。图5.2系统仿真结果图5.3系统仿真图6小结与展望这次单片机课程设计我受益良多,不仅学会了两款软件:Keil uVision 和Proteus的使用方法,也学习到了许多硬件电路设计的基本准则和软件编制的好习惯。为了达到设计功能要求,我接触了自己以前从没接触过的DS18B20温度传感器和LCD1602液晶芯片,虽然在有限的设计时间内没有把这两个芯片的应用原理研究透彻,但可以实现基本的应用编程。设计的这几天时间里,我阅读了单片机电路设计
16、与仿真的相关资料,虽然是特别枯燥的,但收获到了新知识是值得高兴的,比如了解了温度传感器 DS18B20 的功能,如何编写单片机AT89C51的程序来实现数码管直接显示环境温度等等知识,与此同时还巩固了以前学过的知识。最值得一说的收获我觉得还是通过课程设计我能利用硬件和软件的结合,完成一个产品的设计和制作!在这个课程设计完成的过程中,我感觉是对单片机课程的重温以及相关知识的拓展,让我知道如何有计划、有条理地去完成一项任务。同时,让我觉得自己所掌握的只是其实是很少量的,完全谈不上专业人才。这对自己大学有限的未来的发展是一个启发。我做的这个温度传感器设计并不是最佳的,还有很多功能等待去完善和开发,比
17、如如何提高温度测量的范围,如何设置温度警告等等。参考文献:1李全利.单片机原理及接口技术M.2版.北京:高等教育出版社,2009.2杨居义.单片机课程设计指导M.北京:清华大学出版社,2009.3阎石.数字电子技术基础M.3版.北京:电子工业出版社,2009.4马忠梅,刘滨.单片机 C 语言 Windows 环境编程宝典M.北京:北京航空航天大学出版社,2003.5欧阳文.ATMEL89系列单片机的原理与开发实践M.北京:中国电力大学出版社,2006.6杨欣,王玉凤,刘湘黔,张延强.51单片机应用从零开始M.北京:清华大学出版社,2008.附录1 元件清单如表1所示。表1 数字式温度计设计元件
18、清单元件名规格标号数目单片机AT89C511电阻10kR2,R3,R43电容20pFC1,C22电容47uFC31电位计RP11传感器DS18B201显示屏LM016LLCD1按钮2附录2 系统程序#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit DQ=P32;sbit RS=P10;sbit RW=P11;sbit EN=P12;sbit sw0=P37;sbit led=P20;unsigned char code str1= "H: "unsigned cha
19、r code str2= "temp: "uchar data disdata5;uchar data disdata15;uchar data disdata25;uint tvalue, tvalueh;uchar tflag;void delay1ms(unsigned int ms) unsigned int i,j; for(i=0;i<ms;i+) for(j=0;j<100;j+);void wr_com(unsigned char com) delay1ms(1); RS=0; RW=0; EN=0; P0=com; delay1ms(1); E
20、N=1; delay1ms(1); EN=0;void wr_dat(unsigned char dat) delay1ms(1); RS=1; RW=0; EN=0; P0=dat; delay1ms(1); EN=1; delay1ms(1); EN=0;void lcd_init()delay1ms(15); wr_com(0x38); delay1ms(5); wr_com(0x08);delay1ms(5); wr_com(0x01);delay1ms(5); wr_com(0x06);delay1ms(5); wr_com(0x0c);delay1ms(5);void displa
21、y(unsigned char *p) while(*p!='0') wr_dat(*p); p+; delay1ms(1); void init_play() lcd_init(); wr_com(0x80); display(str1); wr_com(0xc0); display(str2); void delay_18B20(unsigned int i) while(i-); void ds1820rst() unsigned char x=0; DQ = 1; delay_18B20(4); DQ = 0; delay_18B20(100); DQ = 1; del
22、ay_18B20(40); uchar ds1820rd() unsigned char i=0; unsigned char dat = 0; for (i=8;i>0;i-) DQ = 0; dat>>=1; DQ = 1; if(DQ) dat|=0x80; delay_18B20(10); return(dat);void ds1820wr(uchar wdata) unsigned char i=0; for (i=8; i>0; i-) DQ = 0; DQ = wdata&0x01; delay_18B20(10); DQ = 1; wdata&g
23、t;>=1; read_temp() uchar a,b; ds1820rst(); ds1820wr(0xcc); ds1820wr(0x44); ds1820rst(); ds1820wr(0xcc); ds1820wr(0xbe); a=ds1820rd(); b=ds1820rd(); tvalue=b; tvalue<<=8; tvalue=tvalue|a; if(tvalue<0x0fff) tflag=0; else tvalue=tvalue+1; tflag=1; tvalue=tvalue*(6.25); return(tvalue); /*/vo
24、id writebsg(uchar add,uchar date) uchar bai,shi,ge; bai=date/100; shi=date%100/10; ge=date%10; wr_com(0x80+add);wr_dat(0x30+bai);wr_dat(0x30+shi);wr_dat(0x30+ge); void ds1820disp() uchar flagdat; disdata0=tvalue/10000+0x30; disdata1=tvalue%10000/1000+0x30; disdata2=tvalue%1000/100+0x30; disdata3=tvalue%100/10+0x30; disdata4=tvalue%10+0x30; if(tflag=0) flagdat=0x20; else flagdat=0x2d; if(disdata0=0x30) disdata0=0x20; if(disdata1=0x30) disdata1=0x20; wr_com(0x80+0x40+8); wr_dat(flagdat); wr_com(0x80+0x40+9); wr_dat(disdata0); wr_com(0x80+0x40+10); wr_dat(disdata1); wr_com(0x80+0x40+1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《火龙果栽培技术》课件
- 2024届河北省高三上学期期末考试历史试题(解析版)
- 《研究生前沿讲座》课件
- 单位管理制度集合大合集人事管理篇
- 单位管理制度合并选集【职工管理篇】十篇
- 单位管理制度分享汇编职工管理篇
- 单位管理制度呈现合集员工管理篇十篇
- 单位管理制度呈现大合集人员管理篇十篇
- (高频选择题60题)第3单元 中国特色社会主义道路(解析版)
- 阿拉斯加犬行业销售工作总结
- 数字孪生智慧水利建设方案
- 焊接工艺流程图
- 风机基础大体积混凝土浇筑专项施工方案
- 2023-2024学年北京市海淀区六年级数学第一学期期末达标检测试题含答案
- 中国古代文学史PPT完整PPT完整全套教学课件
- (完整版)人教版高中物理新旧教材知识对比
- 最好用高速公路机电维修手册
- 家庭管理量表(FaMM)
- 土默特右旗高源矿业有限责任公司高源煤矿2022年度矿山地质环境年度治理计划
- 【金属非金属矿山(地下矿山)安全管理人员】考题
- 神经外科手术的ERAS管理策略
评论
0/150
提交评论