⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 0802pass.asm

📁 我实验板带的实验程序
💻 ASM
字号:

;腾龙套件的液晶屏密码输入器程序:开机显示PASS WOR D:000000
;按16位矩阵键盘屏幕显示输入的字,按#清除输入,全部显示回到000

RS EQU p2.0;液晶接口的定义
RW EQU p2.1
E  EQU p2.2
	org	0000h


	MOV SP ,#70H;设置堆栈
	MOV p0,#01H	;清屏
	CALL ENABLE
	MOV p0,#38H	;显示功能
    CALL ENABLE
	MOV p0,#0FH	;显示开关控制
 	CALL ENABLE
	MOV p0,#06H	;+1
	CALL ENABLE
	MOV p0,#80H;第一行的开始位置
	cALL ENABLE
	MOV DPTR,#TABLE1;显示PASS WORD
	CALL WRITE1;到TABLE1取码?
	MOV p0,#0C0H;第二行的位置
	CALL ENABLE
	MOV DPTR,#TABLE2;显示D:000000
	CALL WRITE1;到TABLE2 取码
	MOV p0,#0C2H;光标定位0C2H
	CALL ENABLE

L1: MOV R3,#0F7H;键盘扫描初值
	MOV R1,#00H;取码指针
L2:MOV A,R3;输出行扫描
	MOV p1,A
	MOV A,p1;读数,并存R4,判断是否放开?
	MOV R4,A
	SETB C;C=1
	MOV R5,#03H;监测列(3列)
L3: RLC A;左移,C=0表示有键按下
	JNC KEYIN;有键按下那么跳到KEYIN
	INC R1;无按下,取码指针+1
	DJNZ R5,L3;扫描下一列
   mov a,r3
	SETB C
	RRC A
	MOV R3,A
	JC L2    ;C=0表示列扫描完成
	JMP L1;否则重新开始
KEYIN: MOV R7,#10;消除抖动
	D2: MOV R6,#248
	dJNZ R6,$
	DJNZ R7,D2
D3: MOV A,p1; 键盘放开否
	XRL A,R4
	JZ D3
	MOV A,R1; 到table3取码
	MOV DPTR,#TABLE3
	MOVC a,@a+dptr
	MOV R0,A
	XRL A,#41H;是否按*, 则跳l1
	JZ L1
	MOV A,R0  ; 否则继续
	XRL A,#42H   ;是否按#, 是则清除
	JZ CLEAR
	MOV A,R0;不是#就是数字
	CALL WRITE2;调用显示
	CALL CHECK;读内部地址计数器,是否最后位置
	JMP L1
CHECK:  MOV p0,#0FFH
	CLR RS
	SETB RW;rs=0,rw=1 读地址计数器
	CLR E
	NOP
	SETB E
	JB p0.7,CHECK;检查p07
	MOV A,p0
	ANL A,#7FH
	CJNE A,#48H,A3
	MOV p0,#0C2H;是则让光标回到0c2h的位置
	CALL ENABLE
A3:RET

CLEAR: MOV p0,#0C2H;清除6个数为000000
	CALL ENABLE
	MOV R1,#06H
A2: MOV A,#30H;30h是0的ascii码
	CALL WRITE2
	DJNZ R1,A2
	MOV p0,#0C2H  ;光标返回
	CALL ENABLE
	JMP L1
ENABLE:   ;写指令
	CLR RS
	CLR RW
	CLR E
	CALL DELAY
	SETB E
	RET
WRITE1: MOV R1,#00H   ;显示table中的值
	A1: MOV A,R1;到table取码
	MOVC A,@A+DPTR
	call  wRITE2   ;显示到lcd
	INC R1
	CJNE A,#00H,A1  ;是否到00h
	RET
WRITE2:MOV p0,A  ;显示
	SETB RS
	CLR RW
	CLR E
	CALL DELAY
	SETB E
	RET
DELAY: MOV R4,#05
	D1:MOV R5,#0FFH
	DJNZ R5,$
	DJNZ R4,D1
	RET
TABLE1:DB "PASS WOR",00H
TABLE2:DB "D:000000",00H
TABLE3:DB 31H,32H,33H,34H,35H,36H,37H,38H,39H,41H,30H,42H
END



























⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -