嵌入式基本常識(二)

2022-08-23 11:57:09 字數 2344 閱讀 6953

1.xtal1(19腳)、xtal2(18腳)--外接時鐘引腳。

xtal1為片內**電路的輸入端,xtal2為片內**電路的輸出端。8051的時鐘有兩種方式,一種是片內時鐘**方式,需在這兩個引腳之間接石英晶體和**電容(一般取10p~30p),一種是外部時鐘方式,即將xtal1接地,外部時鐘訊號從xtal2腳引入。

(外接晶體**電路)2.微控制器內部組成(stc巨集晶科技公司)

單片微型計算機是製作在一塊積體電路晶元上的計算機,簡稱微控制器。

它包括微處理器(cpu),用ram構成的資料儲存器,用rom構成的程式儲存器,定時/計數器,各種輸入/輸出(i/o)介面和功能單元。可獨立地進行工作。

其中微處理器作用讀入和分析每一條指令,根據指令的功能控制微控制器的各功能不剪執行指定的運算和操作。

儲存器作用儲存資訊(程式和資料)

各個口的作用是輸入輸出資料

3.微控制器sfr和sbit詳解

bit:位變數宣告。

sfr(special function register):特殊功能暫存器宣告,將暫存器賦值給乙個變數,這樣在後面的程式中就可以用這個變數指引(refer to)該暫存器。sfr是定義乙個8位的暫存器,sbit是定義位暫存器。

sbit:特殊功能位宣告,與sfr用法類似,只是sbit是位操作,用於將某個sfr中具體位賦值給乙個變數,這樣後面程式就可用通過該變數為該位清0或置1。

與定義一般的int、char型變數不同,這兩個字定義的並不是變數,而作為特殊功能暫存器的引用,或許可以叫做別名。微控制器標頭檔案"reg51.h"中定義了21個特殊功能暫存器,並且都是8位暫存器,而部分暫存器的每個位又用sbit進行了定義:

……4.微處理器、微控制器、數字訊號處理器(dsp)

微處理器(mpu)是乙個單晶元cpu

微控制器(mcu)則在一塊積體電路晶元中整合了cpu和其他電路,構成了乙個完整的微型計算機系統,微控制器的乙個重要的特徵是內建的中斷系統。作為面向控制的裝置,微控制器經常要實時響應外界的激勵(中斷)。微控制器必須執行快速上下文切換,掛起乙個程序去執行另乙個程序以響應乙個「事件」。

微處理器也能擁有強大的中斷功能,但是通常需要外部元件的配合,而微控制器在片上整合了所有處理中斷必需的電路。

5.巨集定義

用 #define 定義乙個識別符號來表示乙個常量。#define  識別符號  常量   //注意, 預處理指令不是語句,所以後面不能加分號。(凡是以「#」開頭的均為預處理指令,預編譯又叫預處理。預編譯不是編譯,而是編譯前的處理。這個操作是在正式編譯之前由系統自動完成的。其實預編譯所執行的操作就是簡單的「文字」替換。對巨集定義而言,預編譯的時候會將程式中所有出現「識別符號」的地方全部用這個「常量」替換,稱為「巨集替換」或「巨集展開」。替換完了之後再進行正式的編譯。所以說當單擊「編譯」的時候實際上是執行了兩個操作,即先預編譯,然後才正式編譯。#include也是這樣的,即在預處理的時候先單純地用標頭檔案stdio.h中所有的「文字」內容替換程式中#include這一行,然後再進行正式編譯。)

#define又稱巨集定義,簡稱巨集。其特點是:一經定義,程式中就可以直接用識別符號來表示這個常量。定義的識別符號不佔記憶體,只是乙個臨時的符號,預編譯後這個符號就不存在了。

#define 的作用域為自 #define 那一行起到源程式結束。如果要終止其作用域可以使用 #undef 命令,格式為:#undef  識別符號

為了將識別符號與變數名區別開來,習慣上識別符號全部用大寫字母表示。

巨集定義最大的好處是「方便程式的修改」。使用巨集定義可以用巨集代替乙個在程式中經常使用的常量。注意,是「經常」使用的。這樣,當需要改變這個常量的值時,就不需要對整個程式乙個乙個進行修改,只需修改巨集定義中的常量即可。且當常量比較長時,使用巨集就可以用較短的有意義的識別符號來代替它,這樣程式設計的時候就會更方便,不容易出錯。因此,巨集定義的優點就是方便和易於維護。

sfr:特殊暫存器是再庫中已經有的

define:是自己定義的

嵌入式常識

1ansi c是乙個標準,美國國家標準協會制定的乙個c語言的標準 2下午使用lmv管理磁碟系統,以方便動態調整各分割槽大小.3 opt目錄 這是給主機額外安裝軟體所擺放的目錄。4幾乎所有的linux發行套件都提供了乙個很好的工具samba 通過它可以輕鬆實現檔案共享.不必讓同樣的乙份資料放置在不同的...

ORACLE基本常識

個表空間只能屬於乙個資料庫 每個資料庫最少有乙個控制檔案 建議3個,分別放在不同的磁碟上 每個資料庫最少有乙個表空間 system表空間 建立system表空間的目的是盡量將目的相同的表存放在一起,以提高使用效率 每個資料庫最少有兩個聯機日誌檔案 乙個資料檔案只能屬於乙個表空間 乙個資料檔案一旦被加...

電腦基本常識

一.32位cpu中的32代表什麼?1.32代表cpu的位址線長度,32位處理器表示一次只能處理32位 4個位元組 而64位處理器一次能處理64位,即8個位元組的資料。2.如果我們將總長128位的指令分別按照如果我們將總長128位的指令分別按照16位 32位 64位為單位進行編輯的話 舊的16位處理器...