采用反轉(zhuǎn)法判斷按鍵坐標(biāo),即行號(hào)與列號(hào)獲得按鍵碼。
寫(xiě)完后發(fā)現(xiàn)Proteus一個(gè)問(wèn)題:直接使用這樣的if(P1&0xf0!=0xf0)語(yǔ)句時(shí),調(diào)不出來(lái),當(dāng)用了一個(gè)中間變量過(guò)渡時(shí),就調(diào)出來(lái)了,害我花了一個(gè)上午的時(shí)間,現(xiàn)在暫時(shí)不知道Proteus為什么要這樣,實(shí)際中是不需要的。
程序如下:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
void delayMS(unsigned int z);
uchar keyscan(void);
void main(void)
{
}
void delayMS(unsigned int z)
{
}
uchar keyscan(void)
{