標題:
單片機C語言使用數(shù)組點亮LED
[打印本頁]
作者:
51黑ele
時間:
2016-4-28 03:12
標題:
單片機C語言使用數(shù)組點亮LED
P0口接了八個led,采用共陽的接法,通過以下程序可以讓這八個led按要求點亮。單片機中經(jīng)常會使用到數(shù)組,尤其以后的數(shù)碼管和led點陣,所有這部分學(xué)習(xí)放在前面。
led采用共陽的接法的意思就是,led的兩個引腳中,陽極通過一個限流電阻接在5V電源上,陰極接在可以控制的IO口上,這樣八個led都通過這種方式接,接好后就如下圖:
#include <AT89X51.H>
//定義數(shù)組
unsigned char code table[]={0xfe,0xfd,0xfb,0xf7,
0xef,0xdf,0xbf,0x7f,
0xfe,0xfd,0xfb,0xf7,
0xef,0xdf,0xbf,0x7f,
0x7f,0xbf,0xdf,0xef,
0xf7,0xfb,0xfd,0xfe,
0x7f,0xbf,0xdf,0xef,
0xf7,0xfb,0xfd,0xfe,
0x00,0xff,0x00,0xff,
0x01};
//定義無符號的變量i
unsigned char i;
//定義延時函數(shù)的聲明及實現(xiàn)
void delay(void)
{
unsigned char m,n,s;
for(m=20;m>0;m--)
for(n=20;n>0;n--)
for(s=248;s>0;s--);
}
void main(void)
{
while(1)
{
//判斷是否為數(shù)組最后一個元素,如不是,則繼續(xù)執(zhí)行
if(table[i]!=0x01)
{
//把第i個元素賦給p2口
P2=table[i];
//循環(huán)變量i自加
i++;
//調(diào)用延時函數(shù)
delay();
}
else
{
i=0;
}
}
}
復(fù)制代碼
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1