Key=送进来的键值
C: while(1) { if (Key & 0b00000001) //键1被按下 . . if (Key & 0b00000010) //键2被按下 . . if (Key & 0b00000100) //键3被按下 . . if (Key & 0b00001000) //键4被按下 . . if (Key & 0b00010000) //键5被按下 . . }
ASM
MOV A,KEY ANL A,#000000001B JNZ xxx ;键1被按下 MOV A,KEY ANL A,#000000010B JNZ xxx ;键2被按下 MOV A,KEY ANL A,#000000100B JNZ xxx ;键3被按下 MOV A,KEY ANL A,#000001000B JNZ xxx ;键4被按下 MOV A,KEY ANL A,#000010000B JNZ xxx ;键5被按下
当然,你最好设置一个变量来与,做一个循环,左移这个变量,然后比较,程序就短很多,俺懒得写,你自己看了。
|