|
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ù)制代碼 |
|