[導讀]單片機(Single-Chip Microcomputer)是一種集成電路芯片,是采用超大規(guī)模集成電路技術把具有數據處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時器/計數器等功能(可能還包括顯示驅動電路、脈寬調制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊硅片上構成的一個小而完善的微型計算機系統(tǒng),在工業(yè)控制領域廣泛應用。從上世紀80年代,由當時的4位、8位單片機,發(fā)展到現(xiàn)在的300M的高速單片機。
單片機(Single-Chip Microcomputer)是一種集成電路芯片,是采用超大規(guī)模集成電路技術把具有數據處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時器/計數器等功能(可能還包括顯示驅動電路、脈寬調制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊硅片上構成的一個小而完善的微型計算機系統(tǒng),在工業(yè)控制領域廣泛應用。從上世紀80年代,由當時的4位、8位單片機,發(fā)展到現(xiàn)在的300M的高速單片機。
本篇文章將介紹一下關于單片機寄存器的知識。
什么是單片機寄存器?
寄存器是CPU內部的一種存儲器,分為通用寄存器和特殊功能寄存器(8086也細分為特殊功能寄存器)。通用寄存器,顧名思義是通用的。它們可以存儲操作數、運算結果、內存地址等數據,在用C語言編程時,編譯器一般負責安排通用寄存器的使用,無需直接聯(lián)系它們。特殊功能寄存器具有特定功能,其中一些作用于CPU,比如PC存放下一條指令的地址,SP記錄棧頂在內存中的位置,其中一些與IO模塊相連,單片機程序通過這些寄存器控制各種外設。
寄存器是內存階層中的最頂端,也是系統(tǒng)獲得操作資料的最快速途徑。寄存器通常都是以他們可以保存的位元數量來估量,舉例來說,一個“8位元寄存器”或“32位元寄存器”。寄存器現(xiàn)在都以寄存器檔案的方式來實作,但是他們也可能使用單獨的正反器、高速的核心內存、薄膜內存以及在數種機器上的其他方式來實作出來。寄存器通常都用來意指由一個指令之輸出或輸入可以直接索引到的暫存器群組。更適當的是稱他們?yōu)椤凹軜嫾拇嫫鳌?。例如,x86指令集定義八個32位元寄存器的集合,但一個實作x86指令集的CPU可以包含比八個更多的寄存器。寄存器是CPU內部的元件,寄存器擁有非常高的讀寫速度,所以在寄存器之間的數據傳送非???。
單片機的主要寄存器
?。?)累加器A累加器A是微處理器中使用最頻繁的寄存器。在算術和邏輯運算時它有雙功能:運算前,用于保存一個操作數;運算后,用于保存所得的和、差或邏輯運算結果。
?。?)數據寄存器DR數據寄存器通過數據總線向存儲器和輸入/輸出設備送(寫)或?。ㄗx)數據的暫存單元。它可以保存一條正在譯碼的指令,也可以保存正在送往存儲器中存儲的一個數據字節(jié)等等。
?。?)指令寄存器IR和指令譯碼器ID指令包括操作碼和操作數。指令寄存器是用來保存當前正在執(zhí)行的一條指令。當執(zhí)行一條指令時,先把它從內存中取到數據寄存器中,然后再傳送到指令寄存器。當系統(tǒng)執(zhí)行給定的指令時,必須對操作碼進行譯碼,以確定所要求的操作,指令譯碼器就是負責這項工作的。其中,指令寄存器中操作碼字段的輸出就是指令譯碼器的輸入。
?。?)程序計數器PCPC用于確定下一條指令的地址,以保證程序能夠連續(xù)地執(zhí)行下去,因此通常又被稱為指令地址計數器。在程序開始執(zhí)行前必須將程序的第一條指令的內存單元地址(即程序的首地址)送入PC,使它總是指向下一條要執(zhí)行指令的地址。
?。?)地址寄存器AR地址寄存器用于保存當前CPU所要訪問的內存單元或I/O設備的地址。由于內存與CPU之間存在著速度上的差異,所以必須使用地址寄存器來保持地址信息,直到內存讀/寫操作完成為止。
顯然,當CPU向存儲器存數據、CPU從內存取數據和CPU從內存讀出指令時,都要用到地址寄存器和數據寄存器。同樣,如果把外圍設備的地址作為內存地址單元來看的話,那么當CPU和外圍設備交換信息時,也需要用到地址寄存器和數據寄存器。
更多信息可以來這里獲取==>>電子技術應用-AET<<