使用Keil語言的嵌入式C程式設計教程(上)

2022-02-04 01:52:47 字數 3800 閱讀 6895

使用keil語言的嵌入式c程式設計教程(上)

embedded c programming tutorial with keil language

嵌入式系統是指以微控制器為核心的嵌入式c程式設計軟硬體的結合,旨在完成特定的任務。這些型別的嵌入式系統正在我們的日常生活中使用,如洗衣機、錄影機、冰箱等。嵌入式系統首先由8051微控制器介紹。

8051微控制器簡介

8051微控制器是乙個基本的微控制器,它是由英特爾公司自2023年首次推出。它是由8086處理器體系結構開發的。8051是乙個微控制器家族,由飛利浦、阿特梅爾、戴爾等不同廠商開發。8051微控制器已經應用於從兒童玩具到大型汽車系統的許多嵌入式產品中。

8051微控制器是8位「cisc」結構。它由儲存器、序列通訊、中斷、輸入/輸出埠和定時器/計數器組成,內置於乙個整合晶元中,通過程式設計控制與之介面的外圍裝置。程式儲存在微控制器的ram中,但在編寫程式之前,必須了解微控制器的ram結構。

嵌入式系統程式設計:基礎宣告

每個函式都是執行特定任務的語句的集合,乙個或多個函式的集合稱為程式語言。每一種語言都包含一些基本要素和語法規則。c語言程式設計是用字符集、變數、資料型別、常量、關鍵字、表示式等來編寫c語言程式。所有這些都在標頭檔案或庫檔案下考慮,表示為include

c語言的擴充套件稱為嵌入式c語言。與以上相比,c語言的嵌入式程式設計具有一些額外的特性,如資料型別和關鍵字,標頭檔案或庫檔案表示為

#include

嵌入c附加關鍵字

·       sbit

·       bit

·       sfr

·       volatile

·       macros define

「sbit」用於宣告微控制器的單個管腳。例如,led連線到p0.1管腳,不建議直接將值傳送到埠管腳,首先,我們必須用另乙個變數宣告管腳,然後才能在程式中的任何地方使用。語法:sbit a=p0^1;//用變數宣告相應的pin//             

a=0x01;//將值傳送到埠pin//             

「bit」用於檢查變數的狀態。

語法:bit c;//宣告位變數//             

c=a;//c變數賦值//             

if(c==1)//檢查條件true或false//

「sfr」關鍵字用於通過另乙個名稱訪問sfr暫存器。sfr暫存器定義為乙個特殊的功能暫存器,它通過指示位址來包含所有與外圍裝置相關的暫存器。sfr暫存器由sfr關鍵字宣告。sfr關鍵字必須是大寫字母。

語法:sfr

port=0x00;//0x00是埠0位址,由埠變數宣告//             

port=0x01;//然後將值傳送到埠0//

delay();

port=0x00;

delay();

「volatile」關鍵字是嵌入式系統開發中最重要的關鍵字。無法意外更改用volatile關鍵字值宣告的變數。它可以用於記憶體對映的外圍暫存器,由isrs修改的全域性變數。如果不使用volatile關鍵字來傳送和接收資料,則會發生**錯誤或優化錯誤。

語法:volatile

int k;

巨集是用於將語句塊宣告為預處理器指令的名稱。無論何時使用該名稱,它都將被巨集的內容替換。巨集表示定義。整個埠管腳由巨集定義。

語法:#define

dat po;//整個埠由乙個變數宣告//             

dat=0x01;//傳送到埠0的資料//

基本嵌入式c程式

每種作業系統的微控制器程式設計都不同。儘管已經存在很多作業系統,如linux、windows、rtos等。然而,實時作業系統在嵌入式系統開發中有許多優點。本文討論了用8051微控制器開發嵌入式c程式的基本方法。

用8051微控制器實現led閃爍

用8051微控制器在七段顯示器上顯示數字

用8051微控制器進行定時器/計數器的計算與程式設計

基於8051微控制器的序列通訊計算與程式設計

用8051微控制器中斷程式

用8051微控制器進行鍵盤程式設計

用8051微控制器進行液晶顯示程式設計

用8051微控制器實現led閃爍

led是一種半導體器件,應用廣泛,主要用於顯示。在測試過程中發現了大量的應用作為指標來檢驗不同階段測試結果的有效性。它們非常便宜,而且很容易買到各種形狀、顏色和尺寸。led用於設計資訊顯示板和交通控制訊號燈等。這裡的led與8051微控制器的埠0介面。

用8051微控制器在七段顯示器上顯示數字

七段式顯示器是最基本的電子顯示器,在許多系統中用來顯示數字資訊。它由八個發光二極體組成,當發光二極體的適當組合開啟時,這些發光二極體按順序連線,以便顯示0到9之間的數字。一次只能顯示乙個數字。

嵌入式C語言程式設計小知識

1.流水線被指令填滿時才能發揮最大效能,即每時鐘週期完成一條指令的執行 僅指單週期指令 如果程式發生跳轉,流水線會被清空,這將需要幾個時鐘才能使流水線再次填滿。因此,盡量少的使用跳轉指令可以提高程式執行效率,解決發案就是盡量使用指令的 條件執行 功能。2.在lpc2200系列中 可以通過過下面的程式...

嵌入式系統高階C語言程式設計

內容介紹 本書主要介紹針對嵌入式系統基於c語言的軟體專案開發流程 較為複雜的c語言程式設計知識與技巧 程式設計風格及除錯習慣,並通過對乙個具體的軟體模組 asix window gui 的分析,介紹分析 的方法以及設計軟體系統需要考慮的各要素。本書以實際專案中的 為例來進行介紹,詳細分析在嵌入式系統...

嵌入式學習(二) 嵌入式系統C 語言

1 從 cpu 復位時的指定位址開始執行 2 跳轉至彙編 startup 處執行 3 跳轉至使用者主程式 main 執行,在 main 中完成 a.初試化各硬體裝置 b.初始化各軟體模組 c.進入死迴圈 無限迴圈 d呼叫各模組的處理函式 下面是幾個 著名 的死迴圈 1 作業系統是死迴圈 2 win3...