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