|
本帖最後由 fatzeros 於 2014-7-11 06:19 PM 編輯
前篇:
沈大胖的MCU入門學習之路---00.前言
要進入微控的世界裡,學習程式語言是必須的,
因為,你要作出任何的功能,都必須將撰寫好的程式轉譯成機器語言後,再燒錄進MCU裡,
所以,學習程式語言是必經的一條路。
那麼要學習那一種程式語言呢?
目前在微控的領域裡,主流使用的程式語言是C語言,再來才是組合語言,
像我們這種初學者或是剛要入門的學習者,建議還是學習C語言比較合適,
等C語言有一定的認知和基礎之後,再來參照一下組合語言,
因為在使用編譯器編譯之後,某些編譯器會輸出組合語言的參照檔,
進階者可以對照著組合語言的參照檔,來增加寫出的C語言程式效率,
或是直接使用組合語言來對MCU作比較精準的操作。
另外比起組合語言來說,C語言屬高階程式語言,
在學習及撰寫上比較接近人類使用的語言,在理解上也比較容易。
再來,要說到英文語言的部份,在學習C語言的時候,大家真的不用怕自身的英文程度的問題,
因為,會使用的英文大部份只侷限在於單字及名稱上,
舉例來說,我想要讓一顆接在MCU上第P23腳的LED閃爍,
簡單的使用C語言來寫:- #include <reg52.h> //載入MCU標頭檔
- main() //主函數
- {
- while(1) //迴圈
- {
- P23 = 1 ; //P23腳電平拉高,LED亮
- delay(500) ; //使用延時函數
- p23 = 0 ; //P23腳電平降低,LED暗
- delay(500) ; //使用延時函數
- }
- }
複製代碼 以上就是藉由控制MCU上第P23腳的電位,來對接在這裡的LED進行通電或斷電的動作,來達到LED閃爍的功能。
那麼我們來看一下程式本身:
第一行是載入使用的MCU標頭檔(也就是定義檔的意思),在這裡,我是使用8052相容標頭,英文單字只有include(包含)
第三行是C語言的主程式結構,也稱為主函數,英文單字只有main(主要)
第五行是C語言的while迴圈函數語法,在這裡他的意思是while(當)(條件)執行以下的程式,條件1為真,條件0為偽,
所以while(1)的意思就是說,條件永遠為真,故while迴圈永遠執行,英文單字只有while(當)
第七行的意思是說,MCU P23腳指定為1(拉高電平),P23在這裡可當成為一個變數
注意C語言的=等於符號,不是等於的意思,而是指定的的意思,數學上的等於符號是==(兩個等於符號)
第八行是說執行delay()子函數(或稱子程式),C語言是由主函數及其他子函數組成的,
在這裡,我沒把delay()子函數的程式寫出來,英文單字只有delay(延遲)
第九行同第七行,只是把MCU P23腳指定為0(電平拉低)
第十行同第八行,如此把第七到第十行依序執行完才是一次LED閃爍的動作,英文單字也只有delay(延遲)
把整個程式來看,一開始先載入MCU的檔頭檔,然後進入主函數程式,執行一個永遠執行的迴圈來作LED閃爍的動作,
並藉由delay()子程式來達成LED明暗的間隔。
我們把程式裡所有的英文單字列出來:include,main,while,delay,這四個英文單字,也都不是很難的單字,
所以學習程式語言,真的不用怕自己的英文程度的問題,大都是查查字典就能解決的!
看了以上的C語言的程式,可以了解到C語言就是由一個主函數及其他子函數及變數所組成的程式語言。
那麼有關C語言的程式語法,接下來可能就要大家自己拿書來看了,
目前推薦的是這一本:「由片語學習C程式設計」,這一本是中文的,不要怕!
接下來就是在自己的電腦裡建置學習C語言程式的環境。 |
評分
-
14
查看全部評分
-
|