進(jìn)制位(CY)與數(shù)據(jù)左、右移動(dòng)
2、代碼
3、小結(jié)
代 碼
#include
sbit led=P2^0;
sbit led2=P2^1;
void DelayUs2x(unsigned char t)
{
while(--t);
}
void DelayMs(unsigned char t)
{
while(t--)
{
//大致延時(shí)1mS
DelayUs2x(245);
DelayUs2x(245);
}
}
/*以下函數(shù)就是反轉(zhuǎn)掃描的精華*/
unsigned char jpsm()//矩陣鍵盤(pán)反轉(zhuǎn)掃描
{
unsigned char i=0;//用于接收按鍵數(shù)值
P0 = 0x0f;//檢測(cè)低4位
if(0x0f != P0)//檢測(cè)按鍵是否按下
{
DelayMs(10);//去抖
if(0x0f != P0)//在次判斷按鍵是否真的按下而不是其他干擾
{
i = P0;//把低4位賦值給i
P0 = 0xf0;//檢測(cè)高4位
DelayUs2x(5);//稍微延時(shí)。。這條語(yǔ)句可以去掉
i = i | P0;//把低4位和高4位組合成完整的按鍵數(shù)值
while( 0xf0 != P0 )//檢測(cè)按鍵是否松開(kāi)
{
;
}
return i;//返回按鍵數(shù)值
}
}
return 0;//按鍵沒(méi)有按下返回0
}
void main()
{
unsigned char i=0xaa;
while(1)
{
if(126 ==jpsm())//判斷按鍵1是否按下
{
/*i <<= 1;//注:在Keil編譯器中不管是左移還是右移,移出的數(shù)據(jù)都是放在CY中
led = CY;*/
i >>=1;
led = CY;
}
}
}
小結(jié)
1、什么是進(jìn)制位
答:就是保存進(jìn)位的。
評(píng)論