拿到開發板擺了好久都沒有用過 最近砍到那板子都已經積了灰塵 想想對不起自己 就拿來試了一下
#define TIME1 20#define TIME2 20
void Left(void);
void Right(void);
/****************************************
*函數名稱:main
*輸 入:無
*輸 出:無
*功 能:函數主體
******************************************/
INT32 main(VOID)
{
//UINT32 i;
PROTECT_REG
(
PWRCON |= XTL12M_EN; //預設時鐘源為外部晶振
while((CLKSTATUS & XTL12M_STB) == 0); //等待12MHz時鐘穩定
CLKSEL0 = (CLKSEL0 & (~HCLK)) | HCLK_12M; //設置外部晶振為系統時鐘
// P2_PMD=0x5555; //GPIO設置為輸出模式
P2_PMD = P2_PMD & ~Px0_PMD | Px0_QB
)
while(1)
{
Right();/*由左至右順序點亮*/
P2_DOUT=0x00;
Left();/*由右至左順序點亮*/
P2_DOUT=0x00;
}
}
void Right(void)
{
P20_DOUT= 0; /*PORT 2的0腳熄滅*/
Delayms(TIME1);
P20_DOUT=1; /*PORT 2的1腳點亮*/
Delayms(TIME2);
P21_DOUT= 0;
Delayms(TIME1);
P21_DOUT=1;
Delayms(TIME2);
P22_DOUT= 0;
Delayms(TIME1);
P22_DOUT=1;
Delayms(TIME2);
P23_DOUT= 0;
Delayms(TIME1);
P23_DOUT=1;
Delayms(TIME2);
P24_DOUT= 0;
Delayms(TIME1);
P24_DOUT=1;
Delayms(TIME2);
P25_DOUT= 0;
Delayms(TIME1);
P25_DOUT=1;
Delayms(TIME2);
P26_DOUT= 0;
Delayms(TIME1);
P26_DOUT=1;
Delayms(TIME2);
P27_DOUT= 0;
Delayms(TIME1);
P27_DOUT=1;
Delayms(TIME2);
}
void Left(void)
{
P27_DOUT= 0;
Delayms(TIME1);
P27_DOUT=1;
Delayms(TIME2);
P26_DOUT= 0;
Delayms(TIME1);
P26_DOUT=1;
Delayms(TIME2);
P25_DOUT= 0;
Delayms(TIME1);
P25_DOUT=1;
Delayms(TIME2);
P24_DOUT= 0;
Delayms(TIME1);
P24_DOUT=1;
Delayms(TIME2);
P23_DOUT= 0;
Delayms(TIME1);
P23_DOUT=1;
Delayms(TIME2);
P22_DOUT= 0;
Delayms(TIME1);
P22_DOUT=1;
Delayms(TIME2);
P21_DOUT= 0;
Delayms(TIME1);
P21_DOUT=1;
Delayms(TIME2);
P20_DOUT= 0;
Delayms(TIME1);
P20_DOUT=1;
Delayms(TIME2);
}
可以左右的控制那個led燈的顯示 利用人的視覺暫留 改一下TIME1和TIIME2還可以有點變化
自己測試 還忘高手們指教一下
|