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