1、确定有无键按下,判断哪一个键按下,键的功能是什么?还要消除按键在闭合或断开时的抖动。两个并行口中,一个输出扫描码,使按键逐行动态接地;另一个并行口输入按键状态,由行扫描值和回馈信号共同形成键编码而识别按键,通过软件查表,查出该键的功能。5、程序流程图(如图14.3所示)6、汇编源程序;定义单元;COUNT EQU 30H入口地址;ORG 0000HLJMP STARTORG 0003HRETIORG 000BHORG 0013HORG 001BHORG 0023HORG 002BH主程序入口;ORG 0100HSTART: LCALL CHUSHIHUALCALL PANDUANLCALL X
2、IANSHI初始化程序;CHUSHIHUA: MOV COUNT,#00HRET判断哪个按键按下程序;PANDUAN: MOV P3,#0FFHCLR P3.4MOV A,P3ANL A,#0FHXRL A,#0FHJZ SW1LCALL DELAY10MSCJNE A,#0EH,K1MOV COUNT,#0LJMP DKK1: CJNE A,#0DH,K2MOV COUNT,#4K2: CJNE A,#0BH,K3MOV COUNT,#8K3: CJNE A,#07H,K4MOV COUNT,#12K4: NOPSW1:CLR P3.5JZ SW2CJNE A,#0EH,K5MOV COUN
3、T,#1K5: CJNE A,#0DH,K6MOV COUNT,#5K6: CJNE A,#0BH,K7MOV COUNT,#9K7: CJNE A,#07H,K8MOV COUNT,#13K8:SW2:CLR P3.6JZ SW3CJNE A,#0EH,K9MOV COUNT,#2K9: CJNE A,#0DH,KAMOV COUNT,#6KA: CJNE A,#0BH,KBMOV COUNT,#10KB: CJNE A,#07H,KCMOV COUNT,#14KC:SW3:CLR P3.7JZ SW4CJNE A,#0EH,KDMOV COUNT,#3KD: CJNE A,#0DH,KEM
4、OV COUNT,#7KE: CJNE A,#0BH,KFMOV COUNT,#11KF: CJNE A,#07H,KGMOV COUNT,#15KG:SW4: LJMP PANDUANDK: RET显示程序;XIANSHI: MOV A,COUNTMOV DPTR,#TABLEMOVC A,A+DPTRMOV P0,ALCALL DELAYSK: MOV A,P3JNZ SK10ms延时程序;DELAY10MS: MOV R6,#20D1: MOV R7,#248DJNZ R7,$DJNZ R6,D1200ms延时程序;DELAY: MOV R5,#20LOOP: LCALL DELAY10
5、MSDJNZ R5,LOOP共阴码表;TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB 7FH,6FH,77H,7CH,39H,5EH,79H,71H结束标志;END7、C语言源程序#includeunsigned char code table=0x3f,0x66,0x7f,0x39,0x06,0x6d,0x6f,0x5e,0x5b,0x7d,0x77,0x79,0x4f,0x07,0x7c,0x71;void main(void) unsigned char i,j,k,key;while(1) P3=0xff; /给P3口置1/P3_4=0; /给P
6、3.4这条线送入0/i=P3;i=i&0x0f; /屏蔽低四位/if(i!=0x0f) /看是否有按键按下/ for(j=50;j0;j-) /延时/for(k=200;kk-);=0x0f) /再次判断按键是否按下/ switch(i) /看是和P3.4相连的四个按键中的哪个/ case 0x0e:key=0;break;case 0x0d:key=1;case 0x0b:key=2;case 0x07:key=3;P0=tablekey; /送数到P0口显示/P3=0xff;P3_5=0; /读P3.5这条线/ /屏蔽P3口的低四位/=0x0f) /读P3.5这条线上看是否有按键按下/ /再看是否有按键真的按下/=0x0f) switch(i) /如果有,显示相应的按键/key=4;key=5;key=6;key=7; /送入P0口显示/P3_6=0; /读P3.6这条线上是否有按键按下/j-) switch(i)key=8;key=9;key=10;key=11;P3_7=0; /读P3.7这条线上是否有按键按下/key=12;key=13;key=14;key=15;8、注意事项在硬件电路中,要把8联拨动拨码开关JP2拨下,把8联拨动拨码开关JP3拨上去。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1