輕鬆學51微控制器總結知識點

2021-10-06 15:50:29 字數 3891 閱讀 2825

1、計算機的程式指令、變數、常量等都是以位元組為單位存放在記憶體單元中,記憶體中的每乙個位元組就像我們生活當中的門牌號碼一樣,都具有乙個唯一的編號,這個編號就是儲存單元的位址。

對於乙個記憶體單元來說,單元的位址就是指標,位址裡面存放的資料才是這個單元的內容。如果定義一種資料型別用來存放指標變數,那麼這種變數就叫做指標變數。

假如我們定義了乙個字元變數s,她的值為『a』,儲存在記憶體位址為0x3366這個位址單元裡面。

2、陣列是在記憶體區域實實在在地開闢了一段空間,然後把資料連續地儲存在這一段空間裡面。指標是乙個指向,它可以指向乙個陣列,也可以指向乙個變數或者其他位置。

p = &a[0];

指標變數就指向陣列a,這個時候我們就可以通過指標變數p來訪問陣列a了。一般情況下,對於一維陣列來說:

p + i就是a[i]的位址

*(p + i)就是a[i]的值。

3、數碼管按照供電方式一般分為共陰極數碼管和共陽極數碼管兩種型別。共陰極數碼管是在數碼管的內部把gnd連線在一起,通過外部高電平來點亮,共陽極數碼管則是在數碼管的內部把vcc連線在一起,通過外部低電平來點亮。

4、& 取位址運算子

5、特別要注意的是,變數的指標和指標的變數是兩個不同的概念。變數的指標是該變數的位址,而指標變數裡面存放的內容是另外乙個變數在記憶體中的位址。每乙個變數都有它自己的位址(指標),每乙個指標變數都是指向另外乙個變數的。

6、人眼在**超過25幀/秒的動畫的時候,感覺不到閃爍和延時,我們讓兩個數碼管以25幀/秒的速度切換,給人的感覺是這兩個數碼管被同時點亮了。

7、其中「sfr」是關鍵字,代表定義的是乙個暫存器,sfr p0m0 = 0x93;的意思是定義暫存器p0m0,它的位址為93h。

提醒大家注意的是,在使用sfr關鍵字定義暫存器的時候,後面賦的值是這個暫存器的位址,如sfr p0m0 = 0x93;的意思是指定p0m0暫存器的位址是0x93。

而在使用暫存器的時候,等號後面則是給出我們將要寫入暫存器的值,如p0m1 = 0xf0;的意思是給p0m1賦值為0xf0;

其他埠設定工作模式的方法和p0口類似,先根據晶元的資料手冊查詢到兩個暫存器對應的位址,定義好暫存器,然後根據需要給它們賦上相應的的值就可以了。

8、一般來說,電平觸發方式適合於外部中斷以低電平輸入而且中斷服務能清除外部中斷源的情況,下降沿觸發適合以負脈衝形式輸入的外部中斷請求。

9、「.」是訪問成員的運算子。

從記憶體分配的角度來講,結構體所占用記憶體的空間是內部成員變數所占用空間的總和,而共用體變數所占用的記憶體大小是由共用體內占用記憶體空間最大的成員變數所決定的。

stc89c51rc-rd+系列微控制器有32個通用i/o埠,分別是p0口、p1口、p2口和p3口共4組,有些公升級型號增加了幾個p4口,它們的特性和使用方法和p0 - p3口基本相同。這些i/o埠均能通過**設定相應的埠暫存器使其作為輸入或者輸出使用,有些埠具有第二功能,我們在後面介紹其他功能的時候再給大家講解。

10、目前的晶元有幾種不同型別的封裝形式,常用的有pdip雙列直插、lqfp薄型貼片封裝等。stc89c51rc-rd+系列微控制器根據系列型號和封裝形式的不同,其引腳埠有少量區別,但是基本的p0 – p3口全系列都是標配,我們以stc89c51rc-rd+系列hd版本的40引腳雙列直插的晶元為例,來看看其引腳分部,

11、從電路圖中可以看出,發光二極體d1的陰極與微控制器的p1.0口相連線,陽極經過乙個大小為1k的限流電阻連線到vcc(如果沒有特殊說明,本書中所涉及的vcc均為+5v),微控制器使用11.0592mhz的晶振作為頻率源。當p1.0口輸出高電平的時候,發光二極體d1沒有電流經過,處於熄滅狀態,當p1.0口輸出低電平的時候,電流從vcc經由r1、d1流入p1.0,發光二極體被點亮。限流電阻r1將電流控制在5ma的水平,保證io口不會因為過流而損壞。

12、當這一過程快速、反覆執行的時候,人眼由於視覺暫留的特點就感覺不到數碼管被依次點亮的過程,看起來就像所有的數碼管被同時點亮。我們先從簡單的開始,顯示固定數字「9f」,看看這個過程是怎麼用**來實現的。

13、一般情況下, 我們會先設定中斷工作模式,然後開中斷,最後開總中斷。這樣可以保證在開中斷之前設定好中斷的工作方式,只有執行了最後一步開總中斷之後,中斷功能才會真正被開啟,可以避免在極端條件下中斷被誤觸發。

14、rs-232c採用負邏輯規定邏輯電平,-5v—-15v為邏輯「1」電平,5v—+15v為「0」電平。pc機的串列埠遵循rs-232標準。

51微控制器採用的是ttl電平。ttl的全稱是transistor transistor logic,即電晶體-電晶體邏輯積體電路,+5v等價於邏輯「1」,0v等價於邏輯「0」。

