王文斌
摘要:隨著社會的發展,當今公眾對智能控制產品需求的不斷提高,單片機作為微控制器的應用領域越來越廣泛,比如自動控制型家電、測量儀器、醫療設備等。為了適應市場經濟對單片機人才的要求,需要有培養這樣的人才的教育教學方法。本文講述應用一體化教學的方式,通過講練結合讓學生學中做,做中學,制作單片機實驗板的過程。
關鍵詞:單片機;二極管;流水燈;數碼管;動態顯示
一、單片機小制作的目的與要求
1)單片機小制作的目的。單片機小制作作為單片機一體化教學的重要組成部分,目的是使學生在制作中理解單片機原理,基本掌握單片機的設計和調試的方法,增加單片機應用知識,培養學生實際動手能力以及分析、解決問題的能力。 按照本專業培養方案要求,在學完單片機課程后,同學進行單片機一體化教學,其目的是使學生更好地鞏固和加深對課堂知識的理解,學會設計小型單片機系統的方法,獨立完成系統設計及調試,增強學生理論聯系實際的能力,提高學生的分析和設計能力。通過實踐教學引導學生在理論指導下有所創新,為專業課的學習和日后工程實踐奠定基礎。
2)課程設計要求。1.教學基本要求。要求學生能夠識別、檢測和應用制作中相關的電子元件。完成硬件系統的設計和制作,包括單片機最小系統、流水燈系統、數碼管顯示系統;完成軟件系統的設計和制作,使得實驗板可以運行流水燈和數碼管動態顯示。2.能力培養要求。通過查閱手冊和有關文獻資料培養學生獨立分析和解決實際問題的能力。通過實際電路方案的分析比較、設計計算、組件選取、安裝調試等環節,掌握簡單實用電路的分析方法和工程設計方法。
掌握常用儀器設備的使用方法,學會簡單的實驗調試,提高動手能力。
培養嚴肅認真的工作作風和嚴謹的科學態度。
二、小制作的功能要求
基本要求:實現流水燈和數碼管動態顯示。
三、硬件系統的設計
電路組成部分:最小系統電路、流水燈電路、數碼管電路。
最小系統電路包括:電源電路、晶振電路、復位電路。
電源電路的設計圖,如下:
電源電路的功能及原理:此電路將常見的9V 2A或12V 2A的電源適配器的輸出電壓變成5V穩壓輸出。這樣就可以用適配器作為市電的轉換,而再經過電源電路的穩壓處理之后就能得到單片機正常工作所需的5V電壓。
電源電路制作中元器件的使用注意事項:
1、注意分清電源適配器的輸出電壓的正負極。電源適配器的輸出電壓是分為內正極外負極的。
2、220uF的電解電容正負極千萬不要接反,否則發生電容過熱膨脹甚至爆炸。
3、LM7805穩壓芯片是一個接孔的散熱片,如果發現此芯片發熱也是正常的。如果非常熱,甚至到了上百度時就要檢查一下電路是否有短路的現象。
晶振電路設計圖,如下:
復位電路,如下:
制作要求和順序如下:
1、焊接電源引腳。單片機40引腳接電源,20引腳接地,31引腳接電源。
2、焊接晶振電路。X1接單片機18腳,X2接單片機19腳。
3、焊接復位電路。RST為單片機第9引腳。
流水燈電路連接單片機P1接口組,電路圖如下:
數碼管電路底面連接圖,如下:
四、軟件系統的設計和制作
1)利用循環庫函數實現流水燈
循環左移
具體程序如下:
#include
#include
#define uint unsigned int
#define uchar unsigned char
void delayms(uint);
uchar aa;
void main()
{
aa=0xfe;
while(1)
{
P1=aa; //點亮第一個發光二極管
delayms(500); //延時500毫秒
aa=_crol_(aa,1); //將aa循環左移1位后再賦值給aa
}
}
void delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
2)數碼管動態顯示
1、什么是數碼管動態掃描顯示:所謂動態掃描顯示即輪流向各位數碼管送出字形碼和相應的位選,利用發光管的余輝和人眼視覺暫留作用,使人的感覺好像各位數碼管同時都在顯示。
2、編碼數組
uchar code wei[ ]={0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
wei[1]=0xfe 化為二進制數既是 1111 1110
uchar code duan[ ]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d}
duan[2]=0x5b 化為二進制數既是 0101 1011
3、如何實現動態掃描顯示:
利用位選信號先點亮第一個數碼管,如何送入段選信號顯示0;如何點亮第二個數碼管,使其顯示1;依次下去。
使實驗板上6個數碼管逐個點亮,依次顯示123456,然后減小延時函數,至同時顯示數字123456:
編程提示:
while(1)
{
wela=1; // 打開位選端
P0=wei[1]; //利用數組輸入位選信號,選中第一組數碼管
wela=0; // 關閉位選端
dula=1; //打開段選端
P0=duan[1]; //利用數組輸入段選信號,顯示數字1
dula=0; // 關閉位選端
P0=0xff; //在下一次打開位選之前“消影”。
delayms(500); //調用延時子函數,延時0.5秒
…
}
五、制作小結
硬件系統和軟件系統的設計和制作合理適應,能夠實現既定功能。通過動手制作硬件實驗板和編程調試單片機程序,使得學生更加深刻的了解到單片機技術的使用。
參考文獻:
[1]《模擬電子技術第四版》
[2]《新概念51單片機C語言教程》