设计报告Word下载.docx

上传人:b****3 文档编号:15100458 上传时间:2022-10-27 格式:DOCX 页数:22 大小:337.71KB
下载 相关 举报
设计报告Word下载.docx_第1页
第1页 / 共22页
设计报告Word下载.docx_第2页
第2页 / 共22页
设计报告Word下载.docx_第3页
第3页 / 共22页
设计报告Word下载.docx_第4页
第4页 / 共22页
设计报告Word下载.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

设计报告Word下载.docx

《设计报告Word下载.docx》由会员分享,可在线阅读,更多相关《设计报告Word下载.docx(22页珍藏版)》请在冰豆网上搜索。

设计报告Word下载.docx

3.1.1电源电路

图2电源电路

3.1.2振荡电路与复位电路

图3振荡电路图4复位电路

3.2DS18B20与单片机的接口电路

图5DS18B20与单片机的接口电路

 

3.3PROTEUS仿真电路图

图6PROTEUS仿真电路图

4软件设计

系统程序主要包括主程序、读取温度子程序、数据转换子程序、显示数据子程序等。

4.1程序流程

4.1.1主程序流程图

主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每1s进行一次。

这样可以在一秒之内测量一次被测温度,其程序流程见图7所示。

图7主程序流程图

4.1.2各子程序流程图

1、初始化程序

所有操作都必须由初始化脉冲开始,波形如图,单片机先输出一个480~960us低电平到DQ引脚,再将DQ引脚置高电平,过15~60us后检测DQ引脚状态,若为低电平则DS18B20工作正常,否则初始化失败,不能正常测量温度。

2、读取温度子程序

读取温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。

主要包括以下三个命令:

(1)写暂存器命令【4EH】

这个命令为由TH寄存器开始向DS18B20暂存器写入数据,4EH命令后的3字节数据将被保存到暂存器的地址2、3、4(TH、TL、CONFIG)三个字节。

所有数据必须在复位脉冲前写完。

即如果只想写一个字节的数据到地址2,可按如下流程:

1、初始化;

2、写0CCH,跳过ROM检测;

3、写4EH;

4、写1字节数据;

5、复位,即向DQ输出480~960us低电平

(2)读暂存命令【BEH】

这个命令由字节0读取9个暂存器内容,如果不需要读取所有暂存内容,可随时输出复位脉冲终止读取过程

(3)转换温度命令【44H】

这个命令启动温度转换过程。

转换温度时DS18B20保持空闲状态,此时如果单片机发出读命令,DS18B20将输出0直到转换完成,转换完成后将输出1。

图8读取温度子程序

3、写流程图

写时隙:

写时隙由DQ引脚的下降沿引起。

18B20有写1和写0两种写时隙。

所有写时隙必须持续至少60μs,两个时隙之间至少有1μs的恢复时间。

DS18B20在DQ下降沿后15μs~60μs间采样DQ引脚,若此时DQ为高电平,则写入一位1,若此时DQ为低电平,则写入一位0,如图9所示。

所以,若想写入1,则单片机应先将DQ置低电平,15us后再将DQ置高电平,持续45μs;

若要写入0,则将DQ置低电平,持续60μs。

图9写流程图

4、读流程图

读时隙:

读时隙由DQ下降沿引起,持续至少1μs的低电平后释放总线(DQ置1)DS18B20的输出数据将在下降沿15μs后输出,此时单片机可读取1位数据。

读时隙结束时要将DQ置1。

所有读时隙必须持续至少60μs,两个时隙之间至少有1μs的恢复时间。

图10读流程图

4.4汇编语言程序源代码

DATA_BUSBITP3.3

FLAGBIT00H

TEMP_LEQU30H

TEMP_HEQU31H

TEMP_DPEQU32H

TEMP_INTEQU33H

TEMP_BAIEQU34H

TEMP_SHIEQU35H

TEMP_GEEQU36H

DIS_BAIEQU37H

DIS_SHIEQU38H

DIS_GEEQU39H

DIS_DPEQU3AH

DIS_ADDEQU3BH

ORG0000H

AJMPSTART

ORG0050H

START:

MOVSP,#40H

MAIN:

LCALLREAD_TEMP

LCALLPROCESS

AJMPMAIN

;

读温度程序

READ_TEMP:

LCALLRESET_PULSE

MOVA,#0CCHLCALLWRITE

MOVA,#44H

LCALLWRITE

LCALLDISPLAY

LCALLRESET_PULSE

MOVA,#0CCH

LCALLWRITE

MOVA,#0BEH

LCALLREAD

RET

复位脉冲程序

RESET_PULSE:

RESET:

SETBDATA_BUS

NOP

CLRDATA_BUS

MOVR7,#255

DJNZR7,$

SETBDATA_BUS

MOVR7,#30

DJNZR7,$

JNBDATA_BUS,SETB_FLAG

CLRFLAG

AJMPNEXT

SETB_FLAG:

SETBFLAG

NEXT:

MOVR7,#120

JNBFLAG,RESET

写命令

WRITE:

MOVR6,#8

CLRC

WRITING:

MOVR7,#5

RRCA

MOVDATA_BUS,C

MOVR7,#30H

DJNZR6,WRITING

循环显示段位

DISPLAY:

MOVR4,#200

DIS_LOOP:

MOVA,DIS_DP

MOVP2,#0FFH

MOVP0,A

CLRP2.7

LCALLDELAY2MS

MOVA,DIS_GE

SETBP0.7

CLRP2.6

MOVA,DIS_SHI

CLRP2.5

MOVA,DIS_BAI

MOVA,TEMP_BAI

CJNEA,#0,SKIP

AJMPNEXTT

SKIP:

CLRP2.4

NEXTT:

DJNZR4,DIS_LOOP

读命令

READ:

MOVR0,#TEMP_L

MOVR6,#8

MOVR5,#2

READING:

MOVC,DATA_BUS

DJNZR6,READING

MOV@R0,A

INCR0

DJNZR5,READING

数据处理

PROCESS:

MOVR7,TEMP_L

MOVA,#0FH

ANLA,R7

MOVTEMP_DP,A

MOVA,#0F0H

SWAPA

MOVTEMP_L,A

MOVR7,TEMP_H

ORLA,TEMP_L

MOVB,#64H

DIVAB

MOVTEMP_BAI,A

MOVA,#0AH

XCHA,B

MOVTEMP_SHI,A

MOVTEMP_GE,B

MOVA,TEMP_DP

MOVDPTR,#TABLE_DP

MOVCA,@A+DPTR

MOVDPTR,#TABLE_INTER

MOVCA,@A+DPTR

MOVDIS_DP,A

MOVA,TEMP_GE

MOVDPTR,#TABLE_INTER

MOVDIS_GE,A

MOVA,TEMP_SHI

MOVDIS_SHI,A

MOVDIS_BAI,A

DELAY2MS:

MOVR6,#3

LOOP3:

MOVR5,#250

DJNZR5,$

DJNZR6,LOOP3

TABLE_DP:

DB00H,01H,01H,02H,03H,03H,04H,04H,05H,06H

DB06H,07H,08H,08H,09H,09H

TABLE_INTER:

DB03FH,006H,05BH,04FH,066H

DB06DH,07DH,07H,07FH,06FH

END

5DS18B20简单介绍

DALLAS最新单线数字温度传感器DS18B20是一种新型的“一线器件”,其体积更小、更适用于多种场合、且适用电压更宽、更经济。

DALLAS半导体公司的数字化温度传感器DS18B20是世界上第一片支持“一线总线”接口的温度传感器。

温度测量范围为-5

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1