No.41154 作者:石月 邮件:lqzhangyue@163.net ID:14596 登陆:16次 文章数:37篇 最后登陆IP:211.90.238.190 最后登陆:2003/10/13 14:46:16 注册:2003/8/26 17:02:59 财富:206 发帖时间:2003/8/31 9:27:19 发贴者IP:211.90.238.190 标题:石月:我这儿有一小段汇编程序,请大家帮我看看 摘要:No.41154我这儿有一小段汇编程序,请大家帮我看看 (这是8279键盘和显示的编码程序,单片机用的是89C51。/INT0中断输入。CS接P2.7,A0接P2.0。现在我在调试时可以判断中断,且键值也正确写入片内ROM,却没有显示,是怎么回事啊???) ORG 0000H AJMP START ORG 0003H SJMP PKEYI ORG 0030H START: MOV TCON,#0CH LCALL INI79 SJMP $ ;8279初始化程序 ORG 0060H INI79: MOV DPTR,#7FFFH ;清除8279命令 MOV A,#0DDH MOVX @DPTR,A WNDU: MOVX A,@DPTR ;等待8279清除结束 JB ACC.7,WNDU MOV A,#10H ;设置键盘扫描方式为双键互锁 MOVX @DPTR,A MOV A,#34H ;时钟100KHz MOVX @DPTR,A MOV IE,#81H ;允许8279中断 RET ;;键输入中断服务程序 PKEYI: CLR EA PUSH PSW PUSH DPL PUSH DPH PUSH ACC PUSH B SETB PSW.3 ;选工作寄存器区1 MOV DPTR,#7FFFH ;读FIFO状态字 MOVX A,@DPTR ANL A,#0FH JZ PKYR ;判FIFO中是否有数据 MOV A,#40H ;读FIFO命令—〉8279 MOVX @DPTR,A MOV DPTR,#7EFFH MOVX A,@DPTR ;读数据 MOV 50H,#0 MOV R2,A DATA0: CJNE R2,#38H,DATA1;判断键代码,确定键值 MOV R0,#0 AJMP RDIR AJMP PKYR DATA1: CJNE R2,#30H,DATA2 MOV R0,#1 AJMP RDIR AJMP PKYR DATA2: CJNE R2,#28H,DATA3 MOV R0,#2 AJMP RDIR AJMP PKYR DATA3: CJNE R2,#20H,DATA4 MOV R0,#3 ......
>>返回讨论的主题
|