18B20数字温度显示系统.docx

上传人:b****8 文档编号:28172172 上传时间:2023-07-09 格式:DOCX 页数:8 大小:298.81KB
下载 相关 举报
18B20数字温度显示系统.docx_第1页
第1页 / 共8页
18B20数字温度显示系统.docx_第2页
第2页 / 共8页
18B20数字温度显示系统.docx_第3页
第3页 / 共8页
18B20数字温度显示系统.docx_第4页
第4页 / 共8页
18B20数字温度显示系统.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

18B20数字温度显示系统.docx

《18B20数字温度显示系统.docx》由会员分享,可在线阅读,更多相关《18B20数字温度显示系统.docx(8页珍藏版)》请在冰豆网上搜索。

18B20数字温度显示系统.docx

18B20数字温度显示系统

1.1系统简介

4.3ISP引脚连接

端口按键判断

红外线遥控

555硬件振荡器

1.2模块接口定义

5.1仿真概述

矩阵按键识别技术

汉字显示屏

PS2键盘实验

2.1软件安装 

5.2KEIL软件指南

74LS14反向器

1602液晶显示屏

SD卡实验

2.2软件界面介绍 

51引脚说明

74LS138译码器

8155试验

485通信实验 

2.3软件操作

八路跑马灯

74LS164串入并出

24C02储存

DS1302实时时钟

3.1USB驱动安装

继电器控制

74LS165并入串出

步进电机

产生hex文件

3.2 特别usb安装

8路拨动开关

dac0832应用

93c46演示

常见问题解答

4.1ISP介绍 

数码管静态扫描 

模拟/数字转换器

串行双向通信

系统配置指南

4.2下载头之插头定义

数码管动态扫描

小喇叭警报器

18B20温度显示

购买方式

实验2218B20数字温度显示系统

DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式;温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃。

   主机控制DS18B20完成温度转换必须经过三个步骤:

初始化、ROM操作指令、存储器操作指令。

必须先启动DS18B20开始转换,再读出温度转换值。

本程序仅挂接一个芯片,使用默认的12位转换精度,外接供电电源,读取的温度值高位字节送WDMSB单元,低位字节送WDLSB单元,再按照温度值字节的表示格式及其符号位,经过简单的变换即可得到实际温度值.

相关原理:

                                 18B20封装引脚:

       

程序运行的照片:

接线方法:

1、用一根单条数据线把18B20的JP39接到CPU部份的JP53(P3口)的P3.0

2、用一条4PIN的排线,把JP19接到P0口的JP51的P0.0,P0.1,P0.2,0.3四个端口。

(即插入P0口的上半部份)。

3、用一条8PIN的排线。

把数码管译码部份的输出端JP88,接到数码管部份的数据口JP5

4、用一条4PIN的排线,把JP22接到P0口的JP51的P0.4,P0.5,P0.6,07四个端口。

(即插入P0口的下半部份)。

5、用一条8PIN的排线。

把38译码部份的输出端JP25,接到数码管部份的显示位口JP8。

  在本系统中,为了简化程序,采用了74LS47(数码管译码)74LS138(三八译码)。

即P0口的P0.0,P0.1,P0.2,P0.3四个端口接到74LS47进行硬件数码管译码,然后输出到数码管部分的数据口JP5。

P0.4,P0.5,P.0.6三个端口接到74LS138进行38译码,然后输出到数码管的位控制JP8.

系统综合原理图:

汇编语言参考程序:

;定时显示子程序,采用循环扫描方式

;显示缓冲区40H~47H

ORG0080H

TIMER0:

MOVP0,40H;最后一位值送p0

ORLP0,#70H;点亮最后一位

CALLT1MS

MOVP0,41H

ORLP0,#60H

CALLT1MS

MOVP0,42H

ORLP0,#50H

CALLT1MS

MOVP0,43H

ORLP0,#40H

MOVTH0,#LOW(65536-10000);定时器10MS中断

MOVTL0,#HIGH(65536-10000)

RETI

T1MS:

movr5,#00h;延时子程序

tt:

movr6,#9

djnzr6,$

djnzr5,tt

ret

;*********************************************************

;主程序:

MAIN:

MOVSP,#60H

