新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 進(jìn)制位(CY)與數(shù)據(jù)左、右移動(dòng)

進(jìn)制位(CY)與數(shù)據(jù)左、右移動(dòng)

作者: 時(shí)間:2016-12-01 來(lái)源:網(wǎng)絡(luò) 收藏
1、圖

2、代碼
3、小結(jié)

本文引用地址:http://m.butianyuan.cn/article/201612/324223.htm


代 碼

#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)位的。



關(guān)鍵詞: 進(jìn)制位數(shù)

評(píng)論


技術(shù)專區(qū)

關(guān)閉