痞酷網_PIGOO

 找回密碼
 立即註冊
!!! [系統偵測到廣告阻擋軟體] !!!

如果您覺得痞酷網對您有些許幫助,或者您認同痞酷網的理想,

那麼希望您將痞酷網設定為白名單.

並請在上論壇的時候,動動您的手指,用行動支持我們.

謝謝!
查看: 16265|回復: 4

沈大胖的MCU入門學習之路---01.程式語言

[複製鏈接]
發表於 2014-7-11 18:22:02 | 顯示全部樓層 |閱讀模式
本帖最後由 fatzeros 於 2014-7-11 06:19 PM 編輯

前篇:
沈大胖的MCU入門學習之路---00.前言

要進入微控的世界裡,學習程式語言是必須的,
因為,你要作出任何的功能,都必須將撰寫好的程式轉譯成機器語言後,再燒錄進MCU裡,
所以,學習程式語言是必經的一條路。

那麼要學習那一種程式語言呢?
目前在微控的領域裡,主流使用的程式語言是C語言,再來才是組合語言,
像我們這種初學者或是剛要入門的學習者,建議還是學習C語言比較合適,
等C語言有一定的認知和基礎之後,再來參照一下組合語言,
因為在使用編譯器編譯之後,某些編譯器會輸出組合語言的參照檔,
進階者可以對照著組合語言的參照檔,來增加寫出的C語言程式效率,
或是直接使用組合語言來對MCU作比較精準的操作。

另外比起組合語言來說,C語言屬高階程式語言,
在學習及撰寫上比較接近人類使用的語言,在理解上也比較容易。

再來,要說到英文語言的部份,在學習C語言的時候,大家真的不用怕自身的英文程度的問題,
因為,會使用的英文大部份只侷限在於單字及名稱上,
舉例來說,我想要讓一顆接在MCU上第P23腳的LED閃爍,
簡單的使用C語言來寫:
  1. #include <reg52.h>          //載入MCU標頭檔

  2. main()                              //主函數
  3. {
  4.           while(1)                   //迴圈
  5.           {
  6.                     P23 = 1 ;      //P23腳電平拉高,LED亮
  7.                     delay(500) ;   //使用延時函數
  8.                     p23 = 0 ;      //P23腳電平降低,LED暗
  9.                     delay(500) ;   //使用延時函數
  10.           }
  11. }
複製代碼
以上就是藉由控制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

查看全部評分

 樓主| 發表於 2014-7-17 16:35:55 | 顯示全部樓層
以下是我收集到的有關C語言學習的網站:

http://pydoing.blogspot.tw/2012/10/c-tutorial.html

http://imil.au.edu.tw/~hsichcl/C_OnLine.htm

http://openhome.cc/Gossip/CGossip/

http://dhcp.tcgs.tc.edu.tw/c/

C語言的格式.pdf (1.61 MB, 下載次數: 235)

供大家學習參考。
發表於 2014-7-17 17:19:42 | 顯示全部樓層
大胖兄開講了......

趕快拿板凳來佔個好位置......
發表於 2015-4-11 15:19:47 | 顯示全部樓層
+1偶要聽 !!
發表於 2015-4-20 23:24:44 | 顯示全部樓層
有得學了 !!
您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

關閉

站長小叮嚀上一條 /1 下一條

禁閉室|手機版|連繫我們|痞酷網電子技術論壇

GMT+8, 2024-4-20 04:41 AM , Processed in 0.067095 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.