嵌入式C程序基礎與編程結構

嵌入式C程序基礎與編程結構

Basics of Embedded C Program and Programming Structure

嵌入式C編程是處理器在我們日常生活中遇到的每一個嵌入式系統(如手機、洗衣機和數碼相機)中運行的靈魂。

每個處理器都與一個嵌入式軟件相關聯。首先也是最重要的是決定嵌入式系統功能的嵌入式軟件。嵌入式C語言是單片機最常用的編程語言。
在這裏插入圖片描述
早期,許多嵌入式應用程序是使用匯編級編程開發的。但是,它們沒有提供可移植性。這種缺點被各種高級語言如C、Pascal和COBOL的出現所克服。然而,正是C語言在嵌入式系統中得到了廣泛的接受,而且它還在繼續這樣做。編寫的C代碼更加可靠、可伸縮和可移植;而且事實上,更容易理解。

關於C語言

C語言是丹尼斯·裏奇在1969年開發的。它是一個或多個函數的集合,每個函數都是執行特定任務的語句的集合。

C語言是一種中級語言,它支持高級應用程序和低級應用程序。在深入討論嵌入式C編程的細節之前,我們應該先了解RAM的內存組織。

語言的顯著特點

C語言是一個用不同的關鍵字、數據類型、變量、常量等設計的軟件。

嵌入式C是一個通用術語,它被賦予一種用C編寫的編程語言,它與特定的硬件體系結構相關聯。

Embedded C是C語言的一個擴展,帶有一些附加的頭文件。這些頭文件可能會從一個控制器更改爲另一個控制器。

使用微控制器8051 include<reg51.h>。

嵌入式系統設計者必須瞭解硬件體系結構,才能編寫程序。這些程序在監視和控制外部設備方面發揮着突出的作用。它們還直接操作和使用微控制器的內部結構,如中斷處理、定時器、串行通信和其他可用功能。

Differences between C and Embedded C
在這裏插入圖片描述
嵌入式軟件的基本附加特性

數據類型

數據類型是指一個廣泛的系統,用於聲明不同類型的變量,如整數、字符、浮點等。嵌入式C軟件使用四種數據類型,用於在內存中存儲數據。

“char”用於存儲任何單個字符;“int”用於存儲整數值,“float”用於存儲任何精度浮點值。

下表給出了32位計算機上不同數據類型的大小和範圍。不同字號的機器的大小和範圍可能不同。
在這裏插入圖片描述
有些詞是專門用來完成特定任務的。這些詞被稱爲關鍵字。它們是標準的,在嵌入式C中預定義。

關鍵字總是用小寫字母寫的。在編寫主程序之前,必須定義這些關鍵字。嵌入式軟件的基本關鍵字如下:
在這裏插入圖片描述
sbit:此數據類型用於訪問SFR寄存器的單個位。

語法:sbit variable name=SFR bit;

例:sbit a=P2^1;

說明:如果我們將P2^1指定爲“a”變量,那麼我們可以在程序的任何地方使用“a”而不是p2.1,這樣可以降低程序的複雜性。

位:該數據類型用於訪問RAM(20h-2fh)的位可尋址存儲器。

語法:位變量名;

例:c位;

說明:它是一個小數據區的位序列設置,程序用它來存儲一些東西。

SFR:此數據類型用於通過其他名稱訪問SFR寄存器。所有SFR寄存器必須用大寫字母聲明。

語法:SFR
variable name=SFR寄存器的SFR地址;

例如:SFR端口0=0x80;

說明:如果將0x80指定爲“port0”,則可以在程序中的任何位置使用0x80而不是port0,從而降低程序的複雜性。

SFR寄存器:SFR代表“特殊功能寄存器”。微控制器8051具有256字節的RAM存儲器。這個RAM分爲兩部分:第一部分128字節用於數據存儲,另一部分128字節用於SFR寄存器。所有外圍設備,如I/O端口、定時器和計數器,都存儲在SFR寄存器中,每個元素都有一個唯一的地址。

嵌入式C程序的結構

· comments

· preprocessor directives

· global variables

· main() function

{

· local variables

· statements

· ……………

· ……………

}

· fun(1)

{

· local variables

· statements

· ……………

· ……………

}

註釋:在嵌入式C語言中,我們可以在代碼中添加註釋,這有助於讀者輕鬆理解代碼。
C=a+b;/將兩個值存儲在另一個變量C中的變量相加/

預處理器指令:嵌入式C軟件的所有功能都包含在預處理器庫中,如“includes<reg51.h>,”defines“。這些函數在運行程序時執行。

全局變量

全局變量是在主函數之前聲明的變量,可以在程序中的任何函數上訪問。
在這裏插入圖片描述
Global variable

局部變量

局部變量是在函數中聲明的變量,它只能在該函數中使用。
在這裏插入圖片描述
Local variable

Main()函數

程序的執行從主函數開始。每個程序只使用一個main()函數。

嵌入式C程序的優點

開發應用程序所需時間較短。

它降低了程序的複雜性。

很容易驗證和理解。

從一個控制器到另一個控制器在本質上是可移植的。

幾個嵌入式C程序的例子

以下是一些簡單的嵌入式C程序,用於基於微控制器的項目。
在這裏插入圖片描述
Example-1
在這裏插入圖片描述
Example-2
在這裏插入圖片描述
Example-3
在這裏插入圖片描述
Example-4

希望能夠爲嵌入式C編程的初學者提供一種簡單易行的方法。更好地理解嵌入式C編程是設計基於嵌入式的項目的最基本的先決條件。除此之外,更好的理解和適當的嵌入式C編程知識有助於學生選擇一個有價值的職業。

我們鼓勵並歡迎讀者提出疑問、建議和意見。因此,您可以在下面的評論部分發布您對本文的查詢和反饋。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章