资源描述:
《单片机矩阵键盘》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、ORG0000HMAIN:MOVDPTR,#TABMOVR3,#0;低MOVR5,#0;高MAIN1:MOVP2,#2;显示档位数字MOVA,R5MOVCA,@A+DPTRMOVP0,ALCALLDELYMOVP2,#1MOVA,R3MOVCA,@A+DPTRMOVP0,ALCALLDELYLCALLLOOP;判断确定键CLRCSUBBA,#9JNZMAIN1;无确定键返回DONE3:CLRCLCALLLOOP;判断开始SUBBA,#8JNZDONEALJMPSTART1DONEA:LCALLLOOP
2、;判断左CLRCSUBBA,#5JNZDONE4LCALLLOOP1DONE4:LCALLLOOP;判断右CLRCSUBBA,#0BHJNZDONE5LCALLLOOP2DONE5:LCALLLOOP;判断上CLRCSUBBA,#6JNZDONE6LCALLLOOP3DONE6:LCALLLOOP;判断下CLRCSUBBA,#7JNZDONE3LCALLLOOP4DONE7:LJMPDONE3/*****************方向键功能*******************/LOOP1:MOVP2,
3、#0LCALLDELY2MOVP2,#2;左MOVA,R5MOVCA,@A+DPTRMOVP0,ALCALLDELY2LJMPSTARTLOOP2:MOVP2,#0LCALLDELY2MOVP2,#1;右MOVA,R3MOVCA,@A+DPTRMOVP0,ALCALLDELY2LJMPSTARTLOOP3:MOVA,P2;上ANLA,#1JZNEXT1INCR3LJMPLOOP2NEXT1:INCR5LJMPLOOP1LOOP4:MOVA,P2;下ANLA,#1JZNEXT2DECR3LJMPLOOP
4、2NEXT2:DECR5LJMPLOOP1/***************开始程序************************/START:CLRCLCALLLOOP;判断开始SUBBA,#8JNZDONE7START1:MOVP2,#2;显示档位数字MOVA,R5MOVCA,@A+DPTRMOVP0,ALCALLDELYMOVP2,#1MOVA,R3MOVCA,@A+DPTRMOVP0,ALCALLDELYLJMPMAIN1;最终返回/************按键查询子查询***********
5、*******/LOOP:MOVA,#0F0H;键盘查询ACALLKSJZNKACALLDELYMOVA,#0F0HACALLKSJZNKMOVA,#0FEHMOVR4,#00HK1:MOVR2,AACALLKSJNZFINDINCR4MOVA,R2RLACJNEA,#0EFH,K1MOVA,#0F0HSJMPNKFIND:SWAPAADDA,R4NK:RETKS:MOVP1,AMOVA,P1CPLAANLA,#0F0HRETDELY:MOVR6,#04HDELY1:MOVR7,#0FFHDJNZR7
6、,$DJNZR6,DELY1RETDELY2:MOVR6,#0FFHDELY3:MOVR7,#0FFHDJNZR7,$DJNZR6,DELY3RETTAB:DB3FH,06H,5BH,4FHDB66H,6DH,7DH,07HDB7FH,6FH,77H,7CHDB39H,5EH,79H,71HEND