版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-序号:22审定成绩:单片机原理与应用课程设计学生前班 级电子一班院 别物电学院专 业电子科学与技术学 号指导教师梅孝安设计时间目 录一、设计任务3二、设计方案3三、设计原理3四、设计总结7五、参考文献7一、设计任务 本设计主要是介绍了单片机控制下的温度检测系统,详细介绍了其硬件和软 件设计,并对其各功能模块做了详细介绍,其主要功能和指标如下:利用温度传感器DS18B20测量*一点环境温度测量围为-55125,精度为0.5用液晶进展实际温度值显示二、设计方案 按照系统设计功能的要求,确定系统由3个模块组成:主控制器,测温电路和显示电路。三、设计原理测温电路模块1、DS18B20的主要特性1.1
2、、适应电压围更宽,电压围:3.05.5V,在寄生电源方式下可由数 据线供电1.2、独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯1.3、 DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温1.4、DS18B20在使用中不需要任何外围元件,全部 传感元件及转换电路集成在形如一只三极管的集成电路1.5、温围55+125,在-10+85时精度为0.51.6、可编程 的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温1.7、在9位分辨率时最多在 93
3、.75ms把温度转换为数字,12位分辨率时最多在750ms把温度值转换为数字,速度更快1.8、测量结果直接输出数字温度信号,以一 线总线串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力1.9、负压特性:电源极性接反时,芯片不会因发热而烧毁, 但不能正常工作。2、DS18B20的外形和部构造DS18B20部构造主要由四局部组成:64位光刻ROM 、温度传感器、非挥发的温度报警触发器TH和TL、配置存放器。DS18B20的外形及管脚排列如下列图DS18B20引脚定义:(1)DQ为数字信号输入/输出端;(2)GND为电源地;(3)VDD为外接供电电源输入端在寄生电源接线方式时接地。
4、表1: DS18B20温度值格式表表2: DS18B20温度数据表3、DS18B20的测温原理DS18B20的读写时序和测温原理与DS1820一样,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s 减为750ms。 DS18B20测温原理如下列图所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振 随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度存放器被预置在55所对应的一个基数值。计数器1对 低温度系数晶振产生的脉冲信号进展减法计数,当计数器1的预置值减到0时,温度存放器的值将加1,计数器
5、1的预置将重新被装入,计数器1重 新开场对低温度系数晶振产生的脉冲信号进展计数,如此循环直到计数器2计数到0时,停顿温度存放器值的累加,此时温度存放器中的数值即 为所测温度。图3中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。4、DS18B20的各条ROM命令和接口程序设计4.1DS18B20控制方法DS18B20有六条控制命令,指 令 约定代码 操 作 说 明温度转换 44H 启动DS18B20进展温度转换读暂存器 BEH 读暂存器9字节二进制数字写暂存器 4EH 将数据写入暂存器的TH、TL字节复制暂存器 48H 把暂存器的TH、TL字节写到E2PROM中重
6、调E2PROM B8H 把E2PROM中的TH、TL字节写到暂存器TH、TL字节读电源供电方式 B4H 启动DS18B20发送电源供电方式的信号给主CPU4.2DS18B20的初始化1 先将数据线置高电平“1。2 延时该时间要求的不是很严格,但是尽可能的短一点3 数据线拉到低电平“0。4 延时750微秒该时间的时间围可以从480到960微秒。5 数据线拉到高电平“1。6 延时等待如果初始化成功则在15到60微秒时间之产生一个由DS18B20所返回的低电平“0。据该状态可以来确定它的存在,但是应注意不能无限的进展等待,不然会使程序进入死循环,所以要进展超时控制。7 假设CPU读到了数据线上的低电
7、平“0后,还要做延时,其延时的时间从发出的高电平算起第5步的时间算起最少要480微秒。8 将数据线再次拉高到高电平“1后完毕。4.3DS18B20的写操作1 数据线先置低电平“0。2 延时确定的时间为15微秒。3 按从低位到高位的顺序发送字节一次只发送一位。4 延时时间为45微秒。5 将数据线拉到高电平。6 重复上1到6的操作直到所有的字节全部发送完为止。7 最后将数据线拉高。4.4DS18B20的读操作1将数据线拉高“1。2延时2微秒。3将数据线拉低“0。4延时3微秒。5将数据线拉高“1。6延时5微秒。7读数据线的状态得到1个状态位,并进展数据处理。8延时60微秒。5、系统硬件电路的设计 控
8、制单片机采用AT89C51,温度传感器使用DS18B20,用4位共阳LED数码管以动态扫描法实现温度显示。主控制器模块 主控制器选用Atmel公司89系列的AT89C51。AT89C51单片机有4KB的Flash存储器,可以在线下载程序,方便在系统的开发过程中进展程序的调试。显示电路模块四、设计总结整个设计通过了软件和硬件上的调试。加深了对单排机功能引脚的了解,我想这对于自己以后的学习和工作都会有很大的帮助。在这次设计中遇到了很多实际性的问题,在实际设计中才发现,书本上理论性的东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。一切问题必须要靠
9、自己一点一滴的解决,而在解决的过程当中你会发现自己在飞速的提升。五、参考文献 1夏继强.单片机应用设计培训教程实践篇M.:航空航天大,2021.2何立明.MCS-51单片机应用系统设计系统配置与接口技术M.:航空航天大学,2003.3广弟,朱月秀,王秀山.单片机根底M.:航空航天大学,2001.74楚武 曾屹. 单片机原理与应用第2版M. 中南大学,2021c语言程序清单*include*include*define uint unsigned int*define uchar unsigned charsbit RS=P20;sbit RW=P21;sbit EN=P22;void Dela
10、yms(uint ms) uchar *; while(ms-) for(*=0;*120;*+);uchar Busy_Check() uchar LCD_Status; RS=0;RW=1;EN=1;Delayms(1); LCD_Status=P0;EN=0;return LCD_Status;void Write_LCD_mand(uchar cmd) while(Busy_Check()&0*80)=0*80); RS=0;RW=0;EN=0; P0=cmd;EN=1;Delayms(1);EN=0;void Write_LCD_Data(uchar dat) while(Busy_
11、Check()&0*80)=0*80); RS=1;RW=0;EN=0; P0=dat;EN=1;Delayms(1);EN=0;void Initialize_LCD() Write_LCD_mand(0*38);Delayms(1); Write_LCD_mand(0*01);Delayms(1); Write_LCD_mand(0*06);Delayms(1); Write_LCD_mand(0*0c);Delayms(1);void ShowString(uchar *,uchar y,uchar *str) uchar i=0; if(y=0) Write_LCD_mand(0*80
12、|*); if(y=1) Write_LCD_mand(0*80|*); for(i=0;i16;i+) Write_LCD_Data(stri); sbit DQ=P33;void Delay(uint *)while(-*);uchar ReadOneByte() uchar i,dat=0;DQ=1;_nop_(); for(i=0;i=1; DQ=1;_nop_();_nop_(); if(DQ)dat|=0*80;Delay(30);DQ=1; return dat;void WriteOneByte(uchar dat) uchar i; for(i=0;i=1; uchar ln
13、it_DS18B20() uchar status;DQ=1;Delay(8); DQ=0;Delay(90);DQ=1;Delay(8); status=DQ;Delay(100);DQ=1; return status;int Get_Temperature() int t;float tt; uchar a,b,fh; if(lnit_DS18B20()=1) t=2000; else WriteOneByte(0*cc); WriteOneByte(0*44); lnit_DS18B20(); WriteOneByte(0*cc); WriteOneByte(0*be); a=Read
14、OneByte(); b=ReadOneByte(); Delay(100);fh=b&0*80; if(fh!=0) b=b;a=a; tt=(b*256)+a+1)*0.0625;t=(int)(tt*10)*(-1); else tt=(b*256)+a)*0.0625;t=(int)(tt*10); return t;void to_str(int *,uchar *p) uchar ws4;int t; if(*0)p0=-;t=*(-1);elsep0= ;t=*; ws3=t/1000;ws2=t%1000/100;ws1=t%100/10;ws0=t%10; p1=ws3+0;p2=ws2+0;p3=ws1+0; p4=.;p5=ws0+0;p6=C; if(ws3=0)p1= ; if(ws3=0&ws2=0)p2= ;uchar code *ingming=pengqian;uchar code *uhao=22;void main() int t; uchar code str116= Current Temp: ; uchar temp16= ;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中华女子学院《传统及现代手工艺制作》2023-2024学年第一学期期末试卷
- 郑州信息工程职业学院《工业控制网络》2023-2024学年第一学期期末试卷
- 长沙航空职业技术学院《数字电路设计及实践》2023-2024学年第一学期期末试卷
- 云南国防工业职业技术学院《品牌形象专项设计一》2023-2024学年第一学期期末试卷
- 新型材料在电池储能中的应用
- 共建文化 发展未来模板
- 市场营销领导力实践述职
- 业务操作-房地产经纪人《业务操作》模拟试卷4
- 房地产交易制度政策-《房地产基本制度与政策》预测试卷4
- 农学成果答辩报告模板
- 物业项目服务进度保证措施
- (隐蔽)工程现场收方计量记录表
- DB22T 5005-2018 注塑夹芯复合保温砌块自保温墙体工程技术标准
- 医院手术室医院感染管理质量督查评分表
- 称量与天平培训试题及答案
- 超全的超滤与纳滤概述、基本理论和应用
- 2020年医师定期考核试题与答案(公卫专业)
- 2022年中国育龄女性生殖健康研究报告
- 各种静脉置管固定方法
- 消防报审验收程序及表格
- 教育金规划ppt课件
评论
0/150
提交评论