劉昆山
(江西冶金技師學院,江西 南昌 330000)
任務教學法應用于單片機教學實例
劉昆山
(江西冶金技師學院,江西 南昌 330000)
文章介紹了在MCS 51單片機教學中采用任務教學法的一個應用實例,通過完成《單燈閃爍器》這個任務,使學生掌握單片機系統的硬件電路設計的基本知識和單片機C語言程序簡單的設計方法,掌握單片機開發的基本步驟。該教學方法亦可應用于其他單片機知識的教學。
單片機教學;任務教學法;單燈閃爍器
單片機是一門實踐性很強的課程,是電子、機電、數控、汽車電子等相關專業必須開設的一門課程。單片機技術是電子產品更新換代的核心技術,只要采用單片機技術開發的產品,其智能化水平和性價比都大大超越傳統的產品,目前主要應用于計算機、電子表、計算器、數碼相機、手機、MP3、遙控器、洗衣機等,所以從事電子相關產業的工作人員必須學好單片機技術。
《單片機原理及應用》這門課程,傳統的學科教學法是以大綱為基準,以教材為基礎,以教師為主體,教師講,學生聽為主要教學方式。開始的時候學生聽得可能很認真,但是由于這門課程是一門專業課,理論知識很抽象,這就導致越學越糊涂,最后失去了學習的興趣。如何設計教學方法,激發學生的學習興趣,真正理解和掌握單片機技術,是目前單片機教學中急需解決的問題。
單片機產品需要硬件和軟件共同支持,所以單片機的學習必須是理論與實踐緊密結合,邊學邊做,以具體的任務為目標,在學習的過程中制作單片機產品,使學生在做的過程中得到提高,激發學生的興趣,達到良好的教學效果。本文將依據“邊學邊做”的單片機教學模式,通過《單燈閃爍器》的制作,學會單片機基本知識、程序框圖的設計、單片機 C語言程序設計等,從而初步掌握單片機開發的全部過程。
依據單片機的基本工作條件和任務目標,設計單燈閃爍器的電路原理圖如下:

圖1 單燈閃爍器的電路原理圖
本電路圖使用的電源為5V,可以采用三節干電池串聯成4.5V。
我們選擇圖 1中的LED1作為單燈閃爍的控制目標,也就是我們將看到LED1單獨閃爍。在我們編寫程序前應該學會用程序流程圖來表達我們的程序設計意圖,特別是設計復雜程序的時候,更需要這一步驟。
1.程序流程圖設計
程序流程圖又稱之為程序框圖,它是程序開發者最熟悉的一種算法表達工具。它獨立于任何一種程序設計語言,能比較直觀和清晰地描述過程的控制流程,易于學習掌握。因此,程序流程圖是程序開發者最普遍采用的一種工具。
程序流程圖一般采用下面五種符號表示:
(1)起始框 (2)終止框(3)處理過程框 (4)判斷框(5)流程線

圖2 程序流程圖基本框
依據任務目標和流程圖編寫規則,單燈閃爍器程序流程圖設計如下:

圖3 程序流程圖
2.單燈閃爍程序設計
結合設計的程序流程圖和任務目標,采用單片機 C語言編寫《單燈閃爍器》程序如下:
#include<reg52.h>//包含52系列單片機頭文件
sbit led1=P1^0;//聲明位變量led1為單片機的第一個引腳,
既是P1.0。
void delayms()//延時子函數
{
int i,j;
for(i=0;i<200;i++)
for(j=0;j<200;j++)
;
}
void main()//主程序
{
while(1)//循環語句,單片機一直循環執行語句組。
{
led1=0;// 單片機的第一個引腳輸出低電平,點亮LED。
delayms();//調用延時子函數
led1=1; // 單片機的第一個引腳輸出高電平,熄滅LED。
delayms();//調用延時子函數
}
}
1.硬件電路的焊接步驟
第一步:依據硬件電路,列出元件清單,到電子市場上購買材料,正常的價格在20元以內。
第二步:對所有元件進行檢測,確保每個元件的質量。
第三步:在萬能板上依據單燈閃爍器原理圖設計 PCB電路圖。進行規劃振蕩電路、復位電路、電源電路、外圍電路等,單片機芯片的布局時要疏密合理。
第四步:依據 PCB電路圖,先焊接振蕩電路,再焊接外圍電路,復位電路,電源電路。焊接的時候要注意晶振電路應盡量靠近單片機芯片,性能會更穩定。
2.把用戶編寫的程序寫入單片機芯片中。
第一步:打開KEIL C51軟件,建立工程文件和程序文件并做好相應的設置,把上面的單燈閃爍器源程序輸入電腦并保存好。
第二步:用KEIL C51調試、編譯程序,并生成目標文件*.HEX。
第三步:接好ISP下載器,打開DownloadMcu軟件,把目標文件寫入單片機芯片中。
第四步:取下芯片,裝在單片機最小系統上,接上電源,調試程序。
正常情況下,接上電源后都可以觀測到單燈閃爍的效果,如果沒有效果,那我們應該從下面幾個步驟來檢測調試:
第一步,用萬用表檢測電源是否接通,主要是看看40腳和20腳之間是否有5V電壓。
第二步,檢測第31引腳,是否有5V電源,目的是確保使用了片內存儲器。
第三步:檢測P3口或P2口的空閑電壓是否有5V電壓,如果沒有,說明單片機系統沒有工作。
第四步:用萬用表檢測復位電路,通過復位按鍵,檢測第9腳的電壓是否會變化。如果按鍵沒有按下,電壓為0V,按鍵按下后,電壓立刻變為5V,之后很快的降為0V,則表示復位電路正常。
第五步,用示波器檢測振蕩電路,主要是檢測第18、19腳。檢測是否有振蕩波產生。如果有,表示振蕩電路正常。
最后,檢測每條PCB板上的焊接走線是否有短路、斷路、虛焊等焊接故障,一定要確保焊接走線正常導電,初學者是最容易犯這個錯誤的。
通過完成單燈閃爍器教學任務,學會硬件電路的設計、單片機 C語言程序設計的基本用法、電路焊接、產品調試等基本知識。讓學生對單片機有了初步的認識,從而能夠了解單片機工作的模式和具體過程,明白了怎樣利用單片機來設計滿足自己設定功能的作品,以及利用單片機來控制外圍電路等。至此,學生已經掌握了單片機開發的基本步驟,可以根據本文的設計基礎進行功能擴展,制作八路流水燈。
G424.1
A
1008-1151(2011)06-0148-02
2011-04-26
劉昆山(1980-),男,江西余干縣人,江西省冶金技師學院助理講師,研究方向為單片機技術教學。