NAME T11 ;8279键盘实验二
CSEG AT 0000H
LJMP START
CSEG AT 4100H
START: MOV DPTR,#0CFE9H ;8279命令字
MOV A,#0D1H ;清显示
MOVX @DPTR,A
LOOP1: MOVX A,@DPTR
ANL A,#0FH
JZ LOOP1 ;有键按下?没有则循环等待
MOV A,#0A0H ;显示\消隐命令
MOVX @DPTR,A
MOV A,#40H ;读FIFO命令
MOVX @DPTR,A
MOV DPTR,#0CFE8H ;读键值
MOVX A,@DPTR
MOV R1,A ;保存键值
MOV DPTR,#0CFE9H ;写显示RAM命令
MOV A,#81H ;选中LED2
MOVX @DPTR,A
MOV A,R1
ANL A,#0FH ;取后半字节
MOV DPTR,#TAB
MOVC A,@A+DPTR ;取段显码
MOV DPTR,#0CFE8H ;写显示RAM
MOVX @DPTR,A
MOV DPTR,#0CFE9H ;写显示RAM命令
MOV A,#80H ;选中LED1
MOVX @DPTR,A
MOV A,R1
ANL A,#0F0H
SWAP A ;取后半字节
MOV DPTR,#TAB
MOVC A,@A+DPTR ;取段显码
MOV DPTR,#0CFE8H ;写显示RAM
MOVX @DPTR,A
MOV DPTR,#0CFE9H
SJMP LOOP1
TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;段显码表
db 7fh,6fh,77h,7ch,39h,5eh,79h,71h
END
正文
8279键盘实验2005-08-23 21:22:00
【评论】 【打印】 【字体:大 中 小】 本文链接:http://blog.pfan.cn/niao0311/4093.html
阅读(5102) | 评论(0)
版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!
评论