综合实训1 实时温度测量2课件_第1页
综合实训1 实时温度测量2课件_第2页
综合实训1 实时温度测量2课件_第3页
综合实训1 实时温度测量2课件_第4页
综合实训1 实时温度测量2课件_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、综合实训 基于AT89C51单片机的实时温度测量系统的设计实时温度测量系统的设计一、实训目的 1、通过测量现场温度,了解单片机的基本工作过程。 2、掌握单片机应用系统的基本组成及功能。 3、更加深入地熟悉单片机内部的结构以及各部分工作过程。 4、熟悉单片机的系统开发方法与步骤。二、实训器材 计算机、编程器、单片机开发系统、耗材和焊接工具实时温度测量系统的设计三、实训任务分解 1、LED数码管动态显示电路的设计及仿真 2、数字温度传感器与单片机接口硬件设计和软件设计 3、实时温度测量系统的仿真 4、实时温度测量系统的制作 5、实时温度测量系统的检测与总结(一)、数字温度传感器DS18B20DS1

2、8B20数字温度传感器是美国Dallas半导体公司生产的总线式智能数字温度传感器。功能和特点:独特的单线接口方式,它将地址线、数据线、控制线合为一根,在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。测温范围55125,固有测温分辨率0.5。支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现多点测温。工作电源:35V/DC数字温度传感器DS18B20:功能特点(一)、数字温度传感器DS18B20功能和特点:在使用中不需要任何外围元件。测量结果以912位数字量方式串行传送。用户可自设定非易失性的报警上下限值,报警搜索命令可以识别哪片DS18B20温度超限。

3、序号名称引脚功能描述1GND地信号。2DQ数据输入/输出引脚。3VDD可选择的VDD引脚。一般接3V-5V数字温度传感器DS18B20:功能特点四、硬件设计实时温度测量系统的设计(三)、温度传感器DS18B20通信协议和时序图DS18B20是可编程器件,它是利用一根I/O口线读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20采用一根数据线实现数据双向传输的1-Wire单总线协议方式,该协议有三种通信时序,即初始化时序、读时序和写时序。数字温度传感器DS18B20:时序图 复位要求:主CPU将数据线下拉480960微秒,然后释放,DS18B20收到信号后等待1660微秒左右,后发出

4、60240微秒的存在低脉冲,主CPU收到此信号表示复位成功。INIT_1820: SETB DQ NOP CLR DQ ;主机发出延时642微秒的复位低脉冲 MOV R1,#3TSR1: MOV R0,#107 DJNZ R0,$ DJNZ R1,TSR1;下拉642微秒 SETB DQ ;然后拉高数据线 NOP NOP NOP ;等待3微秒 MOV R0,#25H;(#37D)TSR2: JNB DQ,TSR3 ;4微秒查询一次,0表示收到信号转 DJNZ R0,TSR2 ;等待148微秒 LJMP TSR4TSR3: SETB FLAG1 ;置标志位,表示DS1820存在 LJMP TSR

5、5TSR4: CLR FLAG1 ;清标志位,表示DS1820不存在 LJMP TSR7TSR5: MOV R0,#117TSR6: DJNZ R0,TSR6 ;发237微秒的存在低脉冲TSR7: SETB DQ RET 数字温度传感器DS18B20:初始化时序2、执行某一指令(单片机向测量元件发信号,写入)-写时序(1)将指令的约定代码输送到累加器A;(2)将A中的代码按位(低位到高位)写到DS18B20中。 在写数据时,写0时单总线至少被拉低60s,写1时, 15s内就得释放总线。数字温度传感器DS18B20:写时序2、写时序:在写数据时,写0时单总线至少被拉低60s,写1时, 15s内就

6、得释放总线。WRITE_1820: MOV R2,#8;1字节8位 CLR CWR1: CLR DQ MOV R3,#6 DJNZ R3,$;延时13s RRC A MOV DQ,C MOV R3,#23 DJNZ R3,$;延时56s SETB DQ NOP DJNZ R2,WR1 SETB DQ RETMOVA,#0CCH;0CCH意思为DS18B20已经被检测到!;跳过ROM匹配 LCALL WRITE_1820数字温度传感器DS18B20:写时序3、读时序要求 (1)发出启动读时序脉冲,即在DQ总线保持高电平1s以上的情况下,将DQ总线设置为低电平,并保持1s以上; (2)将其设置为高

7、电平。启动后等待15s,以便DS18B20能可靠地将测试结果送至DQ总线上; (3)单片机读取DQ总线上的结果。单片机要在发出启动脉冲后的60s时间之内,完成取数操作。读完每位数据后至少要保持1s以上的恢复时间。数字温度传感器DS18B20:读时序3、读时序:READ_18200:MOV R4,#2 MOV R1,#29HRE00:MOV R2,#8;数据一共有8位RE01:CLR C SETB DQ NOP NOP CLR DQ NOP NOP NOP;启动脉冲 SETB DQ MOV R3,#9RE10:DJNZ R3,RE10;延时15s以上 MOV C,DQ ;采样数据 MOV R3,

