天天看點

手把手教你學單片機_手把手進行KeilC程式設計調試和仿真

編者按:停課不停學是目前全國疫情階段實施在教育系統的基本要求。作為職業技能院校的授課和學習,都采用網上授課的形式實施,一般理論課程還好進行,但實踐技能課程的授課就要要相對麻煩些。操作錄屏示範,操作示範示範等均為線上授課之必須。但這些方式對于學生來講,有些還是難以進行,那麼最為傳統的文字教學,則也是非常的重要。本文則是一篇适用于大學中單片機教學的操作實訓編寫,非常适合實踐課程的教學。步驟詳實,操作環環相扣。本文作為疫情教學的實踐課程模闆,歡迎更多的實踐課程老師撰寫在疫情期間的授課經驗分享。

單片機的Keil C程式設計,還是難到了很多單片機程式設計的初學者,往往看書看視訊都容易懵圈,筆者通過親自操作和體驗,總結出一個比較完整的Keil C單片機程式設計的調試、仿真及程式下載下傳等完整過程,很詳細的手把手示範,供初學者進行單片機學習程式設計入門。

首先我們需要安裝好Keil uVision4內建編譯軟體、stc-isp-15xx-v6.86O程式下載下傳燒錄軟體(不需安裝)、及CH340序列槽驅動軟體。(如有不會的可參考筆者在2019電子報第48~51期的第9版關于Keil C的應用文章)

然後我們啟動Keil C軟體,就可以開啟程式設計之旅了,如圖1所示。

手把手教你學單片機_手把手進行KeilC程式設計調試和仿真

            圖1

一、程式設計篇

啟動起來的Keil uVision4軟體是空白的,如圖2。如果已經有工程檔案可以關閉工程或者打開工程檔案,我們這裡是建立工程和檔案。

手把手教你學單片機_手把手進行KeilC程式設計調試和仿真

                圖2

建立工程需要點選菜單

手把手教你學單片機_手把手進行KeilC程式設計調試和仿真

,再選擇

手把手教你學單片機_手把手進行KeilC程式設計調試和仿真

項,如圖3。

手把手教你學單片機_手把手進行KeilC程式設計調試和仿真

                圖3

選擇建立uVision工程後,則會出現選擇存放位置的頁面,需要在專門的位置建立工程檔案夾,用于存放工程及相關的檔案,一般不要建在桌面或C槽,檔案路徑盡量短,且最後不要使用中文檔案名,如圖4。

手把手教你學單片機_手把手進行KeilC程式設計調試和仿真

圖4

    建好工程檔案夾和項目檔案夾,則需要寫上工程名字,工程名字盡量簡潔便于識别,工程名檔案的預設擴充名是Project Files(*uvproj) ,如圖5。

手把手教你學單片機_手把手進行KeilC程式設計調試和仿真

  圖5

點選“儲存”按鈕後,視窗彈出

手把手教你學單片機_手把手進行KeilC程式設計調試和仿真

“添加标注8051代碼到項目”的對話框,選“确定”即可,随後會出現選擇單片機型号的頁面,如圖6。

手把手教你學單片機_手把手進行KeilC程式設計調試和仿真

    圖6

這裡選擇Atmel裡面的AT89S52與實訓平台對應,然後點選“OK”完成單片機型号的選擇。然後需要建立項目檔案,點選菜單

手把手教你學單片機_手把手進行KeilC程式設計調試和仿真

,然後選擇

手把手教你學單片機_手把手進行KeilC程式設計調試和仿真

項,選擇建立過後,則在軟體主視窗自動出現Text1的檔案編輯頁面,點選軟體裡面的儲存菜單項或圖示,則在出現的頁面“檔案名”後面輸入檔案的名字,檔案名同樣要盡量簡潔明了,盡量不要用中文。檔案名的擴充名預設是All Files(*.*),雖然擴充名是所有檔案,但這裡是要建立C檔案,在檔案名後面必須要輸入“.c”,如果是彙程式設計式,則輸入“.asm”,如圖7。

手把手教你學單片機_手把手進行KeilC程式設計調試和仿真

圖7

點選“儲存”過後,則建立并儲存了項目檔案,該檔案可以進行編輯程式,但是還沒有加載到對應的工程裡面。在左邊“Project”視窗裡面的

手把手教你學單片機_手把手進行KeilC程式設計調試和仿真

處,滑鼠右擊,在出現的菜單頁面選擇                          

手把手教你學單片機_手把手進行KeilC程式設計調試和仿真

選項,如圖8。

手把手教你學單片機_手把手進行KeilC程式設計調試和仿真

圖8                          

在出現的選擇對話框裡面選中需要加載的C檔案,點選“Add”則相應的C檔案已經加入到目前工程中,如圖9。

