一款適合課堂教學(xué)的簡易單片機實驗開發(fā)器
單片機應(yīng)用系統(tǒng)課程是目前電類專業(yè)的主干課之一,其操作性很強,對于院校學(xué)生,光靠課堂上的教學(xué)是遠不夠的,除了在課堂上要求學(xué)生掌握基本概念。 了解單片機擴展接口電路的設(shè)計方法和設(shè)計編制程序的流程之外,只有通過課外大量的實際操作,才能掌握單片機應(yīng)用系統(tǒng)的設(shè)計步驟,學(xué)會開發(fā)單片機應(yīng)用系統(tǒng)基本方法。 本文根據(jù)at89s52單片機具有的在系統(tǒng)編程功能,整合了一套成本低廉、取材容易、制作快捷、操作方便的單片機實驗開發(fā)系統(tǒng)。該系統(tǒng)非常適合于課堂上或課堂外使用?! ∮布娐贰 ∮布娐贩譃閱纹瑱C的最小系統(tǒng)和下載器兩大部分?! ∽钚∠到y(tǒng)原理:最小系統(tǒng)是沒有外圍器件及外設(shè)接口擴展的單片機系統(tǒng)。它是單片機應(yīng)用系統(tǒng)的設(shè)計基礎(chǔ),包括最小系統(tǒng)結(jié)構(gòu)選擇、時鐘系統(tǒng)設(shè)計和復(fù)位系統(tǒng)設(shè)計。通常情況下,單片機最小系統(tǒng)分三種結(jié)構(gòu): ?、倏偩€型總線應(yīng)用的最小系統(tǒng)結(jié)構(gòu),該結(jié)構(gòu)由總線型單片機、復(fù)位電路、時鐘電路、i/o口及并行擴展總線組成?! 、诳偩€型非總線應(yīng)用的最小系統(tǒng)結(jié)構(gòu),只有單片機、復(fù)位電路構(gòu)成的最簡單的電路,并行總線不用于外圍擴展,可作為應(yīng)用系統(tǒng)的i/o口使用?! 、鄯强偩€型單片機的最小系統(tǒng)結(jié)構(gòu)?! ∵@里介紹的最小系統(tǒng)屬于第②種,由單片機at89s52和isp編程接口組成,其原理如圖1所示。圖中p0~p3口和cn104留給實驗或?qū)嵱?xùn)時作為i/o口或連接擴展電路用。con101是在下載或讀取芯片內(nèi)部程序時用的isp編程接口,操作時,需要去掉跳線j101。(isp即英文in-system programmable,意為在系統(tǒng)編程。) 下載器:下載器由接口板和連接電纜組成。接口板的原理圖見圖2(a)。圖中u201是8緩沖器74hc244電路,用作計算機并口和單片機的緩沖隔離。連接器cn202是通用的db25針形插頭,與上位機連接,進行通信;其中4、5腳控制u201芯片,在其低電平時允許數(shù)據(jù)正常傳輸,高電平時74hc244的輸出呈高阻狀態(tài);6腳輸出數(shù)據(jù)到單片機;7腳是時鐘信號;9腳是輸出復(fù)位信號;10腳是接收從單片機讀出的數(shù)據(jù)。連接器cn201是標準的10針idc插座,其各項功能?! ∠螺d電纜采用10芯扁平電纜,兩頭壓有idc插頭。一端接下載器,另一端接最小系統(tǒng)板上的isp口?! ≤浖僮鳌 ≡谶@個實驗開發(fā)系統(tǒng)中,軟件使用了keil c和程序下載軟件slisp。有興趣仿真的讀者可使用proteus軟件。由于應(yīng)用電路和程序在仿真環(huán)境與真實環(huán)境中運行,在某些情況下存在一定的差異,所以在這里不予推薦(所用兩個軟件可到相應(yīng)網(wǎng)站上下載安裝)?! eil c的基本操作:安裝keil c軟件后,電腦的桌面上會有圖標顯示。用鼠標左鍵雙擊該圖標便可進入keil c的工作界面,如圖3所示。該界面與word界面類似,上邊是菜單欄,接著是快捷按鈕欄等。這里用到的部分菜單及快捷按鈕的中文含義已標注在圖3上;用到的功能只是創(chuàng)建一個項目或打開一個已有的項目,創(chuàng)建或打開一個源程序文本等,最后把它編譯成需要的十六進制文件。 其操作步驟如下: *新建項目或打開已有的項目 *新建文件或打開已有的文件 *目標文件選項設(shè)置 *建立目標文件,獲得.hex文件 程序讀取與下載:已經(jīng)安裝有雙龍電子下載軟件的電腦,在其桌面上也有圖標顯示。同樣用鼠標左鍵雙擊該圖標便可進入mcu下載程序的工作界面。該界面是中文的,且比較清晰。 首次使用時將“通信參數(shù)設(shè)置及器件選擇”設(shè)置成圖中所示,即通信口設(shè)為并行通信口“l(fā)pt1”,速率設(shè)為“turbo”加速,器件選擇“at89s52”?! “稳プ钚∠到y(tǒng)板上的跳線j101、j102、j103,插上at89s52芯片;將下載線的接口板插入電腦的并口上,用連接電纜把最小系統(tǒng)與接口板連好,再在最小系統(tǒng)上接上+9v電源。注意“+”與“-”不能搞錯。打開電源對最小系統(tǒng)供電,就可以讀寫芯片中的程序了?! ∪绻谙螺d過程中出現(xiàn)錯誤,會在下面的.文本框中出現(xiàn)提示。找到原因后再進行重寫時,需要先把芯片內(nèi)原來的信息擦除掉,然后再寫?! ∪绻麑υ绦蜻M行了修改,那么要重新進行編譯,即點重建目標文件“rebuild ali target files”按鈕,生成新的.hex文件;下載時還要重新加載剛生成的同一文件名的新.hex文件。這樣才能保證本次下載的是已修改的程序?! ⊥瓿缮厦娴牟僮骱螅P(guān)閉+9v電源,拔下連接電纜,插上跳線j101,接上擴展接口電路,就可以檢查程序的運行情況,進行實驗或開發(fā)了。 實訓(xùn)一例 用兩個按鈕分別控制繼電器的吸合和釋放?! 』疽螅喊匆幌麻_關(guān)s1,繼電器j吸合;按一下按鈕s2,繼電器j釋放。如果s2沒有閉合,那么即使按s1,繼電器j也不會吸合?! 崿F(xiàn)電路:利用單片機89s52的p3.6和p3.7口來控制p1.7的狀態(tài),使繼電器的吸合或釋放;當p3.6低電平時使p1.7也低電平,繼電器吸合;