单片机lcd1602显示(汇编)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

利用P1口与行列式键盘接口,编写键盘扫描程序,把按键输入的键码,显示在LCD液晶显示器上。

ORG 0000H

JMP MAIN

RS EQU P1^0

RW EQU P1^1

E EQU P1^5

MAIN:MOV R7,#30H

MOV P2,#11110111B

MOV A,P2

SWAP A

ORL A,#10000000B

MOV @R0,A

ANL A,#00000001B

JZ K1

MOV A,@R0

ANL A,#00000010B

JZ K2

MOV A,@R0

ANL A,#00000100B

JZ K3

MOV A,@R0

ANL A,#00001000B

JZ K4

LJMP NEXT1

K1:MOV R7,#31H

LJMP LCD_DISPLAY

K2:MOV R7,#32H

LJMP LCD_DISPLAY

K3:MOV R7,#33H

LJMP LCD_DISPLAY

K4:MOV R7,#34H

LJMP LCD_DISPLAY

NEXT1:MOV P2,#11111011B

MOV A,P2

ORL A,#00000100B

MOV @R0,A

ANL A,#00010000B

JZ K5

MOV A,@R0

ANL A,#00100000B

JZ K6

MOV A,@R0

ANL A,#01000000B

JZ K7

MOV A,@R0

ANL A,#10000000B

JZ K8

LJMP LCD_DISPLAY

K5:MOV R7,#35H

LJMP LCD_DISPLAY

K6:MOV R7,#36H

LJMP LCD_DISPLAY

K7:MOV R7,#37H

LJMP LCD_DISPLAY

K8:MOV R7,#38H

LJMP LCD_DISPLAY

;LCD初始化

LCD_DISPLAY:MOV P0,#00H ;清屏LCALL ENABLE

MOV p0,#38H ;显示功能

CALL ENABLE

MOV p0,#00001100B ;显示开关控制LCALL ENABLE

MOV P0,#80H;第一行的开始位置LCALL ENABLE

MOV P0,R7

SETB RS

CLR RW

CLR E

CALL DELAY

SETB E

RET

ENABLE:CLR RS ;送命令CLR RW

CLR E

CALL DELAY

SETB E

RET

DELAY:PUSH ACC

MOV A,R4

MOV R4,#05

D1:MOV R5,#0FFH

DJNZ R5,$

DJNZ R4,D1

MOV R4,A

POP ACC

RET END

相关文档
最新文档