摘 要 本文結合單片機課程特點和仿真軟件的功能特點,提出基于Protues仿真軟件和Keil編程軟件進行單片機課程的一體化教學,以解決傳統教學存在的不足。通過一個具體案例仿真過程,說明了借助于Protues與Keil對單片機課程進行仿真教學,硬件與軟件聯機調試,形象直觀,對培養高職學生從會“操作”、能“上手”、到能夠設計完成相應的實際產品能力具有重大的作用。
關鍵詞 單片機 Protues 仿真 虛擬實驗
中圖分類號:G424 文獻標識碼:A
The Application of Protues and Keil Joint and
Simulation in the One-Chip Computer Teaching
LIU Dan
(Department of Electrical and Information Engineering,
Hu'nan Science and Industry Polytechnic College, Xiangtan, Hu'nan 411207)
Abstract Based on the single chip microcomputer course characteristics and the functions and characteristics of the simulation software, based on Protues simulation software Keil programming software for single-chip microcomputer and the integration of teaching, in order to solve the deficiency existing in the traditional teaching process, through a specific case simulation shows that by using Protues Keil with the single chip microcomputer simulation teaching, on-line debugging the hardware and software, visual image, to cultivate higher vocational students from can operation can begin to be able to complete the corresponding actual product design ability plays an important role.
Key words microcontroller; Protues; simulation; virtual experiment
0 引言
作為計算機技術在控制領域的應用,單片機以其體積小、性能強、集成度高、功耗低、控制能力強、易擴展等特點,廣泛應用于工業自動化方面、儀器儀表、家用電器、醫用設備、信息和通信產品方面、航空航天、軍事、專用設備的智能化管理及過程控制等領域。單片機課程是電子、自動化和機電類專業一門重要的專業技術基礎課,具有理論知識體系嚴謹、抽象和邏輯性強的特點,因其成本低、應用性好而受到廣大開發者和使用單位的青睞,具有較廣闊的市場前景。學習單片機需要做大量的實踐操作來進行硬件和軟件聯調,利用Protues與Keil整合構建單片機虛擬實驗室可解決個人配備單片機實驗開發系統成本高、資金耗費等問題。通過學習,學生可以綜合運用單片機的軟硬件技術,分析解決實際工程問題,為其就業和深造打下堅實的基礎。
1 Protues與Keil軟件介紹
1.1 Protues軟件介紹
Protues 是英國Labcenter公司開發的電路仿真軟件,該軟件的仿真功能和調試程序的功能很強大,有如下功能和特點:
(1)功能。①原理布圖功能;②SPICE電路仿真功能;③PCB自動或人工布線功能。
(2)特點。①互動的電路仿真:用戶可以實時采用RAM,ROM,LED,LCD,鍵盤,MOTOR, AD/DA,部分SPI、IIC器件。②仿真處理器及其外圍電路:可仿真51系列、ARM、PIC、AVR、等常用主流單片機。可以直接在繪制的原理圖上,配合虛擬示波器、信號發生器、電流表、電壓表等器件,結合程序運行后看到輸入輸出的效果。
1.2 Keil軟件介紹
單片機開發中除必要的硬件電路外,還必須要有軟件程序才可以實現電路的控制。Keil軟件則是目前最流行開發MCS-51系列單片機的軟件,通過在Keil軟件中新建工程項目、編寫編譯調試程序,并在Protues設計出來的仿真電路中載入程序進行聯機調試。系統仿真調試時,不僅能觀察到程序執行時單片機寄存器和存儲器等內容變化,而且從工程的角度直觀地看到了外圍電路工作情況,非常接近工程應用。
2 虛擬實訓室的構建
單片機控制系統是軟、硬件結合的應用系統,將Proteus和Keil軟件引入單片機課堂教學,構建一個適合“教、學、做”一體化教學的單片機虛擬實訓室。
(1)系統資源。任何一種單片機都提供了一定的系統資源。對于51系列單片機來講,所提供的資源是以寄存器和存儲器的方式體現出來的。
(2)硬件電路的設計、制作與調試。硬件電路的設計包括兩部分內容:一是系統的擴展;二是系統的配置。大部分常用的硬件電路設計可以通過Protues軟件來實現,學生通過Protues軟件的使用,可以很方便地掌握硬件電路的設計方法。
(3)應用軟件的編寫與調試。學生通過使用Keil 軟件來編寫與調試程序,可以掌握單片機各種指令和單片機軟件開發的方法和技巧。
(4)聯合總調。利用Keil與Protues軟件的聯合仿真調試可以實現系統的總調。在該系統中,Proteus作為硬件仿真和調試界面,Keil則作為軟件調試界面。
3 Protues與Keil聯調教學實例
3.1 任務描述
利用單片機控制實現一位共陽數碼管循環顯示1~9。
3.2 硬件電路
電路如圖1所示。
在 protues的原理圖設計窗口中,放置單片機及所需的外圍元件如數碼管、電阻等,設置各元件參數,連接元器件。
3.3 軟件程序
在Proteus里打開設計好的電路。打開Keil軟件,在Keil中建立工程項目、文件并在窗口中編寫程序,程序如下:
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN: MOV R0,#10
MOV DPTR,#TABLE
MOV R1,#00H
LD: MOV A,R1
MOVC A,@A+DPTR
MOV P2,A
ACALL DELAY
INC R1
DJNZ R0,LD
SJMP MAIN
TABLE: DB 0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
DELAY:MOV R7,#10
LOOP1:MOV R6,#100
LOOP0:MOV R5,#250
DJNZ R5,$
DJNZ R6,LOOP0
DJNZ R7,LOOP1
RET
END
程序編寫好后,進行程序編譯,編譯通過后,生成.hex的十六進制文件。
打開之前利用Protues仿真軟件繪制好的原理圖,雙擊單片機芯片,調入用Keil生成的.hex文件,運行,調試,在兩個軟件結合調試的時候,把Keil的界面調的小一點,讓它在Proteus界面的上面,露出Proteus界面的數碼管,這樣將會看到聯機調試后的結果,若調試成功,則將看到數碼管循環顯示1~9,中間間隔1秒鐘。
4 結束語
利用Protues與Keil進行聯合仿真,具有比較明顯的優勢。利用仿真可以做全部的軟件調試和極大多數的硬件系統。因是虛擬仿真平臺,可降低硬件成本和減少調制周期的方法,學生通過該仿真平臺,可以更加容易理解相關理論知識,更好地掌握好課堂講授的內容。Protues大量的仿真范例,可供學生參考處理,加強了學生自主學習的能力,提高了學生的學習興趣,也給學生后續進行實際電路的設計、制作、安裝和調試打下了堅實的基礎。
參考文獻
[1] 胡漢才.單片機原理及其接口技術學習輔導與實踐教程[M].北京:清華大學出版社,2004.6.
[2] 田豐.虛擬實驗與真實實驗的整合研究[J].實驗技術與管理,2005.22(11):89-92.
[3] 張迎新.單片機原理及應用[M].北京:電子工業出版社,2005.
[4] 秦志強.C51單片機應用與C語言程序設計[M].北京:電子工業出版社,2007.12.
[5] 李廣第.單片機基礎(第1版).北京:北京航空航天大學出版社,1999.