AT89S51單片機實驗系統(tǒng)的開發(fā)與應用
摘要:針對傳統(tǒng)單片機實驗系統(tǒng)依賴于仿真器調(diào)試,實驗成本高且效率低,不適應現(xiàn)代科技的開發(fā)要求的問題,為改善單片機實驗系統(tǒng)的性能,采用在系統(tǒng)編程(ISP)的方法,利用AT89S51芯片設計了一種單片機實驗系統(tǒng)。實驗表明系統(tǒng)結構簡單,實用性強,達到了工科類高職生快速掌握單片機的基礎知識的預期效果。
關鍵詞:AT89S51;實驗系統(tǒng);ISP;74LS164
目前單片機應用已滲透到各個領域,單片機技術的發(fā)展也因此日新月異。作為實踐性很強的應用型學科,單片機研發(fā)及教學離不開實驗。傳統(tǒng)的單片機實驗系統(tǒng)需要頻繁拔插燒寫單片機芯片來編程,依賴于仿真機調(diào)試,實驗成本高且效率低,已不適應現(xiàn)代科技開發(fā)需求。如何充分合理利用單片機的性能,方便用戶高效學習與開發(fā)產(chǎn)品成為當前的研究熱點。
單片機在電子產(chǎn)品中的應用已經(jīng)越來越廣泛,并且在很多學校也開設了相關的課程。通過對在校學生的調(diào)查,以及網(wǎng)絡上收集到資料的綜合分析,得知:目前無論是社會上還是在校學生,學習單片機的人數(shù)呈不斷增加之勢,對于單片機實驗板的需求也不斷增加。但是由于目前多數(shù)實驗板價錢較高,實驗項目不適于初學者學習。所以,開發(fā)出一套價格低廉,易學易用的單片機實驗板,供實驗室使用,也可以為今后學生學習單片機技術提供一個開發(fā)平臺。
1 開發(fā)方案
開發(fā)此套實驗板一方面要價格低廉,另一方面要易學易用。除了可以完成單片機課程教學大綱規(guī)定的“LED實驗”、“按鍵操作實驗”、“蜂鳴器操作實驗”、“數(shù)字顯示實驗”等常規(guī)基礎實驗以外,還要滿足課程設計、實習實訓、畢業(yè)設計等教學環(huán)節(jié)的需求,開發(fā)諸如“雙機通信”、“電子溫度計”、“萬年歷”、“電子琴”、“數(shù)顯秒表”、“模擬交通燈”、“紅外遙控”等較高檔次的綜合實驗項目。
首先,對于開發(fā)成本方面,電子元件占的比重最大,減少這方面的開銷成為重點。還有電路板的花費,以及其他原材料的開銷,這些花費要相對較少。因此,在購買電子元器件時盡量選用市場上常見產(chǎn)品,由于這些元件的普遍性和常用性,其性能不但可靠,且價格低廉。
其次,對于實驗板的易學易用性,借鑒已有的開發(fā)板方面的資料,總結其優(yōu)缺點,取其精華,選用目前開發(fā)單片機開發(fā)板中最常用的開發(fā)工具和開發(fā)語言。
進行單片機的實驗或開發(fā)時,通常需要借助編程器將調(diào)試好的目標程序寫入到單片機內(nèi)部程序存儲器中。普通的編程器價格從幾百元到幾千元不等。另外,在開發(fā)過程中,程序每改動一次就要拔下電路板上的芯片編程后再插上,比較麻煩。
隨著單片機技術的發(fā)展,出現(xiàn)了可以在系統(tǒng)編程(ISP)的單片機。ISP一般是通過單片機的串行接口對內(nèi)部的程序存儲器進行編程,如Philips公司的P89C51RX+、P89C51RX2單片機;Atmel公司的AT89S8252單片機;Winbond公司的W78E516等。利用在系統(tǒng)編程(ISP)的單片機,單片機的實驗和開發(fā)不需要編程器,單片機芯片可以直接焊接到電路板上,調(diào)試結束即成成品,甚至可以遠程在線升級單片機中的程序,使得單片機應用系統(tǒng)的設計、生產(chǎn)、維護、升級等環(huán)節(jié)都發(fā)生著深刻的變革。
因此,本著價格低廉、易學易用的原則,采用Atmel公司生產(chǎn)的支持ISP技術的AT89S51單片機為控制器。
2 單片機實驗開發(fā)系統(tǒng)
2.1 單片機實驗開發(fā)系統(tǒng)電路原理圖
單片機實驗開發(fā)系統(tǒng)電路原理圖如圖1所示。
[!--empirenews.page--]
2.2 裝配與焊接
2.2.1 單片機實驗開發(fā)系統(tǒng)的裝配與焊接
單片機實驗開發(fā)系統(tǒng)的裝配主要包括:實驗板的裝配和串行口下載線的裝配。焊接前,需對照附錄中的元件清單及電路原理圖,檢查元器件是否完整。
2.2.2 單片機實驗板的裝配
單片機實驗板元器件的插裝與焊接主要是需要注意元器件安裝的先后順序和每個元器件的方向,步驟如下:
(1)電阻的焊接:先對照裝配圖,將所有電阻安裝并焊接到相應位置,然后將剪下的電阻引腳保留,作為下一步的跳線使用。
(2)跳線的焊接:因為在畫PCB圖時,為了美觀,跳線常設置在大元件下面,所以必須在安裝元件前焊接跳線。跳線可以用單股粗導線,也可以使用其他元件剪下來的引腳。
(3)74LS164及數(shù)碼管的焊接;作為數(shù)字顯示單元的數(shù)碼管是安裝在74LS164上方的,所以要先安裝74LS164,并注意方向,緊貼電路板焊接,然后再安裝數(shù)碼管。
(4)集成塊底座的焊接:單片機AT89S51和MAX232兩個集成塊是.安裝在集成塊底座上的,千萬不能直接將集成塊焊在電路板上,所以這里要先焊底座。
(5)發(fā)光二極管的焊接:這里發(fā)光二極管有4種顏色,其中白色的作為電源指示使用,其他紅、黃、綠三色的LED作為“交通燈”指示使用(安裝時最好統(tǒng)一為;順時針依次為紅、黃、綠三種顏色)。發(fā)光二極管的兩個引腳是分正、負(陽極、陰極)的,需注意裝配圖中的標注方向。
(6)二極管IN4007、電解電容、三極管8550、蜂鳴器、7805穩(wěn)壓模塊、第6腳自鎖按鍵等的焊接:上述這些元件也都是有方向的,請大家在安裝時特別注意。
(7)其他元件的焊接:最后焊接完剩下的其他元器件。
說明:在電路板上預留有溫度傳感器DS18B20和紅外遙控接收模塊RSM0038的安裝位置,這兩個元件不包含在本實驗板套件之中,在此無需焊接。
2.2.3 串行口下載線的焊接與裝配
實驗板要與PC機連接進行程序下載燒寫,必須有一根專用的串行口下載線。
在這里采用了1根4排的平行導線將兩個串行口接頭的4~8四個引腳一一對應的連接起來(引腳標號在串行口接頭上可以看到),并可靠焊接,需注意相鄰兩引腳之間,千萬不要短路。最后將外殼及螺絲安裝上,這根下載線就做好。
2.3 開發(fā)板調(diào)試
2.3.1 硬件調(diào)試
(1)元器件失效
元器件失效可能原因有兩個:一個是元器件買來時就已壞;另一個是由于安裝錯誤,造成器件燒壞。可以采取檢查元器件與設計要求的型號、規(guī)格和安裝是否一致。在保證安裝無誤后,用替換方法就可以排除錯誤。
(2)排除電源故障
在通電前,一定要檢查電源電壓的幅值和極性,否則很容易造成元件的損壞。加電后檢查各插件上引腳的電位,一般先檢查Vcc與GND之間電位,若在5~4.8 V之間屬于正常。
(3)液晶模塊調(diào)節(jié)
主要是在液晶模塊的對比調(diào)節(jié)上,液晶模塊顯示很暗,可以調(diào)節(jié)一下電位器,可能是電壓低的原因。
(4)電解電容
對于電解電容焊接時要特別注意其管腳的正負,其中長的管腳是正極,短的是負極。[!--empirenews.page--]
2.3.2 軟件調(diào)試
(1)開發(fā)工具和開發(fā)語言:電路板開發(fā)工具為Multisim 10;編譯軟件一Keil C51;開發(fā)語言為C語言、匯編語言。
(2)調(diào)試注意事項:
①與此實驗開發(fā)系統(tǒng)配合使用的軟件主要有WAVE和ISP下載軟件。在與PC機連接時,單片機實驗開發(fā)系統(tǒng)一定要斷電,否則可能會燒壞MAX232芯片和PC機的主板。
②在斷電的情況下,將AT89S51單片機插入實驗板的單片機插座上,并將實驗板與PC機之問的串行通信電纜連接好,通信電纜一端接在PC的串口COM1或COM2上,另一端接實驗板。
③正確接通電源,并按下實驗板左下角的編程開關,它旁邊的編程指示燈亮,說明該實驗系統(tǒng)處于程序下載燒寫狀態(tài)。
3 部分實例
3.1 跑馬燈實驗(8個發(fā)光二極管輪流點亮)
(1)實驗任務。利用程序控制來實現(xiàn)發(fā)光二極管的輪流點亮發(fā)光,該實驗用到P0的全部8個端口,以及P1.4端口。
(2)程序流程圖如圖2所示。
(3)實驗總結。實驗是實驗板的第一個實驗,這里要做的就是對單片機的熟悉,對I/O口的一些操作,也是對實驗板的性能的一個簡單測試。
3.2 一鍵多功能識別實驗
(1)實驗任務。開關K6按鍵接在P3.7/RD管腳上,在AT89S51單片機的P1端口的4個發(fā)光二極管。上電的時候,L1接在P1.0管腳上的發(fā)光二極管在閃爍,當每一次按下開關SP1的時候,L2接在P1.1管腳上的發(fā)光二極管在閃爍,再按下開關SP1時,L3接在P1.2管腳上的發(fā)光二極管在閃爍,再按下開關SP1時,L4接在P1.3管腳上的發(fā)光二極管在閃爍,再按下開關SP1的時候,又輪到L1閃爍了,如此輪流下去。
(2)程序流程圖。一鍵多功能識別程序流程如圖3所示。
(3)實驗總結。該實驗是對鍵盤和顯示系統(tǒng)的一個起步介紹實驗,通過這個實驗,能夠實現(xiàn)一個按鍵控制顯示不同的結果。實驗結束后,學生對按鍵和顯示的配合使用有了更深入的了解。這個實驗既是對上個實驗的鞏固,又為以后的實驗提前作了準備,其中對按鍵的去抖動處理,應特別關注。[!--empirenews.page--]
3.3 定時器對蜂鳴器控制
(1)實驗任務。改變定時器的初值來改變頻率使蜂鳴器發(fā)出不同的聲音。
(2)程序流程圖如圖4所示。
(3)實驗總結。該實驗是利用定時器中斷來改變揚聲器的頻率,實驗中要注意中斷函數(shù)的書寫方法以及對定時器處置的改變方式。定時器在單片機中是很常見的,所以對定時器要熟練的掌握和應用。
3.4 六位數(shù)碼管顯示實驗
(1)實驗任務。讓6個8位數(shù)碼管同時顯示0~5六個數(shù)字。
(2)程序流程如圖5所示。
(3)實驗總結。作為一種輸出方式,數(shù)碼管顯示不僅可以實現(xiàn)友好的人機界面,而且設計簡單,價格便宜。數(shù)碼管顯示可以分為靜態(tài)顯示和動態(tài)顯示兩種。靜態(tài)顯示很占用電路板空間,而且大量占用I/O端口,因此,該實驗選用了節(jié)省電路板空間的動態(tài)顯示方式。
3.5 串行通信實驗
(1)實驗任務。由上位機發(fā)送命令控制發(fā)光二極管的亮滅。
(2)程序流程圖如圖6所示。
(3)實驗總結。該實驗的代碼很簡單,而且沒有用到串行口中斷,通過EA=0關閉了所有中斷,通過這個實驗學生可以體會到上位機與單片機通信的原理和規(guī)劃,以及使用方法,現(xiàn)今上位機和單片機的通信系統(tǒng)廣泛應用,希望通過這個小實驗能使學生掌握應用這一技術。
3.6 DS18B20溫度采集實驗
(1)實驗任務。通過電子元件DS18B20,進行溫度采集。
(2)程序流程圖如圖7所示。
(3)實驗總結。數(shù)據(jù)采集和處理是51單片機的常用領域,除了電信號以外,單片機還可以利用傳感器實現(xiàn)對非電信號的采集。該實驗采用了一種直接輸出式的溫度傳感器芯片DS18B20實現(xiàn)單片機控制溫度系統(tǒng)。
4 結語
該實驗開發(fā)系統(tǒng)基本涵蓋了C52單片機中的所有資源,是集單片機開發(fā)實驗板、在系統(tǒng)可編程,并可以升級成為在線仿真器的綜合實驗開發(fā)系統(tǒng)。除了可以完成單片機課程教學大綱規(guī)定的“LED實驗”、“按鍵操作實驗”、“蜂鳴器操作實驗”、“數(shù)字顯示實驗”等常規(guī)基礎
實驗以外,還可以滿足課程設計、實習實訓、畢業(yè)設計等教學環(huán)節(jié)的需求,開發(fā)諸如“雙機通信”、“電子溫度計”、“萬年歷”、“電子琴”、“數(shù)顯秒表”、“模擬交通燈”、“紅外遙控”等較高檔次的綜合實驗項目,它是一款經(jīng)過多次改型和完善的、高性價比的單片機學習和開發(fā)系統(tǒng)。