全是c語言程序,都已經用keil編譯並下載到開發板裏面測試過了= =
1.對單個led燈打開後延時並關閉的循環操作- -(通過位操作點實現)
#include <reg52.h>
sbit LED = P1^1;
Delay()
{
int i;
for(i=0;i<10000;i++);
}
main()
{
while(1){
LED = 0;
Delay();
LED = 1;
Delay();
}
}
2.對於led燈的循環點亮(左邊開始)通過總線方式點亮
#include <reg52.h>
delay(unsigned int n)
{
while(--n);
}
main()
{
unsigned char i;
delay(60000);
P1 = 0xfe; //P1=1111 1110
while(1)
{
for(i = 0;i < 8;i++)
{
delay(60000);
P1 <<= 1;
P1=P1|0x01;
}
P1=0xfe;
}
}
3.是左右循環(總線方式)
#include <reg52.h>
void delay()
{
unsigned int a;
for(a = 0;a<30000;a++);
}
void main()
{
unsigned int i,j;
while(1)
{
P1=j=0xfe;//1111 1110;
delay();
for(i = 0;i < 8;i++)
{
j = j<<1;
j = j|0x01;//0000 0001
P1=j;
delay();
}
P1=j=0x7f;//0111 1111;
delay();
for(i = 0;i < 8;i++)
{
j = j>>1;
j = j|0x80;//1000 0000
P1=j;
delay();
}
}
}
都是很基礎的東西,還有一個查表的準備等做最後作品花樣燈的時候做,雖然led部分很基礎,但是沒辦法只能先走馬觀花的學習了,希望以後能再回過頭來的時候可以輕鬆點,現在都是依葫蘆畫瓢階段,雖然看上去都懂,但是其實對於更深層次的內容瞭解的還是很有限,我想隨着學習的深入,我將會學到更多,到時候再回過頭,西瓜芝麻一起抓!