基于AT89C51单片机和DS18B20温度传感器、LCD1602液晶显示的数字温度计 汇编程序及电路图
3个回答
展开全部
只是LCD1602的代码
;多功能51单片机开发板
;LCD1602测试程序
RS EQU P2.0
RW EQU P2.1
E EQU P2.2
LDATA EQU P1
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN: MOV R0,#00H ;R0:每行显示字符的个数
MOV R1,#80H ;寄存器地址
MOV A,#38H ;设置显示(16×2)
ACALL WIR
MOV A,#0EH ;开显示,显示光标,光标不闪烁
ACALL WIR
MOV A,#06H ;整屏显示不移动
ACALL WIR
MOV A,#01H ;显示清屏
ACALL WIR
MOV DPTR,#LCD
LOOP0: MOV A,R1 ;写地址
ACALL WIR
INC R1 ;地址加一
CJNE R1,#90H,TT ;判断第一行写完没有
MOV R1,#0C0H ;若写完,R1=第二行地址
TT: MOV A,R0
MOVC A,@A+DPTR
ACALL WDR
INC R0 ;计数R0加1
LCALL DELAY1
CJNE R0,#20H,LOOP0 ;R1不等于32则继续
RE: AJMP RE
WIR: ACALL BUSY ;写指令寄存器子程序
CLR E ;初始化
CLR RS
CLR RW
SETB E
MOV LDATA,A
CLR E
RET
WDR: ACALL BUSY ;写数据寄存器子程序
CLR E
SETB RS
CLR RW
SETB E
MOV LDATA,A
CLR E
RET
BUSY: PUSH ACC ;检测忙信号子程序
ISBUSY:CLR E
CLR RS
SETB RW
SETB E
MOV A,LDATA
JB ACC.7,ISBUSY ;ACC.7=1,说明忙
POP ACC
ACALL DELAY1
RET
DELAY1:MOV R6,#5 ;延时子程序
D0: MOV R7,#248
DJNZ R7,$
DJNZ R6,D0
RET
DELAY2:MOV R5,#2
D1: MOV R3,#245
D2: MOV R4,#245
DJNZ R4,$
DJNZ R3,D2
DJNZ R5,D1
RET
LCD:DB ' MCS-51 TEST '
DB ' Xu Rui Feng '
END
;多功能51单片机开发板
;LCD1602测试程序
RS EQU P2.0
RW EQU P2.1
E EQU P2.2
LDATA EQU P1
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN: MOV R0,#00H ;R0:每行显示字符的个数
MOV R1,#80H ;寄存器地址
MOV A,#38H ;设置显示(16×2)
ACALL WIR
MOV A,#0EH ;开显示,显示光标,光标不闪烁
ACALL WIR
MOV A,#06H ;整屏显示不移动
ACALL WIR
MOV A,#01H ;显示清屏
ACALL WIR
MOV DPTR,#LCD
LOOP0: MOV A,R1 ;写地址
ACALL WIR
INC R1 ;地址加一
CJNE R1,#90H,TT ;判断第一行写完没有
MOV R1,#0C0H ;若写完,R1=第二行地址
TT: MOV A,R0
MOVC A,@A+DPTR
ACALL WDR
INC R0 ;计数R0加1
LCALL DELAY1
CJNE R0,#20H,LOOP0 ;R1不等于32则继续
RE: AJMP RE
WIR: ACALL BUSY ;写指令寄存器子程序
CLR E ;初始化
CLR RS
CLR RW
SETB E
MOV LDATA,A
CLR E
RET
WDR: ACALL BUSY ;写数据寄存器子程序
CLR E
SETB RS
CLR RW
SETB E
MOV LDATA,A
CLR E
RET
BUSY: PUSH ACC ;检测忙信号子程序
ISBUSY:CLR E
CLR RS
SETB RW
SETB E
MOV A,LDATA
JB ACC.7,ISBUSY ;ACC.7=1,说明忙
POP ACC
ACALL DELAY1
RET
DELAY1:MOV R6,#5 ;延时子程序
D0: MOV R7,#248
DJNZ R7,$
DJNZ R6,D0
RET
DELAY2:MOV R5,#2
D1: MOV R3,#245
D2: MOV R4,#245
DJNZ R4,$
DJNZ R3,D2
DJNZ R5,D1
RET
LCD:DB ' MCS-51 TEST '
DB ' Xu Rui Feng '
END
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询