單片機(jī)C入門參考模板_第1頁
單片機(jī)C入門參考模板_第2頁
單片機(jī)C入門參考模板_第3頁
單片機(jī)C入門參考模板_第4頁
單片機(jī)C入門參考模板_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、51系列單片機(jī)C語言入門學(xué)習(xí)2008-10-29 12:08學(xué)習(xí)單片機(jī)實(shí)在不是件易事,一來要購買高價(jià)格的編程器,仿真器,二來要學(xué)習(xí)編程語言,還有眾多種類的單片機(jī)選擇真是件讓人頭腦的事。在眾多單片機(jī)中51架構(gòu)的芯片風(fēng)行很久,學(xué)習(xí)資料也相對很多,是初學(xué)的較好的選擇之一。51的編程語言常用的有二種,一種是匯編語言,一種是C語言。匯編語言的機(jī)器代碼生成效率很高但可讀性卻并不強(qiáng),復(fù)雜一點(diǎn)的程序就更是難讀懂,而C語言在大多數(shù)情況下其機(jī)器代碼生成效率和匯編語言相當(dāng),但可讀性和可移植性卻遠(yuǎn)遠(yuǎn)超過匯編語言,而且C語言還可以嵌入?yún)R編來解決高時(shí)效性的代碼編寫問題。對于開發(fā)周期來說,中大型的軟件編寫用C語言的開發(fā)周期

2、通常要小于匯編語言很多。綜合以上C語言的優(yōu)點(diǎn),我在學(xué)習(xí)時(shí)選擇了C語言。以后的教程也只是我在學(xué)習(xí)過程中的一些學(xué)習(xí)筆記和隨筆,在這里加以整理和修改,希望和大家一起分享,一起交流,一起學(xué)習(xí),一起進(jìn)步。單片機(jī)與電子制作網(wǎng)站為廣大網(wǎng)友提供無代碼限制的KEIL C6.2的軟件  第一課建立您的第一個(gè)C項(xiàng)目使用C語言肯定要使用到C編譯器,以便把寫好的C程序編譯為機(jī)器碼,這樣單片機(jī)才能執(zhí)行編寫好的程序。KEIL uVISION2是眾多單片機(jī)應(yīng)用開發(fā)軟件中優(yōu)秀的軟件之一,它支持眾多不同公司的MCS51架構(gòu)的芯片,它集編輯,編譯,仿真等于一體,同時(shí)還支持,PLM,匯編和C語言的程序設(shè)計(jì),它的界

3、面和常用的微軟VC+的界面相似,界面友好,易學(xué)易用,在調(diào)試程序,軟件仿真方面也有很強(qiáng)大的功能。因此很多開發(fā)51應(yīng)用的工程師或普通的單片機(jī)愛好者,都對它十分喜歡。以上簡單介紹了KEIL51軟件,要使用KEIL51軟件,必需先要安裝它。KEIL51是一個(gè)商業(yè)的軟件,對于我們這些普通愛好者可以到KEIL中國代理周立功公司的網(wǎng)站上下載一份能編譯2K的DEMO版軟件,基本可以滿足一般的個(gè)人學(xué)習(xí)和小型應(yīng)用的開發(fā)。(安裝的方法和普通軟件相當(dāng)這里就不做介紹了)安裝好后,你是不是迫不及待的想建立自己的第一個(gè)C程序項(xiàng)目呢?下面就讓我們一起來建立一個(gè)小程序項(xiàng)目吧。或許你手中還沒有一塊實(shí)驗(yàn)板,甚至沒有一塊單片機(jī),不過

4、沒有關(guān)系我們可以通過KEIL軟件仿真看到程序運(yùn)行的結(jié)果。首先當(dāng)然是運(yùn)行KEIL51軟件。怎么打開?噢,天!那你要從頭學(xué)電腦了。呵呵,開個(gè)玩笑,這個(gè)問題我想讀者們也不會提的了:P。運(yùn)行幾秒后,出現(xiàn)如圖11的屏幕。2 / 13圖11啟動時(shí)的屏幕接著按下面的步驟建立您的第一個(gè)項(xiàng)目:(1)點(diǎn)擊Project菜單,選擇彈出的下拉式菜單中的New Project,如圖12。接著彈出一個(gè)標(biāo)準(zhǔn)Windows文件對話窗口,如圖13,這個(gè)東東想必大家是見了N次的了,用法技巧也不是這里要說的,以后的章節(jié)中出現(xiàn)類似情況將不再說明。在"文件名"中輸入您的第一個(gè)C程序項(xiàng)目名稱,這里我們用"t

5、est",這是筆者慣用的名稱,大家不必照搬就是了,只要符合Windows文件規(guī)則的文件名都行。"保存"后的文件擴(kuò)展名為uv2,這是KEIL uVision2項(xiàng)目文件擴(kuò)展名,以后我們可以直接點(diǎn)擊此文件以打開先前做的項(xiàng)目。圖12New Project菜單圖13文件窗口(2)選擇所要的單片機(jī),這里我們選擇常用的Ateml公司的AT89C51。此時(shí)屏幕如圖14所示。AT89C51有什么功能、特點(diǎn)呢?不用急,看圖中右邊有簡單的介紹,稍后的章節(jié)會作較詳細(xì)的介紹。完成上面步驟后,我們就可以進(jìn)行程序的編寫了。(3)首先我們要在項(xiàng)目中創(chuàng)建新的程序文件或加入舊程序文件。如果你沒有現(xiàn)成

