實驗內容:
利用p1口做輸出口,接八隻發光二極體,編寫程式是發光二極體迴圈點亮或者具有一定的花樣。
1.第乙個發光二極體以間隔200ms閃爍;
2.8個發光二極體由上至下間隔,1s流動,其中每個管亮500ms,滅500ms,亮時蜂鳴器響,滅時關閉蜂鳴器,一直重複下去;
3.8個發光二極體來回流動,每個管亮100ms,流動時讓蜂鳴器發出「滴滴」聲;
4.用8個發光二極體演示出8位二進位制數累加過程,結合兩個開關(一加一減)實現加減運算;
5.8個發光二極體間隔200ms由上至下,再由下至上,再重複一次,然後全部熄滅再以300ms間隔全部閃爍5次,重複此過程;
6.間隔300ms第一次乙個管亮流動一次,第二次兩個管亮流動,依次到8個管亮,然後重複此過程;
7.間隔300ms先奇數亮再偶數亮,迴圈三次,乙個燈上下迴圈三次,兩個分別從兩邊往中間流動三次,再從中間往兩邊流動三次,8個全部閃爍3次,關閉發光管,程式停止。
**圖:
1.第一題簡單,不上**了》<
2.原始碼:
#include
#include
#define uchar unsigned char
sbit buzzer=p3^7; //定義引腳
void delay(uchar z) //延時函式
void main()}}
3.原始碼:
#include
#include
#define uchar unsigned char
sbit buzzer=p3^7;
void delay(uchar z)
void main()
a=0x7f; //倒數第乙個燈先亮,形成來回流動
for(i=0;i<8;i++)
}4.原始碼:
#include
#include
#define uchar unsigned char
void delay(uchar z)
void main()
5.原始碼:
#include
#include
#define uchar unsigned char
uchar aa;
void delay(uchar z);
void main()
aa=0x7f;
for(k=0;k<7;k++)
} p1=0xff;
for(j=0;j<10;j++)
} } void delay(uchar z)
} } }
void delay(uc k)
for(ci=0;ci<3;ci++)
while(one==7)
break;}}
for(cs=0;cs<3;cs++)
;uchar deng;
uchar linshi;
for(linshi=0;linshi<4;linshi++)
}for(cs=0;cs<3;cs++)
;uchar deng;
uchar linshi;
for(linshi=0;linshi<4;linshi++)
}for(ci=0;ci<3;ci++)
while(1);}}
void delay(uint i)
本次實驗總結:
點亮流水燈及其花樣是微控制器入門的第一次實驗,接下來會繼續整理其他實驗,這裡用到的微控制器c語言的基本的內容,需要對迴圈,條件等比較熟悉,原始碼和**圖都上了,可以用來複習並且給需要的人一些參考吧。
另外,**並不是最優的,有更好的意見歡迎交流。
微控制器擴充套件IO口
微控制器如何擴充套件io口?首先我們先講講為什麼要擴充套件io口。在我們使用51微控制器的時候,有時候會出現io口不夠用的情況。比如鍵盤!這個時候io口的資源就十分有限了。按鍵是我們常用的器件,做某些東西的時候又不能缺少按鍵。如果乙個按鍵對應乙個io口,那麼可想而知,按鍵所佔的io口的數量是很大的。...
微控制器IO口詳解
一 三態 微控制器io的三態是指 高電平 1 低電平 0 高組態 z 二 高阻態 高阻i是一種電路狀態.既不是高電平,也不是低電平,以高阻態對下級電路輸出,下級電路什麼影響也沒有.高阻態的io電平高低,隨下級電路變化而變,下級為高,它就是高,下級是低它就是低.可以看成是懸空狀態.所以,高阻狀態的作用...
51微控制器 外部I O口擴充套件實驗
一 實驗內容 mcs 51系列微控制器對外部裝置的訪問 即i o口輸入 輸出操作 的基本要求是 輸入緩衝 輸出鎖存 實驗中開關量k8k1的輸入經74ls244八位緩衝輸入介面實現,74ls273作為鎖存輸出介面,控制l8l1八個發光二極體的亮滅。資料匯流排連線p0埠 二 圖 三 c語言實現 incl...