[求助]下面程序有何问题:PS/2键盘接收字符处理程序,谢谢!
主程序: .......
SETB RS0
CLR RS1
MOV A,#00H
MOV R2,#08H
MOV R3,#0BH
SETB IT1
LCALL delay
MOV IE,#84H
WAIT:NOP
NOP
CJNE R3,#00H,WAIT ;R3计满11位退出循环
外部中断子程序1为:
CLR EA
SETB RS0
CLR RS1
MOV C,P1.7
CJNE R3,#0BH, AA1
DEC R3
SJMP key_exit
AA1:CJNE R2,#00H,key_data ;判断是否计满8位数据(2-9为真正的数据)
DJNZ R3,key_parity
SJMP key_exit
key_parity:SJMP key_exit ;不计奇偶校验
key_data: RRC A
DEC R3
DEC R2
SJMP key_exit
key_exit: SETB EA
RETI
AT89C51的P1.7接data,P3.3接clock。本来目的是让累加器A保存键值。R3计满11位退出。
但问题是A的内容始终为00H。请大家帮我分析分析,问题出在哪里?
发表时间:2003年6月17日13:43:18