图10-8为82C55扩展I/O口的独立式按键接口电路。 相应地,依次读PC口的状态,若PC0~PC3全为“1”,则列线 为“0”的这一列上没有键闭合。闭合键的键号等于为低电平的列 号加上行线为低电平的行的首键号。 例如,PA口输读出PC3~PC0为1101,则1行1列 相交的键处于闭合状态,第一列的首键号为8,列号为1。 因此,闭合键的键号N为 N=行首键号+列号=8+1=9 (4)使CPU对键的一次闭合仅作一次处理键盘程序的流程如图 10-12。 KEYI:ACALL KS1 ;调用判有无键闭合子程序 JNZ LK1 ;有键闭合,跳LK1 NI: ACALL DIR ;无键闭合,调显示子程序,延迟 ;6ms后,跳KEYI AJMP KEYI LK1: ACALL DIR ;可能有键闭合,软件延迟12ms去抖 ACALL DIR ACALL KS1 ;调用判有无键闭合子程序 JNZ LK2 ;经去抖,判键确实闭合,跳LK2 ACALL DIR ;调用显示子程序延迟6ms AJMP
原创力文档

文档评论(0)