AVR單片機C語言入門一例
本文引用地址:http://www.ex-cimer.com/article/201611/318724.htm
設(shè)置軟件的工作界面。軟件的默認字體并不太好看,需要設(shè)置一下,先運行CodeVisionAVR,點擊菜單欄的“Settings”選擇“Editor”就可以打開設(shè)置界面了,其中“Font”就是字體,請選擇自己喜歡的字體和大小,推薦使用Fixedsys字體;另外“Comments”是注釋,顏色選擇灰白色比較容易區(qū)分;關(guān)鍵字“C Keywords”選擇藍色比較大眾化。這樣,工作界面就算設(shè)置完畢了。
新建工程。點擊菜單欄的“File”選擇“New”;在對話框里選擇“Project”新建一個工程;在新建工程對話框里選擇“yes”就出現(xiàn)了向?qū)Ы缑媪?。我們是以ATmega48為例,芯片當然是選擇ATmega48了;芯片時鐘一般是默認1M內(nèi)部RC時鐘,在時鐘框里輸入“1”就是了;由于我們剛開始還不熟練,所以其它的選項就不必理會;最后,我們點擊向?qū)У?ldquo;File”菜單,選擇“Generate,Save and Exit”保存向?qū)Мa(chǎn)生的文件,一共是3個,分別是C文件、工程文件、向?qū)募?/p>
編寫源代碼。完成上面的步驟后就可以出現(xiàn)主編輯窗口了,里面的內(nèi)容就是軟件向?qū)Мa(chǎn)生的一些初始化代碼,如果你不喜歡這些代碼,可以把其中的一部分或者全部刪除, 并寫入自己的代碼。
編譯源代碼。寫好代碼后點擊編譯按鈕(或者點擊菜單欄的“Project—>Make”),如果源代碼沒有錯誤,那么就可以產(chǎn)生燒寫單片機所需要的hex文件了,如果源代碼有錯誤的話則不會產(chǎn)生hex文件,并且軟件會在左邊的窗口里顯示出紅色的錯誤提示,單擊它就可以定位到錯誤的地方了。
燒寫hex文件。燒寫也稱‘編程’或者‘下載’;CVAVR集成芯片的ISP下載功能。不過由于這個軟件是E文的,怕有部分E文不好的朋友操作不慎把芯片鎖死,所以這個步驟就不詳細的介紹了,推薦使用雙龍公司的中文SL-ISP編程軟件。
下面是一個最簡單的例子,就是讓ATmega48單片機的‘PD3’引腳輸出1Hz的方波驅(qū)動LED。 硬件方面,新買回來的ATmega48的時鐘是默認的內(nèi)部RC振蕩時鐘,頻率是1MHz,我們只要把芯片接上5V電源 就可以工作了,電路夠簡單吧,代碼如下:
//編譯器: CodeVisionAVR 1.25.1 Evaluation
//芯片時鐘: 1000000Hz
#include
#include
voidmain(void)//主函數(shù),單片機從這里開始運行
{
PORTD.3=0;//配合DDRD.3=1使用就使PD3端口推換輸出低電平
DDRD.3 =1;//設(shè)置PD3引腳為輸出
while(1)//循環(huán)語句,括號里面的表達式是"真"就循環(huán)
{
delay_ms(500);//延時500ms
PORTD.3=~PORTD.3;//電平取反
};
}
另外有一點要提一下的就是,上面的源代碼編譯后產(chǎn)生的機器代碼大小是111words,就是222字節(jié),表面上看這個CVAVR軟件的代碼效率不高,但是事實卻恰恰相反,隨著源代碼的增多,你就會發(fā)現(xiàn),這個編譯軟件產(chǎn)生的機器代碼不管是大小還是運行時間都是非常優(yōu)秀的,這也是本站推薦使用的其中一個原因。
評論