15、由於微控制器串列埠和pc機串列埠的電平規範不相同,因此當兩者相互通訊的時候,需要有乙個中間的環節進行電平轉換。一般情況下,我們常用max232晶元來實現電平轉換。max232晶元包含2路接收器和傳送器,它使用和微控制器同樣的+5v供電,可以產生rs-232介面需要的10v電平。max232的硬體電路比較簡單,使用方便,因此被廣泛採用。下面我們來看看這款晶元:

16、sbuf實際上是兩個暫存器,它們分別是資料接收暫存器和資料傳送暫存器。當我們對sbuf進行讀操作的時候,它是接收暫存器;當我們對sbuf進行寫操作的時候,它是傳送暫存器。

17、一片74hc138晶元來擴充套件微控制器的埠。74hc138俗稱3-8解碼器,它利用了3位二進位制數可以表示07共8個數的原理。74hc138晶元有3個資料輸入埠和8個資料輸出埠,74hc138晶元的4、5、6引腳是使能控制端,只有當它們的電平分別為低、低、高的時候晶元才會工作。a0a2是輸入腳,y0~y7是輸出腳。在晶元工作狀態下,74hc138晶元的真值表

我們使用3個微控制器的i/o口來控制74hc138晶元,可以得到8種不同的輸出,節約了5個微控制器i/o。實驗的電路原理圖如圖9.12所示:

18、串列埠通訊的距離十分有限,在9600bps波特率下,能夠達到的最遠通訊距離在15m左右,一般情況下,兩個通訊終端之間的距離在幾公尺左右或者更短。因此,想要增加通訊距離,就需要用到其他的辦法或者裝置,比如從技術上可以使用rs-485通訊、can匯流排通訊、各種無線通訊等。從結構上來講可以採用訊號增強器來增加訊號功率,或者使用中繼器來接力通訊等等。

在這一節裡,我們將給大家介紹的是一種常用的遠距離通訊方式,rs-485通訊。

19、rs-485簡介 rs-485介面採用差分方式傳輸訊號方式,並不需要相對於某個參照點來檢測訊號,系統只需檢測兩線之間的電位差就可以了,+2v~+6v表示「0」,- 6v~- 2v表示「1」。

rs-485有兩線制和四線制兩種接線,四線制只能實現點對點的通訊方式,現很少採用,現在多採用的是兩線制接線方式,這種接線方式為匯流排式拓樸結構在同一匯流排上最多可以掛接32個結點。

在rs-485通訊網路中一般採用的是主從通訊方式,即乙個主機帶多個從機。很多情況下,連線rs-485通訊鏈路時只需要簡單地用一對雙絞線將各個介面的「a」「b」端連線起來就可以了,這種連線方法在許多場合是能正常工作的。

20、理論上,rs-485的通訊速率在100kpbs及以下時,它的最長傳輸距離可達1200公尺,實際應用中傳輸的距離因晶元及電纜的傳輸特性而有所差異。在傳輸過程中可以採用增加中繼的方法對訊號進行放大,最多可以加八個中繼,也就是說理論上rs485的最大傳輸距離可以達到9.6公里。

從微控制器的串列埠訊號轉換成rs-485訊號非常方便,硬體上使用一塊485收發晶元和串列埠相連進行電平轉換,軟體上再做一些相應的處理就可以了。圖12.7是常用的485收發晶元之一max1487的引腳分布圖:

21、乙個嵌入式系統軟體總是由複雜的程式構成的,一般來說,乙個完整的嵌入式程式分為兩個主要的層次,即底層驅動和功能軟體。

底層驅動:與底層硬體相關的程式部分,這部分軟體負責對所有的硬體進行控制和操作,例如本章例項中的ds1620溫度感測器設定、讀取溫度,max7219的數碼管驅動程式等。

功能軟體:這部分是實現嵌入式系統基本功能的程式,例如本章案例的多功能數字溫度計需要實現的時鐘顯示、時鐘設定、鬧鈴設定等邏輯部分,這些程式與具體硬體的關係較少。

乙個好的嵌入式軟體應該做到底層驅動和功能軟體合理的劃分,使得功能軟體的編寫不需要考慮太多的硬體部分,而底層驅動開發人員只需要專心開發硬體相關的軟體即可。

51微控制器常用知識點總結

這兩天覆習了51的基礎,基礎不牢地動山搖,理清了一些東西 首先是定時器 定時器很重要,微控制器的心臟 首先幾個概念 時鐘頻率 fosc 晶振提供,51一般是12mhz,11.0592mhz這兩種 12分頻 fosc 12 這裡我設為ft 機器週期 t 1 ft 定時器就配置兩種,第一是工作模式 定時...

微控制器知識點

rti real time interrupt 實時中斷 ect enhanced capture timer module 增強型定時器模組 pit programmable interval timer 可程式設計間隔定時器 pit tim rti是由晶振提供時鐘源,pit是由匯流排時鐘分頻後提...

微控制器原理知識點彙總

在一塊晶元上整合了cpu 儲存 輸入輸出的微型計算機。由於微控制器體積小 功耗低 控制功能強,常用於儀器檢測 裝置控制。例如 電飯煲 洗衣機 最小微控制器系統 微控制器 時鐘電路 復位電路 機器週期是振盪脈衝的十二分頻。c51需包含51微控制器的標頭檔案 sbit 可定址位 sfr 特殊功能暫存器 ...