安徽商貿職業技術學院 周正貴
單片機應用技術是高職院校電子類專業中開設的一門專業課程。在課程實踐教學中,除動手焊接實物單片機電路板外,一般采用Proteus軟件進行仿真,實現虛實結合,提高課堂教學效率。Proteus是英國Lab Center Electronics公司出版的教學仿真平臺,軟件集成了豐富的單片機芯片及外部元器件,支持Keil編譯器。下面重點分析RS485通信技術教學案例,以簡易秒表控制系統為例。
仿真教學系統采用單片機雙機串口通信,甲機單片機端口設計開始、暫停、復位三個按鍵。雙機串口通信轉換芯片使用MAX487,半雙工通信,即每個單片機可作為發送端或接收端。甲機MAX487電路接口電路如圖1所示。

圖1 甲機MAX487接口電路
乙機外圍接口電路如圖2所示。乙機P1端口連接動態顯示數碼管,顯示秒表數字,位選端口連接P2^5和P2^6端口,MAX487電路和甲機MAX487相連接,實現串口通信,本系統甲機作為發送端,己機作為接收端,接收按鍵值信息并控制秒表的工作。

圖2 乙機接口電路
軟件代碼使用C語言編程,集成開發環境使用Keil平臺。串口通信代碼設計思路:甲機啟動后,首先運行串口初始化函數,建立和乙機通信,且P2^0控制端口為高電平,使得甲機為發送端;其次不間斷執行按鍵掃描程序,即開始、暫停、復位三個按鍵按下后,必須發送三個標志數值給乙機,乙機接收到數據后,執行相應指令。
乙機數碼管動態顯示采用中斷設計,即每間隔幾十微秒,執行一次動態掃描,確保掃描不停止,實現顯示功能。秒表延時一秒函數,使用定時器中斷完成。代碼設計思路:乙機程序運行后,首先運行串口初始化函數,執行中斷服務程序完成動態掃描,然后,不間斷執行串口接收函數,獲取相應按鍵值后,控制延時一秒定時器的工作,實現開始、暫停、復位功能。程序執行流程如圖3所示。

圖3 乙機工作流程
本文主要討論了Proteus仿真軟件在單片機教學中的應用,較詳細介紹了雙機通信原理,分析了利用單片機內部定時器、中斷系統資源設計軟件代碼思路,有助于學生進一步了解仿真軟件在單片機教學中的應用。