MOVP2,#0FFH

MOVR2,#8

MOVR0,#40H;

OVER:

MOV@R0,#00H

INCR0

DJNZR2,OVER

MOVTMOD,#01H

MOVTH0,#LOW(65536-10000)

MOVTL0,#HIGH(65536-10000)

SETBEA

SETBET0

SETBTR0

LOOP:

LCALLDSWD;调用读出DS18B20温度程序

SJMPLOOP;读出DS18B20温度程序

DSWD:

CLREA

LCALLRST

JNBF0,KEND;如果没有应答,返回主程序

MOVR0,#0CCH

LCALLSEND_BYTE;跳过ROM匹配

MOVR0,#44H;发出温度转换命令

LCALLSEND_BYTE

SETBEA

MOVP1,#00001111B

MOV48H,#1;廷时75ms以上准备读

SS2:

MOV49H,#255

SS1:

MOV4AH,#255

SS0:

DJNZ4AH,SS0

DJNZ49H,SS1

DJNZ48H,SS2

MOVP1,#11111100B

CLREA

LCALLRST

JNBF0,KEND

MOVR0,#0CCH;跳过ROM匹配

LCALLSEND_BYTE

MOVR0,#0BEH;发出读温度命令

LCALLSEND_BYTE

LCALLREAD_BYTE

MOVWDLSB,A

LCALLREAD_BYTE

MOVWDMSB,A

LCALLTRANS12

KEND:

movp1,#01010101b

SETBEA

RET

;**********************************************************

;温度转换程序:

精确到:

0.06;

TRANS12:

MOVA,30H

ANLA,#0F0H

MOV3AH,A

MOVA,31H

ANLA,#0FH

ORLA,3AH

SWAPA

MOVB,#10

DIVAB

MOV43H,A

MOV42H,B;

MOVDPTR,#TABB

MOVA,30H

ANLA,#0FH

MOVB,#2

MULAB

MOVCA,@A+DPTR

MOV41H,A

MOVA,30H

ANLA,#0FH

MOVB,#2

MULAB

INCA

MOVCA,@A+DPTR

MOV40H,A

RET

TABB:

DB0,0,0,6,1,2,1,8,2,5,3,1,3,7,4,3,5,0

DB5,6,6,2,6,8,7,5,8,1,8,7,9,3

;*************************************************

SEND_BYTE:

;发送一个字节程序

MOVA,R0

MOVR5,#8

SEN3:

CLRC

RRCA

JCSEN1

LCALLWRITE_0

SJMPSEN2

SEN1:

LCALLWRITE_1

SEN2:

DJNZR5,SEN3;循环8次,写一个字节

RET

READ_BYTE:

;读一个字节程序

MOVR5,#8

READ1:

LCALLREAD

RRCA

DJNZR5,READ1;循环8次,读一个字节

MOVR0,A

RET

;复位程序,如果复位置位F0,没有就复位F0

RST:

SETBDAT

NOP

NOP

CLRDAT

MOVR6,#250;主机发复位脉冲持续3μs×200=600μs

DJNZR6,$

MOVR6,#50

DJNZR6,$

SETBDAT;主机释放总线,口线改为输入

MOVR6,#15

DJNZR6,$

CALLCHCK;调用应答检查程序

MOVR6,#60

DJNZR6,$

SETBDAT

RET

CHCK:

MOVC,DAT

JCRST0

SETBF0;检测到信号,置位F0

SJMPCHCK0

RST0:

CLRF0;未准备好F0复位

CHCK0:

RET

WRITE_0:

;写0

CLRDAT

MOVR6,#30

DJNZR6,$

SETBDAT

RET

WRITE_1:

CLRDAT;写1

NOP

NOP

NOP

NOP

NOP

SETBDAT

MOVR6,#30

DJNZR6,$

RET

;读一位数据程序

READ:

SETBDAT;先复位至少1US产生读起始信号

NOP

NOP

CLRDAT

NOP

NOP

SETBDAT;置位DAT准备接收数据

NOP

NOP

NOP

NOP

NOP

NOP

NOP

MOVC,DAT

MOVR6,#23

DJNZR6,$

RET

END

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

当前位置:首页 > 高中教育 > 高中教育

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

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