標(biāo)題: 單片機(jī)左右流水燈實驗程序 從右邊往左邊移動,到達(dá)左邊再往右邊移動,依此循環(huán) [打印本頁]
作者: jg3196 時間: 2016-4-18 18:29
標(biāo)題: 單片機(jī)左右流水燈實驗程序 從右邊往左邊移動,到達(dá)左邊再往右邊移動,依此循環(huán)
/******************************************************************************
* 實驗名 : 左右流水燈實驗
* 使用的IO : P2
* 實驗效果 : 點亮的LED從右邊往左邊移動,到達(dá)左邊再往右邊移動,依此循環(huán)。
* 注意 :
******************************************************************************/
#include<reg51.h>
#include<intrins.h> //因為要用到左右移函數(shù),所以加入這個頭文件
#define GPIO_LED P2 //將P2口另外取名為GPIO_LED
void Delay10ms(unsigned int); //誤差 0us
/******************************************************************************
* 函數(shù)名 : main
* 函數(shù)功能 : 主函數(shù)
* 輸入 : 無
* 輸出 : 無
******************************************************************************/
void main(void)
{
unsigned char n;
GPIO_LED=0xfe;
while(1)
{
for(n=0;n<7;n++) //左移7次,這樣子就會到達(dá)最左邊
{
GPIO_LED=_crol_(GPIO_LED,1); //將GPIO_LED左移一位
Delay10ms(50); //延時
}
for(n=0;n<7;n++) //右移7次,這樣子就會到達(dá)最右邊
{
GPIO_LED=_cror_(GPIO_LED,1); //將GPIO_LED右移一位
Delay10ms(50); //延時
}
}
}
/******************************************************************************
* 函數(shù)名 : Delay10ms
* 函數(shù)功能 : 延時函數(shù),延時10ms
* 輸入 : 無
* 輸出 : 無
******************************************************************************/
void Delay10ms(unsigned int c) //誤差 0us
{
unsigned char a,b;
for(;c>0;c--)
for(b=38;b>0;b--)
for(a=130;a>0;a--);
}
| 歡迎光臨 (http://m.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |