張琳琳
(蘇州高博軟件技術(shù)職業(yè)學(xué)院信息工程系,江蘇蘇州 215163)
Proteus仿真軟件在高職單片機(jī)課程改革中的應(yīng)用
張琳琳
(蘇州高博軟件技術(shù)職業(yè)學(xué)院信息工程系,江蘇蘇州 215163)
針對(duì)學(xué)生學(xué)習(xí)單片機(jī)的積極性不高、系統(tǒng)設(shè)計(jì)難等問(wèn)題,設(shè)計(jì)出基于Proteus的單片機(jī)實(shí)訓(xùn)模塊,從而使學(xué)生主動(dòng)參與單片機(jī)系統(tǒng)設(shè)計(jì)。將單片機(jī)開(kāi)發(fā)過(guò)程中常用的單片機(jī)最小系統(tǒng)、二極管點(diǎn)亮電路、數(shù)碼管顯示電路、矩陣鍵盤、溫度采集、模數(shù)轉(zhuǎn)換、數(shù)模轉(zhuǎn)換進(jìn)行集成,并對(duì)各模塊的作用進(jìn)行了詳細(xì)的說(shuō)明。學(xué)生在設(shè)計(jì)控制系統(tǒng)原理圖時(shí),只需將模塊進(jìn)行相應(yīng)的組裝并加以設(shè)計(jì)即可達(dá)到目的。以溫度測(cè)量存儲(chǔ)系統(tǒng)的設(shè)計(jì)實(shí)例,學(xué)生采用模塊式的設(shè)計(jì)方法,既降低了開(kāi)發(fā)系統(tǒng)的難度,又使其參與細(xì)節(jié)設(shè)計(jì),對(duì)單片機(jī)實(shí)訓(xùn)課程的學(xué)習(xí)起到了一定的促進(jìn)作用。
Proteus;電路集成;模塊組裝;溫度測(cè)量
單片機(jī)課程往往采用理論授課為主、實(shí)驗(yàn)為輔的教學(xué)方式。理論教學(xué)主要講解單片機(jī)的內(nèi)部結(jié)構(gòu)、指令系統(tǒng)、接口技術(shù)等,學(xué)生普遍覺(jué)得枯燥無(wú)味,并且感到很抽象,一些知識(shí)點(diǎn)很難掌握;實(shí)驗(yàn)教學(xué)主要采用實(shí)驗(yàn)箱[1],其內(nèi)部電路連接圖都已封裝好,學(xué)生只需按照實(shí)驗(yàn)步驟將程序下載到單片機(jī)上,即可得出實(shí)驗(yàn)結(jié)果。綜上所述,學(xué)生在學(xué)完這門課之后,對(duì)單片機(jī)的了解僅限于一個(gè)驗(yàn)證的階段,很難掌握具體電路的內(nèi)部細(xì)節(jié),動(dòng)手能力也沒(méi)有得到很好的提高,這就違背了單片機(jī)課程開(kāi)設(shè)的初衷。
Proteus軟件是英國(guó)Lab Center Electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能(原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真),還能仿真單片機(jī)及外圍器件[2]。
2.1 仿真處理器及其外圍電路
Proteus軟件可以仿真51系列、AVR、PIC、ARM等常用主流單片機(jī),同時(shí)還支持各種數(shù)字和模擬電路的仿真,軟件還自帶各種虛擬儀器[3]。學(xué)生只需直接在基于原理圖的虛擬原型上編程,再配合顯示及輸出,就能看到運(yùn)行后輸入輸出的效果。
2.2 減少硬件投入
學(xué)生在單片機(jī)課程學(xué)習(xí)過(guò)程中,可以在Proteus軟件中搭建實(shí)際電路,然后將編譯好的程序下載到相應(yīng)的單片機(jī)中觀察其結(jié)果。這一過(guò)程只需安裝Proteus仿真軟件和KEIL的編程軟件即可[4],不需要額外的硬件投入,就可以達(dá)到較好的效果。
單片機(jī)是一門理論與實(shí)踐相結(jié)合的課程,如何使學(xué)生在學(xué)習(xí)理論知識(shí)的同時(shí),將其應(yīng)用于實(shí)際是任課教師需要考慮的問(wèn)題。因此,在單片機(jī)實(shí)訓(xùn)環(huán)節(jié),采用一種循序漸進(jìn)的系統(tǒng),對(duì)學(xué)生掌握單片機(jī)知識(shí)有一定的幫助。
單片機(jī)系統(tǒng)設(shè)計(jì)中常用的電路模塊主要有單片機(jī)最小系統(tǒng)、二極管點(diǎn)亮模塊、數(shù)碼管顯示模塊、矩陣鍵盤模塊、DS18B20溫度采集模塊、模數(shù)轉(zhuǎn)換模塊、數(shù)模轉(zhuǎn)換模塊等。本文所介紹的單片機(jī)實(shí)訓(xùn)模塊,既能使學(xué)生參與到具體電路的設(shè)計(jì)中,又不至于讓學(xué)生感覺(jué)知識(shí)太難。采用的方法是將常用的電路模塊設(shè)計(jì)好,并預(yù)留相應(yīng)的接口,學(xué)生在使用過(guò)程中只需根據(jù)不同系統(tǒng)的需求將相應(yīng)的模塊組裝到一起即可。
3.1 單片機(jī)最小系統(tǒng)
AT89S51單片機(jī)最小系統(tǒng),就是使單片機(jī)正常運(yùn)行的最低配置,如圖1所示。它由一系列模塊組成[5]:
(1)復(fù)位系統(tǒng)。當(dāng)引腳9出現(xiàn)兩個(gè)機(jī)器周期以上高電平時(shí),單片機(jī)復(fù)位,程序從頭開(kāi)始運(yùn)行。
(2)時(shí)鐘系統(tǒng)。有振蕩器電路產(chǎn)生頻率等于晶振頻率,這時(shí)用的是外界晶振。也可以由外部單獨(dú)輸入,此時(shí)XTAL2腳接地,時(shí)鐘信號(hào)由XTAL1輸入。
(3)電源系統(tǒng)。VCC和GND引腳,供電電壓4~5.5V。
圖1 單片機(jī)最小系統(tǒng)
圖2 二極管點(diǎn)亮電路
3.2 二極管點(diǎn)亮電路
二極管點(diǎn)亮電路主要由74HC573和發(fā)光二極管構(gòu)成,如圖2所示。其中,74HC573在電路中是對(duì)數(shù)碼管的驅(qū)動(dòng),還可以作為數(shù)據(jù)鎖存器、緩沖器,在74HC573的輸入端留有接口,用于連接單片機(jī)的輸出端。學(xué)生可以根據(jù)該二極管點(diǎn)亮模塊實(shí)現(xiàn)的程序有:8個(gè)二極管同時(shí)亮或滅、順次點(diǎn)亮、循環(huán)點(diǎn)亮等。
3.3 矩陣鍵盤電路
如圖3所示,該4×4矩陣鍵盤電路由4根行線和4根列線構(gòu)成,在其行、列交匯點(diǎn)處接有16個(gè)鍵盤。
(1)判斷鍵盤中有無(wú)鍵按下。將全部行線置低電平,然后檢測(cè)列線的狀態(tài)。只要有一列的電平為低,則表示鍵盤中有鍵被按下,而且閉合的鍵位于低電平線與4根行線相交叉的4個(gè)按鍵之中。若所有列線均為高電平,則鍵盤中無(wú)鍵按下。
(2)判斷閉合鍵所在的位置。確認(rèn)有鍵按下后,即可進(jìn)入確定具體閉合鍵的過(guò)程。其方法是:依次將行線置為低電平,即在置某根行線為低電平時(shí),其它線為高電平。在確定某根行線位置為低電平后,再逐行檢測(cè)各列線的電平狀態(tài)。若某列為低,則該列線與置為低電平的行線交叉處的按鍵就是閉合的按鍵。
學(xué)生可以根據(jù)此模塊設(shè)計(jì)出矩陣鍵盤輸入等電路。
圖3 矩陣鍵盤電路
3.4 DS18B20溫度采集模塊
如圖4所示,該模塊采用DS18B20溫度傳感器,采集到的溫度值輸入單片機(jī)進(jìn)行處理。DS18B20數(shù)字溫度計(jì)是DALLAS公司生產(chǎn)的1-Wire,即單總線器件,具有線路簡(jiǎn)單、體積小的特點(diǎn)。因此用它來(lái)組成一個(gè)測(cè)溫系統(tǒng),只需一根通信線,就可以連接很多這樣的數(shù)字溫度計(jì),十分方便。
圖4 DS18B20溫度采集電路
3.5 A/D轉(zhuǎn)換電路
如圖5所示,該電路采用ADC0809芯片實(shí)現(xiàn)將模擬量轉(zhuǎn)化為數(shù)字量的過(guò)程。ADC0809是美國(guó)國(guó)家半導(dǎo)體公司生產(chǎn)的CMOS工藝8通道,8位逐次逼近式A/D模數(shù)轉(zhuǎn)換器。其內(nèi)部有一個(gè)8通道多路開(kāi)關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號(hào),只選8通路模擬輸入信號(hào)中的一個(gè)進(jìn)行A/D轉(zhuǎn)換,是目前國(guó)內(nèi)應(yīng)用最廣泛的8位通用A/D芯片。
圖5 A/D轉(zhuǎn)換電路
3.6 D/A轉(zhuǎn)換電路
如圖6所示,該電路采用DAC0832芯片實(shí)現(xiàn)將數(shù)字量轉(zhuǎn)化為模擬量的過(guò)程。DAC0832也是單片機(jī)教學(xué)中常用的芯片,它需要和一個(gè)運(yùn)算放大器配合使用,可以把8位二進(jìn)制數(shù)變換成模擬電壓。
圖6 D/A轉(zhuǎn)換電路
AD變換的公式為:
學(xué)生根據(jù)本課程所學(xué)知識(shí),能夠利用模塊化的方法設(shè)計(jì)出溫度采集存儲(chǔ)系統(tǒng)的電路仿真,并運(yùn)用程序編寫實(shí)現(xiàn)具體的功能。
4.1 溫度采集存儲(chǔ)系統(tǒng)功能
(1)數(shù)碼管采用十進(jìn)制顯示當(dāng)前采集的環(huán)境溫度;
(2)當(dāng)測(cè)量溫度≤5℃時(shí),發(fā)光二極管D2閃爍,提示溫度過(guò)低;
(3)當(dāng)測(cè)量溫度≥40℃時(shí),發(fā)光二極管D1閃爍,提示溫度過(guò)高;
(4)當(dāng)測(cè)量溫度≥45℃時(shí),單片機(jī)將DS18B20采集到的溫度存儲(chǔ)。
4.2 仿真系統(tǒng)設(shè)計(jì)
基于DS18B20的溫度采集存儲(chǔ)系統(tǒng)包括數(shù)碼管驅(qū)動(dòng)和顯示模塊、DS18B20溫度測(cè)量模塊、二極管發(fā)光模塊和單片機(jī)最小系統(tǒng)。
在Proteus中設(shè)計(jì)出溫度采集存儲(chǔ)系統(tǒng)的仿真系統(tǒng)(其中涉及到的仿真元件清單見(jiàn)表1),具體操作步驟如下:
(1)新建文件;
(2)添加元件,按照表1所示的元器件清單,搜索相應(yīng)元器件;
(3)繪制仿真圖,用鼠標(biāo)將元器件放置到編輯區(qū)的合適位置,并修改相應(yīng)參數(shù);
(4)連線,將鼠標(biāo)放到每個(gè)元件的引腳處,鼠標(biāo)會(huì)自動(dòng)變成連線狀態(tài),單擊鼠標(biāo)即可連線;(5)添加電源和地;(6)設(shè)計(jì)完成。
溫度采集存儲(chǔ)系統(tǒng)如圖7所示。
圖7 溫度采集存儲(chǔ)系統(tǒng)
表1 溫度采集存儲(chǔ)系統(tǒng)仿真元件清單
4.3 軟件設(shè)計(jì)
在進(jìn)行該系統(tǒng)的軟件設(shè)計(jì)之前,先根據(jù)系統(tǒng)要求設(shè)計(jì)出系統(tǒng)流程圖,明確各模塊的作用以及單片機(jī)的時(shí)序。系統(tǒng)上電后,先進(jìn)行必要的初始化,然后溫度傳感器DS18B20測(cè)量出環(huán)境溫度,送入單片機(jī)進(jìn)行處理。如果測(cè)量溫度≤5℃,發(fā)光二極管D2閃爍,提示溫度過(guò)低;如果測(cè)量溫度≥40℃,發(fā)光二極管D1閃爍,提示溫度過(guò)高;如果測(cè)量溫度≥45℃,單片機(jī)保存此溫度。圖8為軟件設(shè)計(jì)流程圖。
圖8 軟件設(shè)計(jì)流程圖
4.4 聯(lián)合調(diào)試
在Keil uVision4中,根據(jù)圖8的流程編寫程序,并將其下載到單片機(jī)芯片AT89C51中。步驟如下:
(1)啟動(dòng)Keil uVision4,新建工程,選擇與單片機(jī)型號(hào)相匹配的CPU(Atmel公司的AT89C51),再新建文件,保存為“溫度采集.asm”;
(2)根據(jù)圖8的流程編寫程序;
(3)程序編寫完成后,進(jìn)行編譯,確認(rèn)無(wú)誤后,生成“溫度采集.hex”文件;
(4)啟動(dòng)Proteus,打開(kāi)如圖7所示的溫度采集存儲(chǔ)系統(tǒng);
(5)雙擊圖7中的AT89C51,將步驟(3)生成的“溫度采集.hex”文件下載到單片機(jī)中;
(6)運(yùn)行該仿真,出現(xiàn)仿真結(jié)果,如圖9所示。
圖9 仿真圖
本文設(shè)計(jì)的單片機(jī)實(shí)訓(xùn)系統(tǒng)涉及到的常用電路模塊有:?jiǎn)纹瑱C(jī)最小系統(tǒng)、二極管點(diǎn)亮電路、數(shù)碼管顯示電路、矩陣鍵盤、溫度采集、模數(shù)轉(zhuǎn)換、數(shù)模轉(zhuǎn)換。在該系統(tǒng)中將這些單片機(jī)常用的電路模塊進(jìn)行封裝,學(xué)生在搭建系統(tǒng)的過(guò)程中,只需根據(jù)實(shí)際系統(tǒng)的需求對(duì)這些模塊進(jìn)行組裝。這一過(guò)程既能使學(xué)生參與到系統(tǒng)原理圖的設(shè)計(jì)中,又減少了重復(fù)勞動(dòng),提高了設(shè)計(jì)效率。該系統(tǒng)在學(xué)生學(xué)習(xí)單片機(jī)的過(guò)程中,真正達(dá)到了理論與實(shí)際相結(jié)合的目的,增強(qiáng)了學(xué)生學(xué)習(xí)的積極性。
[1]王開(kāi),劉美,曾憲橋.基于Proteus的單片機(jī)控制系統(tǒng)的仿真設(shè)計(jì)[J].電子設(shè)計(jì)工程,2015,23(8):180-184.
[2]高艷芬,蔡恒.基于Proteus仿真與實(shí)驗(yàn)板結(jié)合的單片機(jī)實(shí)驗(yàn)教學(xué)改革探討[J].教育教學(xué)論壇,2015(23):138-139.
[3]劉文光,張銘銘.Proteus仿真在單片機(jī)課程項(xiàng)目式教學(xué)中的應(yīng)用[J].信息技術(shù)與信息化,2012(2).
[4]徐金增.單片機(jī)編程仿真實(shí)驗(yàn)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].濟(jì)南:山東師范大學(xué),2009.
[5]陳淑芳.基于51單片機(jī)的教學(xué)實(shí)驗(yàn)系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)[D].青島:中國(guó)海洋大學(xué),2011.
The application of Proteus in the curriculum reform of single-chip computer
ZHANG Lin-lin
(Department of information engineering,Global Institute of Software Technology,Jiangsu Suzhou 215163,China)
In order to improve students'interest in MCU learning,this thesis designs some training modules which are based on Proteus.Using the models,students can active-ly participate in curriculum design aspects.This thesis integrates some circuits which are in common use of MCU development process,such as,single chip microcomputer system、diode light circuit、matrix keyboard circuit、DS18B20 temperature acquisition circuit、A/D Circuit and D/A Circuit. The role of each module,in this thesis,has a detailed description.In the design of control system schematics,students only need to assemble appropriated models and in addition with their own idea,they can achieve their goals.Finally,a system with storage temperature measurement is given in this thesis.Students use a modular design approach to achieve it.This approach not only reduces the difficulty of system development,but also enables students to participate in it.So,the modular design approach has played a certain role in the MCU learning.
Proteus;integrated circuits;module assemble; temperature measurement
G642
A
1673-2022(2016)04-0060-05
2016-06-13
張琳琳(1988-),女,江蘇泰州人,講師,碩士,主要從事工業(yè)自動(dòng)化和智能控制方面的研究。