單片機是通過程序來實現(xiàn)各種功能。而單片機的常用的程序語言有C51、匯編編程等,我們今天就給大家講講其中一種語言:C51。
1.利用C語言開發(fā)單片機的優(yōu)點
每一塊單C語言作為一種非常方便的語言而得到廣泛的支持,很多硬件開發(fā)都用C語言編程。單片機的C51與用匯編編程相比,有如下優(yōu)點:
①對單片機的指令系統(tǒng)不要求有任何的了解,就可以用C語言直接編程操作單片機。
②寄存器分配、不同存儲器的尋址及數(shù)據(jù)類型等細節(jié)完全由編譯器自動管理。
③程序有規(guī)范的結(jié)構(gòu),可分成不同的函數(shù),可使程序結(jié)構(gòu)化。
④庫中包含許多標準子程序,具有較強的數(shù)據(jù)處理能力,使用方便。 、⑤具有方便的模塊化編程技術(shù),使已編好的程序很容易移植。
C語言常用語法不多,尤其是單片機的C語言常用語法更少,有益于編寫小而快的程序。
2.C51中的基本數(shù)據(jù)類型
當我們給單片機編程時,單片機也要運算,而在單片機的運算中,變量中數(shù)據(jù)的大小是有限制的,我們不能隨意給一個變量賦任意的值,因為變量在單片機的內(nèi)存中是要占據(jù)空間的,變量大小不同,所占據(jù)的空間就不同,為了合理利用單片機的內(nèi)存空間,我們在編程序時就要設(shè)定合適的數(shù)據(jù)類型,不同的數(shù)據(jù)類型也就代表了十進制中不同的數(shù)據(jù)大小,所以我們在設(shè)定一個變量之前,必須要給編譯器聲明這個變量的類型,以便讓編譯器提前從單片機內(nèi)存中分配給這個變量合適的空間。單片機的C語言中常用的數(shù)據(jù)類型如表1-1-3所示。
表1-1-3 C51中常用的數(shù)據(jù)類型
那么什么是所占的位數(shù)呢?在編寫程序時,無論是以十進制、十六進制還是二進制表示的數(shù),在單片機中,所有的數(shù)據(jù)都是以二進制的形式存儲在存儲器中的,既然是二進制,那么就只有兩個數(shù),0和1,這兩個數(shù)每一個所占的空間就是一位(b),位也是單片機存儲器中最小的單位。比位大的單位是字節(jié)(B),一個字節(jié)等于8位(即1B=8b)。
3.C51中的運算符
C51中的算術(shù)運算符如表1-1-4所示。
表1-1-4 C51中的算術(shù)運算符
C51中的關(guān)系(邏輯)運算符如表1-1-5所示。
表1-1-5 C51中的關(guān)系(邏輯)運算符
C51中的位運算符如表1-1-6所示。
表1-1-6 C51中的位運算符
4.C51中的基礎(chǔ)語句
C51中用到的基礎(chǔ)語句如表1-1-7所示。
表1-1-7 C51中的基礎(chǔ)語句