微控制器的學習總結(一)

2021-10-06 03:57:34 字數 2226 閱讀 2288

學習微控制器有一段時間了,為了加強記憶,在這裡總結一下所學的知識。

10進製(decimal):0,1,2,3,4,5,6,7,8,9

8進製(octal):0,1,2,3,4,5,6,7

16進製制(hexadecimal):0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f

計算機採用的是二進位制,即只能識別0和1,不存在十進位制,八進位制和十六進製制。八進位制和十六進製制只是為了將二進位制表示的更簡略。

(1)二進位制數轉換為十進位制數:源數的各位數碼乘以各自的權值,再求和

11001101.011b

=1x27+1x6+1x23+1x22 +1x20+1x2-2 +1x2-3

=205.375

(2)十進位制數轉換為二進位制數

整數部分:除以2的基數取餘,至商為0,倒排

小數部分:乘以2的基數取整,適可而止,順排

例如:205.375d=?b

所以205.375d=11001101.011b

同理,不同的進製數之間轉換道理相同,只要把除和乘的數換成目的數就可以了。

什麼是機器數?機器數顧名思義就是乙個數在計算機中的表示形式。

(1)機器數可以只用正數,即無符號數。如:10001001b=137d

(2)機器數也可以將數的最高位作為符號位來表示數的正負。規定:最高位為0時表示正數,最高位為1時表示負數。

此時上面例子中的10001001b=-9d

(3)機器數所能表示的數的範圍受機器字長的限制。

位(bit):每個數字符號(數碼0或1),位長為1

位元組(byte):每連續8個數碼,位元組長8

字(word):計算機一次能同時處理的一串連續二進位制數碼(字長為16位,32位或64位)

雙字(double word):佔兩個字長度

符號數的原碼、補碼和反碼的區別如下。

正數:符號位0,數值部分與真值絕對值同值

負數:符號位1,數值部分與真值絕對值同值

正數:符號位0,數值部分與真值絕對值同值

負數:絕對值按位取反

正數:符號位0,數值部分與真值絕對值同值

負數:絕對值按位取反後加1

注意:計算機內,帶符號數一般都以補碼的形式在機器中存放和運算。

[x+y]補=[x]補+[y]補;

步驟:(1)將兩個數先變成補碼;

(2)對兩個數進行加法運算,若最高位上有進製則捨棄不要;

(3)判斷結果是否溢位;

(4)若結果溢位,則這次運算結果不正確。若沒有溢位,對結果再次求補碼,得到結果的真值。

當兩個符號數的運算結果超過了給定長度二進位制可以表示的範圍。

加法可能溢位的情況:

(1)兩個正數相加:兩個正數補碼和的符號位為1

(2)兩個負數相加:兩個正數補碼和的符號位為0

例子1:計算20+(-10)

1)將兩個數先變成補碼:

[20]補=00010100 [-10]補=11110110

2)作補碼加法:

00010100 + 11110110 = 00001010

3)正數加負數不可能溢位。現在 結果為正數,直接求真值

(0000010)2 = 54

例子2:計算64+65

1)將兩個數先變成補碼:

[64]補=01000000 [65]補=01000001

2)作補碼加法:

01000000 + 01000001 = 10000001

3)兩個正數相加的結果符號位為1,則加法的和出現了溢位

出現溢位的原因是二進位制數的長度不夠造成的。若用16位二進位制數,可得到正確答案

[x-y]補=[x]補-[y]補=[x]補+(-[y]補)

=[x]補+([y]補)補

注意:求[-y]補的方法:將[y]補求出來然後將[y]補各位連同符號位取反,再在末位加1,如運算過程中符號位產生進製,則自動丟失。

對每個十進位制數字分別編碼 – bcd (binary coded decimal)碼

(1)8421碼

(2)格雷(gray)碼

(3)餘3碼

微控制器入門學習二 51微控制器學習一

本篇將對51微控制器一些概念進行一下記錄,本次針對 手把手教你學51微控制器 的前7章的硬體知識做乙個總結,軟體程式設計就不記錄了,可以看教程,裡面講解的很詳細。微控制器最小系統的三要素 電源 晶振 復位電路。最小系統是指用最少的原件組成微控制器可以工作的系統 下圖中晶振旁邊的20pf的電容的作用是...

微控制器學習

微控制器學習 宗旨 技術的學習是有限的,分享的精神是無限的。學習使用微控制器就是理解微控制器硬體結構,在彙編或c語言中學會各種功能的初始化設定,以及實現各種功能的程式編制。第一步 數字 i o的使用 使用按鈕輸入訊號,發光二極體顯示輸出電平,就可以學習引腳的數字i o功能,在按下某個按鈕後,某發光二...

十速微控制器的學習歸納和總結(一) 微控制器基礎知識

利用十速的c5178b微控制器做嵌入式開發需要用到的軟體有 vscode編輯器用來編寫程式 sourcetree軟體用於git提交程式到遠端bitbucket倉庫中 特殊功能暫存器在regtenxtm52f5278b.h這個標頭檔案裡面都幫我們定義好了,所以平時我們就不要自己去定義暫存器的名字。2 ...