如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
键盘接口为了保证CPU对键的一次闭合仅进行一次键功能操作消除按键盘抖动,通常有两种方法:硬件消抖和软件消抖。图8-6键盘结构8.2.2键盘的工作方式键盘扫描子程序一般应具备如下几个功能:接线说明:键盘行线与P1口的高四位P1.7~P1.4相连,作键扫描输出线;列线与P1口的低四位P1.3~P1.0相连,作读键输入线;四根列线P1.3~P1.0接到与门输入端,与门输出接到INT0引脚,以申请中断。进入中断服务程序后,要完成以下功能:键盘、显示器接口—8155(8.2.3)8155的端口地址分配如下:键扫描子程序的设计要考虑以下4个方面:PA口列扫描输出码图8-10键扫描程序框图键盘、显示器接口程序清单:INCDPTRINCDPTRMOVXA,@DPTR;读C口JBACC.0,LONE;0行为高电平,转判1行MOVA,#00H;0行首键号送AAJMPLKPLONE:JBACC.1,LTWO;转判2行MOVA,#08H;1行首键号送AAJMPLKPLTWO:JBACC.2,LTHR;转判3行MOVA,#10H;2行首键号送AAJMPLKPLTHR:JBACC.3,NEXT;转判下一列MOVA,#18H;3行首键号送ALKP:ADDA,R4;行首键号+列号=键号MOV70H,APUSHACCLK3:ACALLDIRACALLKS1;判键释放否JNZLK3POPACCAJMPKEY1NEXT:INCR4;列扫描计数器加1MOVA,R2;判是否已扫到最后一列JNBACC.7,KND;扫到则转移RLA;列扫描码左移一位MOVR2,AAJMPLK4;无键按下KND:AJMPKEYIKS1:MOVDPTR,#7F01HMOVA,#00H;全“0”送PA口MOVX@DPTR,AINCDPTRINCDPTRMOVXA,@DPTR;读入键的状态CPLAANLA,#0FH;取出被按下键的状态RETDIR:MOVR0,#70HMOVA,@R0ANLA,#0FHMOV30H,AMOVA,@R0SWAPAANLA,#0FHMOV31H,AMOVR0,#30MOVR3,#01D01:MOVA,R3MOVDPTR,#0FF01HMOVX@DPTR,AINCDPTRMOVA,@R0ADDA,0DHMOVCA,@A+PCDIR1:MOVX@DPTR,AACALLDL1MOVA,R3RLAJBACC.2,LD1MOVR3,AINCR0AJMPDO1LD1:RETTAB:DB0C0H,0F9H,0A4H,0B0H,99H,92HDB82H,0F8H,80H,90H,88H,83H,0C6HDB0A1H,86H,8EH,0FFHDL1:MOVR7,#2MOVR6.#0FFHDL6:DJNZR6,DL6DJNZR7,DLRETEND单片机人机接口结束