18B20数字温度显示系统Word文档下载推荐.docx
- 文档编号:5195918
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:7
- 大小:297.10KB
18B20数字温度显示系统Word文档下载推荐.docx
《18B20数字温度显示系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《18B20数字温度显示系统Word文档下载推荐.docx(7页珍藏版)》请在冰点文库上搜索。
(即插入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
MOVP0,42H
ORLP0,#50H
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)
SETBEA
SETBET0
SETBTR0
LOOP:
LCALLDSWD;
调用读出DS18B20温度程序
SJMPLOOP;
读出DS18B20温度程序
DSWD:
CLREA
LCALLRST
JNBF0,KEND;
如果没有应答,返回主程序
MOVR0,#0CCH
LCALLSEND_BYTE;
跳过ROM匹配
MOVR0,#44H;
发出温度转换命令
LCALLSEND_BYTE
MOVP1,#00001111B
MOV48H,#1;
廷时75ms以上准备读
SS2:
MOV49H,#255
SS1:
MOV4AH,#255
SS0:
DJNZ4AH,SS0
DJNZ49H,SS1
DJNZ48H,SS2
MOVP1,#11111100B
JNBF0,KEND
MOVR0,#0CCH;
MOVR0,#0BEH;
发出读温度命令
LCALLREAD_BYTE
MOVWDLSB,A
MOVWDMSB,A
LCALLTRANS12
KEND:
movp1,#01010101b
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
MOVB,#2
MULAB
MOVCA,@A+DPTR
MOV41H,A
INCA
MOV40H,A
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次,写一个字节
READ_BYTE:
读一个字节程序
READ1:
LCALLREAD
DJNZR5,READ1;
循环8次,读一个字节
MOVR0,A
复位程序,如果复位置位F0,没有就复位F0
RST:
SETBDAT
NOP
CLRDAT
MOVR6,#250;
主机发复位脉冲持续3μs×
200=600μs
DJNZR6,$
MOVR6,#50
SETBDAT;
主机释放总线,口线改为输入
MOVR6,#15
CALLCHCK;
调用应答检查程序
MOVR6,#60
SETBDAT
CHCK:
MOVC,DAT
JCRST0
SETBF0;
检测到信号,置位F0
SJMPCHCK0
RST0:
CLRF0;
未准备好F0复位
CHCK0:
RET
WRITE_0:
写0
MOVR6,#30
WRITE_1:
CLRDAT;
写1
读一位数据程序
READ:
SETBDAT;
先复位至少1US产生读起始信号
置位DAT准备接收数据
MOVC,DAT
MOVR6,#23
END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 18 B20 数字 温度 显示 系统