閆紅蕾
目前單片機在教學過程中,面臨實驗室經(jīng)費緊張、課時有限的困難。為了讓學生增加就業(yè)機會,在教學中必須盡可能地為學生提供更多更好的單片機實踐機會。本文借助Proteus強大的仿真能力以及豐富的資源庫,可以有效地替代硬件仿真器進行先期的軟硬件調(diào)試,使開發(fā)過程變得高效。我們在教學中,選取非常容易理解的程序,從實際入手,引人入勝。
1 教學設計背景
目前企業(yè)對單片機應用人才的需求量仍然很大,同時,對技術(shù)水平的要求也越來越高,所以單片機教學一方面要面臨實驗室經(jīng)費緊張、課時有限的困難,另一方面為了增大學生的的就業(yè)機會,我們的教學必須盡可能地為學生提供更多更好的單片機實踐機會。借助Proteus的對CPU和外圍電路強大的仿真能力以及豐富的資源庫,可以有效地替代硬件仿真器進行先期的軟硬件調(diào)試,等到仿真結(jié)果基本理想時再進行實際的硬件調(diào)試,這樣的開發(fā)過程不僅高效,而且可以盡可能地減少損失。對于剛接觸單片機的學生來說,擁有一臺計算機和一套Proteus軟件,就可以很好地開展單片機的入門學習,還可以積累一些實用的硬件開發(fā)經(jīng)驗。本文講解如何仿真生活中很常見的流水燈。
2 學習目標
掌握Proteus仿真軟件的使用方法和流水燈的硬件及軟件設計。能夠在Proteus仿真軟件中實現(xiàn)流水燈的仿真。
3 教學設計過程
3.1分析從左到右流水燈的設計要求
8只LED燈接在P1端口,LED陽極連接P1,陰極通過限流電阻接地,P1端口相應引腳輸出1時,才會使相應的LED點亮,為產(chǎn)生單個LED循環(huán)滾動效果,P1端口初值設為01H(00000001B),這會使第1只LED點亮,然后把送給P1端口的數(shù)據(jù)循環(huán)左移,依次為00000010B,00000100B,00001000B,……直到變?yōu)?0000000B后,第1次循環(huán)結(jié)束,然后繼續(xù)送第1只LED高電平,即可使8只LED從左向右形成循環(huán)走馬燈效果。
3.2硬件設計
在Proteus中進行電路設計,打開ISIS 7 Professional窗口。選擇所需要的元器件,放置好元件,布好線。左鍵雙擊各元件,設置相應元件參數(shù),完成電路圖的設計,如圖1所示。
3.3軟件設計
ORG 0000H
START: MOV A,#01H
LP: MOV P1,A
MOV R1,#10
DEL1: MOV R2,#200
DEL2: MOV R3,#126
DEL3: DJNZ R3,DEL3
DJNZ R2,DEL2
DJNZ R1,DEL1
RL A
LJMP LP
END
3.4調(diào)試與仿真
在Proteus中進行調(diào)試,打開ISIS 7 Professional窗口,打開設計好的硬件電路圖,左鍵雙擊AT89C51單片機,在彈出的對話框中進行設置, “Program File”項中,必須選擇在Keil中生成的十六進制HEX文件------led2.hex。然后執(zhí)行“Debug”菜單中的“Start/Restart Debuging”開始調(diào)試并仿真,仿真結(jié)果如圖2所示。這樣就實現(xiàn)了從左到右流水燈的控制效果。
4 課堂評價
1)在課堂上,用Proteus仿真軟件向?qū)W生講授并演示單片機的工作過程及工作效果,讓學生能夠有直觀的感受,提高學生的學習興趣和學習積極性,學生們展現(xiàn)出了極大的熱情,因為他們動手參與了畫圖設計和軟件設計,并能夠看到自己的成果演示,很有成就感。
2)對課堂的內(nèi)容進行一定的延伸,合理的布置作業(yè),讓學生利用Proteus來驗證作業(yè)結(jié)果,這不僅可以讓學生思維得到擴展,還可以讓學生的動手能力得到一定的提高。
5 教學反思
目前,Proteus仿真教學的軟件編程語言使用的匯編語言,這種語言比較簡單,易于上手,但功能有限,可以在后續(xù)的教學中加入C語言的編寫設計,以適應企業(yè)的要求,培養(yǎng)出更加合格的高技能人才。
(作者單位:江蘇省揚州技師學院)