51微控制器的查表法的原理是什麼?透徹點給解釋下吧

2021-03-11 13:26:02 字數 1089 閱讀 9294

1樓:沙裡波特

原理,很簡單。

就是你開飯店,事先,你得準備好多種菜品的材料,放在冷庫。

顧客上門,點什麼,你馬上就能做什麼。不要現出去買。

2樓:落葉城主

查表法來,就是將你的一自些固定的資料儲存到程式存bai儲器中,當你的du程式中

需要這些zhi資料時,movc指令讀取dao這些資料。舉例假設你的系統要用數碼管顯示0-9這10個數字,而假設這10個數字各自的斷碼(點亮時io口相應的電平)分別為

0xc0, //"0"

0xf9, //"1"

0xa4, //"2"

0xb0, //"3"

0x99, //"4"

0x92, //"5"

0x82, //"6"

0xf8, //"7"

0x80, //"8"

0x90, //"9"

你有兩種方法儲存這時個資料,一種是在資料區用十個位元組儲存這些資料(資料常量),但這會佔用你的資料儲存器空間。另外一種方法就是把這些不變的數放到程式空間中,到需要的時候到程式空間中讀取,這便是查表。也就是在程式空間中建立一個表,假設你需要就9這個數值的斷碼,就去表中檢視一下9對應的資料。

3樓:匿名使用者

將資料表存在flash區,使用movc指令讀取。

4樓:匿名使用者

給你講bai一句最「透徹」的話吧,所du謂的51微控制器zhi的「查表法」dao其實就是一種版通過特定指令:

movc a, @a+pc

movc a, @a+dptr

去特權定儲存區(注意,是程式儲存單元,不是內部和外部ram單元)讀資料而已。

對於 movc a, @a+pc 指令,是以當前pc(程式計數器值)作為基址暫存器,a的內容作為無符號數和pc內容(下一條指令的起始地址)相加後得到一個16位的地址,由該地址指出的程式存貯器單元內容送到累加器a。

而對於 movc a, @a+dptr 指令,則是以dptr作為基址暫存器,a的內容作為無符號數和dptr的內容相加得到一個16位的地址,由該地址指出的程式存貯器單元的內容送到累加器a。

51微控制器的51是什麼意思,51微控制器什麼意思啊

51微控制器是指8051系列的微控制器,最初由英特爾設計,因為效能較優被廣泛使用,後多家改型。功能雖說千差萬別但核心一樣。51微控制器什麼意思啊 6秒定時,12m晶振時一次定時溢位是實現不了的,需要多次溢位累積才行,所以初值是不確定的,比如可以是 tmod 0x01 th0 65536 50000 ...

51微控制器init什麼意思,51微控制器的“51”是什麼意思?

51微控制器init 一般初始化函式的函式名。用法 類 alloc init init 是建構函式初始化用,他能初始化啥,都初始化為預設值,alloc 之後就是預設值。51微控制器簡介 51系列微控制器是一個統稱。代表時鐘為12分頻,內部儲存器為哈佛結構 資料和 分別儲存 的一系列8位微控制器。代表...

微控制器串列埠通訊的原理微控制器串列埠通訊原理

串列埠通訊的概念非常簡單,串列埠按位 bit 傳送和接收位元組。儘管比按位元組 byte 的並行通訊慢,但是串列埠可以在使用一根線傳送資料的同時用另一根線接收資料。它很簡單並且能夠實現遠距離通訊。比如ieee488定義並行通行狀態時,規定裝置線總長不得超過20米,並且任意兩個裝置間的長度不得超過2米...