微控制器基本結構及程式執行過程

2022-06-02 10:39:02 字數 1790 閱讀 7553

微控制器基本結構

1.運算器

運算器由運算部件——算術邏輯單元alu、累加器和暫存器等幾部分組成。運算器所執行全部操作都是由控制器發出的控制訊號來指揮的,並且,乙個算術操作產生乙個運算結果,乙個邏輯操作產生乙個判決。

2.控制器

控制器由程式計數器、指令暫存器、指令解碼器、時序發生器和操作控制器等組成,是發布命令的「決策機構」,即協調和指揮整個微機系統的操作。其主要功能有:

(1) 從記憶體中取出一條指令,並指出下一條指令在記憶體中的位置。

(2) 對指令進行解碼和測試,並產生相應的操作控制訊號,以便於執行規定的動作。

(3) 指揮並控制cpu、記憶體和輸入輸出裝置之間資料流動的方向。

3.主要暫存器

(1) 累加器a

(2) 資料暫存器dr

(3) 指令暫存器ir和指令解碼器id

(4) 程式計數器pc

(5) 位址暫存器ar

微控制器(51系列)程式執行的過程

微控制器執行程式的過程,實際上就是執行我們所編制程式的過程,即逐條指令的過程。計算機每執行一條指令都可分為三個階段進行。即取指令-----分析指令-----執行指令。

(1)取指令階段的任務是:根據程式計數器pc中的值從程式儲存器讀出現行指令,送到指令暫存器。

(2)分析指令階段的任務是:將指令暫存器中的指令操作碼取出後進行解碼,分析其指令性質。如指令要求運算元,則尋找運算元位址。

(3)執行程式階段的任務是:計算機逐條指令地重複上述操作過程,直至遇到停機指令可迴圈等待指令。

一般計算機進行工作時,首先要通過外部裝置把程式和資料通過輸入介面電路和資料匯流排送入到儲存器,然後逐條取出執行。但微控制器中的程式一般事先我們都已通過寫入器固化在片內或片外程式儲存器中。因而一開機即可執行指令。

下面我們將舉個例項來說明指令的執行過程:

開機時,程式計算器pc變為0000h,然後微控制器在時序電路作用下自動進入執行程式過程。執行過程實際上就是取出指令(取出儲存器中事先存放的指令階段)和執行指令(分析和執行指令)的迴圈過程。例如執行指令:

mov a,#0e0h,

其機器碼為「74he0h」,該指令的功能是把運算元e0h送入累加器,0000h單元中已存放74h,0001h單元中已存放e0h。當微控制器開始執行時,首先是進入取指階段,其次序是:

1).程式計數器pc的內容(這時是0000h)送到位址暫存器ar;

2).程式計數器pc的內容自動加1(變為0001h);

3).位址暫存器ar的內容(0000h)通過內部位址匯流排送到儲存器,以儲存器中位址解碼電路,使位址為0000h的單元被選中;

4).cpu使能讀控制線有效;

5).在讀命令控制下被選中儲存器單元的內容(此時應為74h)送到內部資料匯流排上,因為是取指階段,所以該內容通過資料匯流排被送到指令暫存器ir。

至此,取指階段完成,進入解碼分析和執行指令階段。

由於本次進入指令暫存器中的內容是74h(操作碼),解碼器解碼後微控制器就會知道該指令是要將乙個數送到a累加器,而該數是在這個**的下乙個儲存單元。所以,執行該指令還必須把資料(e0h)從儲存器中取出送到cpu,即還要在儲存器中取第二個位元組。其過程與取指階段很相似,只是此時pc已為0001h。

指令解碼器結合時序部件,產生74h操作碼的微操作系列,使數字e0h從0001h單元取出。因為指令是要求把取得的數送到a累加器,所以取出的數字經內部資料匯流排進入a累加器,而不是進入指令暫存器ir。至此,一條指令的執行完畢。

微控制器中

pc=0002h,pc在cpu每次向儲存器取指或取數時自動加1,微控制器又進入下一取指階段。這一過程一直重複下去,直至收到暫停指令或迴圈等待指令暫停。cpu就是這樣一條一條地執行指令,完成所有規定的功能。

微控制器串列埠通訊及程式

通訊協議 第1位元組,msb為1,為第1位元組標誌,第2位元組,msb為0,為非第一位元組標誌,其餘類推 最後乙個位元組為前幾個位元組後7位的異或校驗和。測試方法 可以將串列埠除錯助手的傳送框寫上95102025,並選上16進製制傳送,接收框選上16進製制顯示,如果每傳送一次就接收到95102025...

微控制器程式詳解

微控制器程式詳解.txt 根網線 盡賺了多少人的青春 有時候感動的就是身邊微不足道的小事。破碎不是最殘酷的最殘酷的是踩著這些碎片卻假裝不疼痛固執的尋找 將來就算我遇見再怎麼完美的人,都有乙個缺點,他不是你,下輩子要做男生,娶乙個像我這樣的女生。程式詳解 程式清單 共陽數碼管加減顯示 sp1 bit ...

微控制器C程式優化

對程式進行優化,通常是指優化程式 或程式執行速度。優化 和優化速度實際上是乙個予盾的統一。一般是優化了 的尺寸,就會帶來執行時間的增加 如果優化了程式的執行速度,通常會帶來 增加的 很難魚與熊掌兼得,只能在設計時掌握乙個平衡點。一 程式結構的優化 1 程式的書寫結構 雖然書寫格式並不會影響生成的 質...