ds18b20汇编设计报告(附电路图和程序)Word文档下载推荐.doc

上传人:b****2 文档编号:14562494 上传时间:2022-10-23 格式:DOC 页数:18 大小:606KB
下载 相关 举报
ds18b20汇编设计报告(附电路图和程序)Word文档下载推荐.doc_第1页
第1页 / 共18页
ds18b20汇编设计报告(附电路图和程序)Word文档下载推荐.doc_第2页
第2页 / 共18页
ds18b20汇编设计报告(附电路图和程序)Word文档下载推荐.doc_第3页
第3页 / 共18页
ds18b20汇编设计报告(附电路图和程序)Word文档下载推荐.doc_第4页
第4页 / 共18页
ds18b20汇编设计报告(附电路图和程序)Word文档下载推荐.doc_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

ds18b20汇编设计报告(附电路图和程序)Word文档下载推荐.doc

《ds18b20汇编设计报告(附电路图和程序)Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《ds18b20汇编设计报告(附电路图和程序)Word文档下载推荐.doc(18页珍藏版)》请在冰豆网上搜索。

ds18b20汇编设计报告(附电路图和程序)Word文档下载推荐.doc

AT89C51

复位电路

电源电路

LED显示

DS18B20

温度传感器

图1DS18B20温度测温系统框图

3硬件设计

3.1单片机最小系统设计

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汇编语言程序源代码

27

DATA_BUS BIT P3.3

FLAG BIT 00H

TEMP_L EQU 30H

TEMP_H EQU 31H

TEMP_DP EQU 32H

TEMP_INT EQU 33H

TEMP_BAI EQU 34H

TEMP_SHI EQU 35H

TEMP_GE EQU 36H

DIS_BAI EQU 37H

DIS_SHI EQU 38H

DIS_GE EQU 39H

DIS_DP EQU 3AH

DIS_ADD EQU 3BH

ORG 0000H

AJMP START

ORG 0050H

START:

MOV SP, #40H

MAIN:

LCALL READ_TEMP

LCALL PROCESS

AJMP MAIN

;

读温度程序

READ_TEMP:

LCALL RESET_PULSE

MOV A, #0CCH

LCALL WRITE

MOV A, #44H

LCALL WRITE

LCALL DISPLAY

LCALL RESET_PULSE

MOV A, #0CCH

LCALL WRITE

MOV A, #0BEH

LCALL READ

RET

复位脉冲程序

RESET_PULSE:

RESET:

SETB DATA_BUS

NOP

CLR DATA_BUS

MOV R7, #255

DJNZ R7, $

SETB DATA_BUS

MOV R7, #30

DJNZ R7,$

JNB DATA_BUS, SETB_FLAG

CLR FLAG

AJMP NEXT

SETB_FLAG:

SETB FLAG

NEXT:

MOV R7, #120

JNB FLAG, RESET

RET

写命令

WRITE:

MOV R6, #8

CLR C

WRITING:

MOV R7, #5

RRC A

MOV DATA_BUS, C

MOV R7, #30H

DJNZ R6, WRITING

循环显示段位

DISPLAY:

MOV R4, #200

DIS_LOOP:

MOV A, DIS_DP

MOV P2, #0FFH

MOV P0, A

CLR P2.7

LCALL DELAY2MS

MOV A, DIS_GE

SETB P0.7

CLR P2.6

MOV A, DIS_SHI

CLR P2.5

MOV A, DIS_BAI

MOV A, TEMP_BAI

CJNE A, #0,SKIP

AJMP NEXTT

SKIP:

CLR P2.4

NEXTT:

DJNZ R4, DIS_LOOP

读命令

READ:

MOV R0, #TEMP_L

MOV R6, #8

MOV R5, #2

READING:

MOV C, DATA_BUS

DJNZ R6, READING

MOV @R0, A

INC R0

DJNZ R5, READING

数据处理

PROCESS:

M

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

当前位置:首页 > PPT模板 > 其它模板

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

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