6、的程序,那么就要新建一個(gè)程序文件。在KEIL中有一些程序的Demo,在這里我們還是以一個(gè)C程序?yàn)槔榻B如何新建一個(gè)C程序和如何加到您的第一個(gè)項(xiàng)目中吧。點(diǎn)擊圖15中1的新建文件的快捷按鈕,在2中出現(xiàn)一個(gè)新的文字編輯窗口,這個(gè)操作也可以通過菜單FileNew或快捷鍵Ctrl+N來實(shí)現(xiàn)。好了,現(xiàn)在可以編寫程序了,光標(biāo)已出現(xiàn)在文本編輯窗口中,等待我們的輸入了。第一程序嘛,寫個(gè)簡單明了的吧。下面是經(jīng)典的一段程序,呵,如果你看過別的程序書也許也有類似的程序:#include <AT89X51.H>#include <stdio.h>void main(void)SCON = 0x5

7、0; /串口方式1,允許接收TMOD = 0x20; /定時(shí)器1定時(shí)方式2TCON = 0x40; /設(shè)定時(shí)器1開始計(jì)數(shù)TH1 = 0xE8; /11.0592MHz 1200波特率TL1 = 0xE8;TI = 1;TR1 = 1; /啟動定時(shí)器while(1)printf ("Hello World!n"); /顯示Hello World圖14選取芯片圖15新建程序文件   這段程序的功能是不斷從串口輸出"Hello World!"字符,我們先不管程序的語法和意思吧,先看看如何把它加入到項(xiàng)目中和如何編譯試運(yùn)行。(4)點(diǎn)擊圖15中的

8、3保存新建的程序,也可以用菜單FileSave或快捷鍵Ctrl+S進(jìn)行保存。因是新文件所以保存時(shí)會彈出類似圖13的文件操作窗口,我們把第一個(gè)程序命名為test1.c,保存在項(xiàng)目所在的目錄中,這時(shí)你會發(fā)現(xiàn)程序單詞有了不同的顏色,說明KEIL的C語法檢查生效了。如圖16鼠標(biāo)在屏幕左邊的Source Group1文件夾圖標(biāo)上右擊彈出菜單,在這里可以做在項(xiàng)目中增加減少文件等操作。我們?quot;Add File to Group 'Source Group 1'"彈出文件窗口,選擇剛剛保存的文件,按ADD按鈕,關(guān)閉文件窗,程序文件已加到項(xiàng)目中了。這時(shí)在Source Group

9、1文件夾圖標(biāo)左邊出現(xiàn)了一個(gè)小+號說明,文件組中有了文件,點(diǎn)擊它可以展開查看。圖16把文件加入到項(xiàng)目文件組中(5)C程序文件已被我們加到了項(xiàng)目中了,下面就剩下編譯運(yùn)行了。這個(gè)項(xiàng)目我們只是用做學(xué)習(xí)新建程序項(xiàng)目和編譯運(yùn)行仿真的基本方法,所以使用軟件默認(rèn)的編譯設(shè)置,它不會生成用于芯片燒寫的HEX文件,如何設(shè)置生成HEX文件就請看下面的第三課。我們先來看圖17吧,圖中1、2、3都是編譯按鈕,不同是1是用于編譯單個(gè)文件。2是編譯當(dāng)前項(xiàng)目,如果先前編譯過一次之后文件沒有做動編輯改動,這時(shí)再點(diǎn)擊是不會再次重新編譯的。3是重新編譯,每點(diǎn)擊一次均會再次編譯鏈接一次,不管程序是否有改動。在3右邊的是停止編譯按鈕,只

10、有點(diǎn)擊了前三個(gè)中的任一個(gè),停止按鈕才會生效。5是菜單中的它們,我個(gè)人就不習(xí)慣用它了。嘿嘿,這個(gè)項(xiàng)目只有一個(gè)文件,你按123中的一個(gè)都可以編譯。按了?好快哦,呵呵。在4中可以看到編譯的錯誤信息和使用的系統(tǒng)資源情況等,以后我們要查錯就靠它了。6是有一個(gè)小放大鏡的按鈕,這就是開啟關(guān)閉調(diào)試模式的按鈕,它也存在于菜單DebugStartStop Debug Session,快捷鍵為Ctrl+F5。圖17編譯程序(6)進(jìn)入調(diào)試模式,軟件窗口樣式大致如圖18所示。圖中1為運(yùn)行,當(dāng)程序處于停止?fàn)顟B(tài)時(shí)才有效,2為停止,程序處于運(yùn)行狀態(tài)時(shí)才有效。3是復(fù)位,模擬芯片的復(fù)位,程序回到最開頭處執(zhí)行。按4我們可以打開5中的串行調(diào)試窗口,這個(gè)窗口我們可以看到從51芯片的串行口輸入輸出的字符,這里的第一個(gè)項(xiàng)目也正是在這里看運(yùn)行結(jié)果。這些在菜單中也有,這里不再一一介紹大家不妨找找看,其它的功能也會在后面的課程中慢慢介紹。首先按4打開串行調(diào)試窗口,再按運(yùn)行鍵,這時(shí)就可以看到串行調(diào)試窗口中不斷的打?quot;Hello World!"。呵呵,是不是不難呀?這樣就完成了您的第一個(gè)C項(xiàng)目。最后我們要停止程序運(yùn)行回到文件編輯模式中,就要先按停止按鈕再按開啟關(guān)閉調(diào)試模式按鈕。然后我們就

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論