8、#23RE20:DJNZ R3,RE20 RRC A;移进新的位 DJNZ R2,RE01 MOV R1,A;数据送到29H(28H)单元 DEC R1;指向下一个28H单元 DJNZ R4,RE00 RET将温度数据读到单片机的某二个单元(低位29H,高位28H)中。数字温度传感器DS18B20:读时序18B20复位写时序:单片机发命令给18B20读时序:18B20将温度值送给单片机读取温度值子程序开始初始值设置读取温度值显示温度值结束单片机处理数据:温度值转换实时温度测量系统的设计五、软件设计 流程图五、软件设计;单片机内存分配申明!ORG0000HTEMPER_LEQU29H;用于保存读

9、出温度的低8位TEMPER_HEQU28H;用于保存读出温度的高8位FLAG1EQU38H;是否检测到DS18B20标志位A_BITEQU20H;数码管个位数存放内存位置B_BITEQU21H;数码管十位数存放内存位置TJEQU70H;闪灯标志位DQEQUP2.7;DQ为DS18B20数据位实时温度测量系统的设计五、软件设计MAIN1:LCALL GET_TEMPER;调用读温度子程序GET_TEMPER:SETBDQ;读出转换后的温度值LCALLINIT_1820;先复位DS18B20JBFLAG1,TSS2RET;判断DS1820是否存在?若DS18B20不存在则返回;存在,调用TSS2进

10、行温度值的读取。INIT_1820:SETBDQ;这是DS18B20复位初始化子程序 。TSR6:DJNZR0,TSR6;时序要求延时一段时间TSR7:SETBDQRET实时温度测量系统的设计五、软件设计;调用温度值读取子程序TSS2:MOVA,#0CCH;DS18B20已经被检测到! 跳过ROM匹配LCALLWRITE_1820;命令字写入MOVA,#44H;发出温度转换命令LCALLWRITE_1820LCALLDISPLAY;这里通过调用显示子程序实现延时一段时间, ;等待AD转换结束,2位的话750微秒LCALLINIT_1820;准备读温度前先复位MOVA,#0CCH;跳过ROM匹配

11、LCALLWRITE_1820MOVA,#0BEH;发出读温度命令LCALLWRITE_1820LCALLREAD_18200;将读出的温度数据保存到35H/36HRET实时温度测量系统的设计五、软件设计MAIN1:LCALL GET_TEMPER;调用读温度子程序 温度测量值转换;置闪光标志MOVA,TJ ;TJ为闪光标注位CJNEA,#0,MAIN2; TJ不为0,去判定是否为1CLR P1.7 ; TJ为0表示正在读数据,工作指示灯闪烁MOVTJ,#1 ;TJ改为1 AJMP MAIN3 ;转数码管显示MAIN2:CJNEA,#1,MAIN3; TJ不为1,转数码管显示 SETBP1.7

12、 ; TJ为1表示不工作工作,工作指示灯不闪烁 MOVTJ,#0 ; TJ改为0,转数码管显示AIN3:LCALLDISPLAY;调用数码管显示子程序AJMPMAIN1实时温度测量系统的设计五、软件设计;温度显示子程序DISPLAY:MOVA,29H;将29H中的十六进制数转换成10进制MOVB,#10;10进制/10=10进制DIVAB;显示子程序MOVB_BIT,A;十位在AMOVA_BIT,B;个位在BMOVDPTR,#NUMTAB;指定查表启始地址MOVR0,#4DPL1:MOVR1,#250;显示1000次(250X4)DPLOP:MOVA,A_BIT;取个位数MOVCA,A+DPT

13、R;查个位数的7段代码MOVP0,A;送出个位的7段代码CLRP2.1;开个位显示ACALLD1MS;显示1MSSETBP2.1;关个位显示实时温度测量系统的设计五、软件设计;温度显示子程序MOVP0,#80H;送出。的代码CLRP2.2ACALLD1MS ;显示1MSSETBP2.2DJNZR1,DPLOP;100次没完循环DJNZR0,DPL1;4个100次没完循环RET实时温度测量系统的设计五、软件设计;延时子程序D1MS:MOVR6,#2LP:MOVR7,#250;1MS延时DJNZR7,$DJNZR6,LPRETDELAY10:MOVR6,#20;10MS延时D3:MOVR5,#255DJNZR5,$DJNZR6,D3RET实时温度测量系统的设计五、软件设计;LED数码管对应的代码表NUMTAB:DB3FH,06H,5BH,4FHDB66H,6DH,7

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论