手把手教你學單片機_手把手進行KeilC程式設計調試和仿真

圖9

現在,在目前工程管理視窗裡面已經有加入的目前項目檔案了,接下來就可以進行程式設計,期待已久的程式設計現在就可以開始了。              首先,需要在主視窗的第一行添加頭檔案,則輸入#include,如果字型較小,可以進行設定調整。點選快捷菜單按鈕

手把手教你學單片機_手把手進行KeilC程式設計調試和仿真

,打開設定頁面,選擇裡面的

手把手教你學單片機_手把手進行KeilC程式設計調試和仿真

頁面,在Window”視窗裡面選擇

手把手教你學單片機_手把手進行KeilC程式設計調試和仿真

,在“Element”裡面選擇

手把手教你學單片機_手把手進行KeilC程式設計調試和仿真

,點選

手把手教你學單片機_手把手進行KeilC程式設計調試和仿真

按鈕,在彈出的“Font”頁面

手把手教你學單片機_手把手進行KeilC程式設計調試和仿真

裡面選擇合适的字型大小,如圖10。

手把手教你學單片機_手把手進行KeilC程式設計調試和仿真

圖10

這裡我們編制一個LED間隔500ms閃爍的程式。要編制單片機控制發光二極管LED閃爍的單片機C程式,先要熟悉硬體連接配接情況和定義引腳,用STC89C52單片機控制LED硬體連接配接可以參考圖11。

手把手教你學單片機_手把手進行KeilC程式設計調試和仿真

圖11

由圖11可以看出,要控制LED閃爍,隻需要控制LED的陰極的高低電平,即是控制LED的導通與截至,也就是控制與之相連接配接的單片機STC89C52的P1_1腳即P1^0口的高低電平,以500ms的時間間隔轉換,則可以用循環延時實作。在程式設計中,根據C程式的格式進行位定義和變量說明,再進行編寫主程式,程式如圖12。

手把手教你學單片機_手把手進行KeilC程式設計調試和仿真

圖12

在用到程式體“{}”時,要成對出現,括号内的語句用“;”隔開,每一層用“Tab”鍵縮進,縮進的空格數可以點選

手把手教你學單片機_手把手進行KeilC程式設計調試和仿真

快捷按鈕,進入設定頁面進行設定,如圖13。

手把手教你學單片機_手把手進行KeilC程式設計調試和仿真

圖13

    編制完程式先進行儲存,再進行編譯,編譯時點選快捷按鈕上的編譯按鈕

手把手教你學單片機_手把手進行KeilC程式設計調試和仿真

。此三個按鈕第一個表示編譯目前界面的C檔案,用時最短;第二個表示聯合編譯目前工程檔案過程,比較常用;第三個表示聯合編譯整個過程,所有檔案重新編譯,用時較多。我們一般選擇第二個編譯按鈕,進行程式編譯,編譯主要是把C程式翻譯成對應的機器指令,編譯通過會在程式視窗下面的Build Output的視窗将相應資訊顯示出來,如圖14。

手把手教你學單片機_手把手進行KeilC程式設計調試和仿真

圖14 

手把手教你學單片機_手把手進行KeilC程式設計調試和仿真

圖15

編譯中如果出現文法、邏輯錯誤,也會在BuildOutput的視窗将相應的警告或錯誤資訊顯示出來,如圖15是頭檔案後面多了分号的錯誤消息顯示。

編譯完程式,需要下載下傳燒寫到單片機運作,能下載下傳到單片機的程式分為hex(十六進制)和bin(二進制)檔案兩種,也就是能夠在單片機上運作的可執行檔案,我們這裡需要在編譯後生成hex檔案。點選軟體設定快捷按鈕

手把手教你學單片機_手把手進行KeilC程式設計調試和仿真

,進入相關設定項,如圖16。

手把手教你學單片機_手把手進行KeilC程式設計調試和仿真

 圖16

在圖17中,選擇

手把手教你學單片機_手把手進行KeilC程式設計調試和仿真

頁面按鈕,在

手把手教你學單片機_手把手進行KeilC程式設計調試和仿真

選項前面進行勾選,則在編譯後系統會生成相應的hex檔案,如圖17。在設定時,需要在

手把手教你學單片機_手把手進行KeilC程式設計調試和仿真

頁面裡面設定晶振頻率,在

手把手教你學單片機_手把手進行KeilC程式設計調試和仿真

項後面設定為與單片機配置相适應的晶振頻率,我們這裡是11.0592M。

手把手教你學單片機_手把手進行KeilC程式設計調試和仿真

圖17

至此一個基本的單片機控制LED燈閃爍的C程式就編寫完成了,如果程式沒有錯誤,就可以進行下載下傳燒錄程式到單片機進行執行應用了。

西南科技大學城市學院 劉光乾 陳丹 馬興茹