專(zhuān)注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

51單片機(jī)控制P2口8位LED燈左移C語(yǔ)言程序

作者:liumei   來(lái)源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2014年03月31日   【字體:

此程序控制P2.0~P2.7口8個(gè)LED(P2.0~P2.7)燈逐個(gè)依次點(diǎn)這,又從(P2.7~P2.0)這樣的順序一直到全部被點(diǎn)亮。

 
#include <reg52.h>//頭文件
 
void delay(unsigned int x)//延時(shí)函數(shù)
{
    while(x--);
}
 
void main(void)
{
    unsigned char i;//定義一個(gè)無(wú)符號(hào)字型局部變量i取值范圍0~255
     delay(50000);
    P2=0xfe;
    for(i=0;i<8;i++)//加入for循環(huán),表明for循環(huán)大括號(hào)中程序循環(huán)執(zhí)行8次
    {
         delay(50000);//調(diào)用延時(shí)函數(shù),更改延時(shí)的x變量的值可以更改延時(shí)長(zhǎng)短,用于改變閃爍頻率
         P2<<=1;
    }
}

 

知識(shí)要點(diǎn):

1、<<符號(hào)。這個(gè)是左移符號(hào),P2<<=1;等效于P2=P2<<1;
例如:temp=15;
           temp<<=1;
15二進(jìn)制為00001111,左移1位后,右端自動(dòng)補(bǔ)0,變成00011110,此時(shí)temp=30;數(shù)值左移一位相當(dāng)于乘以2,反之右移一位相當(dāng)于除以2.

關(guān)閉窗口

相關(guān)文章