什么是單片機?
簡單地說,單片機就是一個小計算機系統(tǒng)。為了說明清楚這個問題,得要從計算機說起。提到計算機,大家可能馬上會想到“顯示器、鼠標、鍵盤”,不過,這不是一個計算機的核心和關鍵,計算機的核心部分在一邊的機箱里呢。打開機箱,可以看到,機箱里有主板、硬盤、光驅(qū)等。仔細觀察主板,這上面有CPU、內(nèi)存條、BIOS芯片,通常還有25針的打印機接口等,這些部件都是通過主板上的連線相互連接。
單片機的工作過程就是一個不斷“取指令-分析指令-執(zhí)行指令”的過程。單片機的程序以一條一條指令的形式存放在程序存儲器中,單片機開始工作后,就從程序存儲器的特定位置開始取指令,然后由單片機內(nèi)部的控制器對指令進行分析,根據(jù)指令要求,進行“取數(shù)、送數(shù)、算術(shù)運算、邏輯運算、跳轉(zhuǎn)”等基本操作中的一種或幾種,這些操作都在一個規(guī)定的周期中完成,執(zhí)行完了以后,到下一個存儲器單元中取指令,重復剛才的操作(當然,這些要執(zhí)行的操作具體內(nèi)容可能跟上一次不一樣了),如此不斷重復,直到斷電為止。
單片機開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變?yōu)镃PU可以執(zhí)行的機器碼有兩種方法,一種是手工匯編,另一種是機器匯編,目前已極少使用手工匯編的方法了。機器匯編是通過匯編軟件將源程序變?yōu)闄C器碼,用于MCS-51單片機的匯編軟件有早期的A51,隨著單片機開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級語言開發(fā),單片機的開發(fā)軟件也在不斷發(fā)展。
單片機編程軟件簡述
單片機編程軟件的選擇常以使用的單片機為準,目前較為流行的單片機編程軟件為keil和IAR,這兩款單片機編程軟件的應用對象存在一些不同。本文,主要向大家介紹keil和IAR單片機編程軟件,并對每個過程進行講解,同時整理出單片機編程軟件的使用方法和軟件下載等。
單片機編程軟件有很多,這些編程軟件有什么區(qū)別呢?
Keil單片機編程軟件
Keil C51是單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。Keil提供了包括C編譯器、宏匯編、鏈接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(μVision)將這些部分組合在一起。運行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。如果你使用C語言編程,那么Keil幾乎就是你的不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強大的軟件仿真調(diào)試工具也會令你事半功倍。
用keil軟件編寫單片機程序的步驟:
1、首先是打開keil軟件,打開后顯示的界面如下
2、如下第一張圖所示點擊project-》new project,點擊后將會出現(xiàn)如下第二張圖所示界面;在文件框中填寫你的工程名,名字可以是任意英文字符組成的(在此時你最好在你所希望存儲該工程的地方新建一文件夾,如第二張圖所示就是在桌面上建立了一個測試文件夾來存儲新建的工程)
3、輸入工程名后會出現(xiàn)如下圖所示的芯片選擇對話框,選擇你開發(fā)板上的型號即可(相信要看這張?zhí)拥淖x者一定是在學51單片機,此時只需選擇Atmel-》AT89c52即可。如下第二張圖所示
4、一路點擊確認后回到如下圖所示的主界面,并如下圖所示點擊新建程序輸入文本
5、點擊后出現(xiàn)如下第一張圖所示界面,并點擊保存按鈕
6、點擊保存按鈕后出現(xiàn)下第一張圖所示對話框,在箭頭所指的地方輸入源文件名稱加后綴名(如果你是用C語言編寫程序后綴名為*.c;如果你是用匯編語言編寫程序則后綴名為*.asm)并點擊確認保存。確認后界面如下第二張圖所示,注意箭頭所指地方的變化。
7、接下來的一步是將源文件加入到工程中,點擊選中source group并右擊將會出現(xiàn)如下圖所示界面。
8、再點擊Add files to.……;如下第一張圖箭頭所示處。點擊后將會出現(xiàn)第二張圖所示的對話框,在該對話框中只要點擊選中第五歩保存的源文件并點擊Add即可(注意點擊選中源文件前后的變化,并且特別注意點擊Add后界面沒有任何變化,你只要關閉該對話框即可)
9、打開source group后將會出現(xiàn)如下圖箭頭所指處的變化
10、在右邊的源文件輸入框中寫入程序,并點擊如圖所示的編譯按鈕(可以看到該程序沒有錯誤,編譯成功)
11、但我們點擊進入工程的文件夾沒有看到后綴名為.hex文件,如下圖所示
12、所以我們需點擊target按鈕進行設置,如下第一張圖所示。點擊后出現(xiàn)第二張圖所示對話框
13、在對話框中點擊output選項如下圖1處顯示,并勾選create hex file如下圖2處顯示。勾選后關閉對話框并如第10步再編譯一次。可以看到文件夾中生成了.hex文件
IAR單片機編程軟件
IAR軟件應該是目前支持單片機種類最多的一款軟件了,幾乎支持所有的主流單片機。但是針對某一款具體的單片機,IAR都有一個單獨的安裝包,所以,名義上IAR支持的單片機種類最多,但是實際上,它也是一款單片機一個配套軟件,只不過對于所有的單片機來說,IAR的“長相”基本類似,所以只要知道了一種單片機在IAR下的使用方法,那么再用IAR開發(fā)另一種單片機的時候,按圖索驥就能知道大致的使用方法,例如關于芯片選擇,堆棧配置、仿真設置這些選項,基本上都是在某個具體選項卡下面,很容易就能上手。
IAR常用快捷鍵和使用小技巧
1.復制和粘貼幾行的部分代碼
需求:有時候我們需要復制幾行代碼的后半部分,不需要復制前半部分。
方法:按住Alt鍵,再用鼠標拖動就可以復制和粘貼后半部分
2.復制一行
復制一行的時候,我們一般是從最后開始往前面復制,在軟件中我們可以從上一行的最后開始復制(如下圖所示),這樣粘貼的時候只需要從放在最后就可以粘貼到下一行了,可能說的比較繞口,大家試一試就知道方便之處了。(事實上,多行代碼也可以這樣操作,word中也是一樣的!)
3.IAR中右鍵不能跳轉(zhuǎn)函數(shù)的問題
我們應該放在函數(shù)前面然后單擊右鍵跳轉(zhuǎn),而不是選中函數(shù)!
4.IAR顯示行號
顯示行號:在代碼段點擊右鍵,找到OpTIons-》Editor,將右面的Show Line Numbers 勾選上就可以了。
5.IAR顯示所有的斷點
調(diào)試代碼的時候我們有時候會遇到打了斷點但是忘掉的情況(雖然這不是一個好的習慣),因為我們需要找到所有的斷點并將其關閉,我們可以在View——》Breakpoints中調(diào)用斷點窗口。
關閉方式是單擊右鍵,選擇delete。
小編比較認可單片機編程軟件就是上述兩種,若是有更多更好的編程軟件,歡迎補充。