数码管求大神指导一下
各位大神来解答一下..老师给我们一个模版要进行调试...按一个按钮显示数码管的数字..求大神来打救一下结合扫描键盘的工作原理(逐列拉低,读行值,从而判断出有无按键按下,哪个键被按下?),设8255A工作于方式0,C口高4位为输入;低4位为输出。再将图13-1中的LED数码显示驱动工作综合考虑进来,8255A的A、B口均需工作于输出状态。得8255A的扫描键盘程序段如下:MOV DPTR,#6000H
MOV A,#88H
MOV X @DPTR,A ;初始化8255A
AGAIN: MOV DPTR,#4000H ;指向C口
MOV A,#0FEH;高4位可任意如XEH
MOVX @DPTR,A ;将列线1拉低
NOP
MOV A,@ DPTR
ANL A,#0F0H ;屏蔽低4位
CJNE A,#0F0H, KEY159
LJMP COL2 ;无键按下转2列
KEY159:CJNE A,#0E0H,KEY59;不是第1行转
LJMP KEY1 ;第1列第1行处理
KEY59: CJNE A,#0D0H, KEY913;不是第2行
LJMP KEY5 ;第1列第2行处理
KEY913:CJNE A,#0B0H,KEY13;不是第3行转
LJMP KEY9 ;第1列第3行处理
KEY13: CJNE A,#70H,AGAIN;干扰重新扫描
LJMP KEY13W ;第1列第4行处理
COL2: MOV A,#0FDH;高4位可任意如X7H
MOVX @DPTR,A ;将列线2拉低
MOV A, @ DPTR
ANL A,#0FH ;屏蔽高4位
CJNE A,#0F0H,KEY26 ;无键按下转3列
LJMP COL3
KEY26 … ;参照第1列处理方法
COL3: MOV A,#0FBH;将列线3拉低
… ;参照第2列处理方法
COL4: MOV A,#0F7H;将列线4拉低
… ;参照第2列处理方法
LJMP AGAIN ;重复键盘扫描