📄 tempreature_led.asm
字号:
ORG 0000H
SJMP MAIN
ORG 0030H
MAIN:MOV DPTR,#TABLE
DISPLAY:ACALL CMU ;调用温度子程序
SJMP DISPLAY
CMU:ACALL RESET ;复位
MOV A,#4EH ;写存储器命令
ACALL WRITE
MOV A,#00H ;写0字节数据
ACALL WRITE
MOV A,#00H ;写1字节数据
ACALL WRITE
MOV A,#00H ;写2字节数据
ACALL WRITE
MOV A,#00H ;写3字节数据
ACALL WRITE
MOV A,#7FH ;给配置寄存器赋值
ACALL WRITE
;ACALL DELAY500US
ACALL RESET ;复位
MOV A,#44H ;启动温度转换
ACALL WRITE
;ACALL DELAY500US
;ACALL DELAY500US
;ACALL DELAY500US
;ACALL DELAY500US
;ACALL TIMER1
;ACALL DELAY500US
ACALL RESET ;复位
MOV A,#0BEH ;读存储器命令
ACALL WRITE
ACALL READ ;数据采集
MOV A,30H ;数据处理及显示
SWAP A
ANL A,#0FH
MOV 32H,A
MOV A,31H
ANL A,#0F0H
ORL A,32H
MOV B,#100
DIV AB
MOVC A,@A+DPTR
MOV P0,A
MOV P2,#08H
ACALL DELAY500US
MOV A,B
MOV B,#10
DIV AB
MOVC A,@A+DPTR
MOV P0,A
MOV P2,#04
ACALL DELAY500US
XCH A,B
MOVC A,@A+DPTR
ORL A,#80H
MOV P0,A
MOV P2,#02
ACALL DELAY500US
MOV A,30H
ANL A,#0FH
MOV B,#10
DIV AB
MOVC A,@A+DPTR
MOV P0,A
MOV P2,#01H
ACALL DELAY500US
MOV P2,#0
RET
TIMER1:MOV R4,#03H ;查询子程序判断转换是否结束
TIM1:CLR P1.0
NOP
NOP
NOP
NOP
SETB P1.0
JB P1.0,$
NOP
NOP
JNB P1.0,$
MOV R5,#1EH
DJNZ R5,$
DJNZ R4,TIM1
MOV R4,#08H
TIM2:CLR P1.0
NOP
NOP
SETB P1.0
JNB P1.0,$
MOV R5,#1EH
DJNZ R5,$
JNB P1.0,$
DJNZ R4,TIM2
RET
RESET:CLR P1.0 ;复位程序
ACALL DELAY500US
SETB P1.0
JB P1.0,$
ACALL DELAY300US
MOV A,#0CCH
ACALL WRITE
RET
WRITE:MOV 64H,#8 ;写命令
W1:CLR C
RRC A
CLR P1.0
NOP
NOP
NOP
NOP
MOV P1.0,C
MOV 65H,#3BH
DJNZ 65H,$
SETB P1.0
DJNZ 64H,W1
NOP
RET
READ:MOV 66H,#8 ;读命令
MOV R0,#30H
MOV 68H,#2
RE1:SETB P1.0
NOP
NOP
CLR P1.0
NOP
NOP
NOP
NOP
SETB P1.0
MOV 69H,#10H
DJNZ 69H,$
MOV C,P1.0
MOV 69H,#10H
DJNZ 69H,$
RRC A
DJNZ 66H,RE1
MOV @R0,A
INC R0
MOV 66H,#4
DJNZ 68H,RE1
RET
READ_ROM:MOV 6AH,#8 ;读rom
MOV R0,#33H
MOV 6BH,#8
RE1_ROM:SETB P1.0
NOP
NOP
CLR P1.0
NOP
NOP
NOP
NOP
SETB P1.0
MOV 69H,#10
DJNZ 69H,$
MOV C,P1.0
RRC A
DJNZ 6AH,RE1_ROM
MOV @R0,A
INC R0
MOV 6AH,#8
DJNZ 6BH,RE1
RET
DELAY500US:MOV 60H,#5
DEL1:MOV 61H,#100
DJNZ 61H,$
DJNZ 60H,DEL1
RET
DELAY300US:MOV 62H,#3
DEL2:MOV 63H,#100
DJNZ 63H,$
DJNZ 62H,DEL2
RET
TABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -