8051单片机内部结构
目錄
1.概述??
?2.CPU
3.電源電路
4.時鐘電路
5.復位電路
6.ROM(程序存儲器)
7.RAM(數據存儲器)
8.中斷控制器
9.定時器/計數器
10.串行通信口
11.P0~P3輸入/輸出電路和鎖存器
?1.概述??
? ? ? ? 8051單片機內部結構如下圖所示,從圖中可以看出,單片機內部主要由CPU、電源電路、時鐘電路、復位電路、ROM(程序存儲器)、RAM(數據存儲器)、中斷控制器、串行通信口、定時器/計數器、P0~P3端口的鎖存器和輸入/輸出電路組成。
?2.CPU
? ? ? ?CPU又稱中央處理器(Central Processing Unit),主要由算術/邏輯運算器(ALU)和控制器組成。單片機在工作時,CPU 會按先后順序從 ROM(程序存儲器)的第一個存儲單元(0000H單元)開始讀取程序指令和數據,然后按指令要求對數據進行算術(如加運算)或邏輯運算(如與運算),運算結果存入 RAM(數據存儲器),在此過程中,CPU 的控制器會輸出相應的控制信號,以完成指定的操作。
3.電源電路
? ? ? ? 電源電路的功能是對單片機需要供電的電路供電。電子產品要想工作都離不開電源,電源是必須的電路。51單片機工作電壓一般為DC5V,對于壓差不太大的情況,一般使用降壓芯片來實現電壓的轉化。
4.時鐘電路
????????時鐘電路的功能是產生時鐘信號送給單片機內部各電路,控制這些電路使之有節拍地工作。時鐘信號頻率越高,內部電路工作速度越快。時鐘信號的周期稱為時鐘周期(也稱振蕩周期)。兩個時鐘周期組成一個狀態周期(S),它分為P1、P2兩個節拍,P1節拍完成算術、邏輯運算,P2節拍傳送數據。6個狀態周期組成一個機器周期(12個時鐘周期),而執行一條指令一般需要1~4個機器周期(12~48個時鐘周期)。如果單片機的時鐘信號頻率為12MHz,那么時鐘周期為1/12μs,狀態周期為1/6μs,機器周期為1μs,指令周期為1~4μs。?
5.復位電路
????????復位電路的功能是完成單片機內部電路的初始化,使得單片機能從一種確定的狀態開始運行。當復位引腳RST出現5ms以上的高電平時,單片機就完成復位操作,如果RST持續為高電平,單片機就處于循環復位狀態,無法執行程序,因此,要求單片機復位后能脫離復位操作
6.ROM(程序存儲器)
????????ROM(程序存儲器)又稱只讀存儲器,是一種具有存儲功能的電路,斷電后存儲的信息不會消失。ROM(程序存儲器)類似于計算機中的硬盤,保存了電影、文檔、音樂等文件,把電源關掉后,下次重新打開計算機,所有的文件照樣還在。ROM主要用來存儲程序和常數,用編程軟件編寫好的程序經編譯后寫入ROM。ROM主要有下面幾種。
(1)Mask ROM(掩膜只讀存儲器)Mask ROM中的內容由廠家生產時一次性寫入,以后不能改變。這種ROM成本低,適用于大批量生產。
(2)PROM(可編程只讀存儲器)新的PROM沒有內容,可將程序寫入內部,但只能寫一次,以后不能更改。如果PROM在單片機內部,PROM中的程序寫錯了,整個單片機便不能使用。
(3)EPROM(紫外線可擦寫只讀存儲器)EPROM是一種可擦寫的PROM,采用EPROM的單片機上面有一塊透明的石英窗口,平時該窗口被不透明的標簽封貼,當需要擦除EPROM內部的內容時,可撕開標簽,再用紫外線照射透明窗口15~30min,即可將內部的信息全部擦除,然后重新寫入新的信息。
(4)EEPROM(電可擦寫只讀存儲器)EEPROM 也稱作 E2PROM 或 E2PROM,是一種可反復擦寫的只讀存儲器,但它不像EPROM需要用紫外線來擦除信息,這種ROM只要加適當的擦除電壓,就可以輕松快速地擦除其中的信息,然后重新寫入信息。EEPROM反復擦寫可達1000次以上。
(5)Flash Memory(快閃存儲器)Flash Memory簡稱閃存,是一種長壽命的非易失性(在斷電情況下仍能保持所存儲的數據信息)的存儲器,數據刪除不是以單個字節為單位,而是以固定的區塊(扇區)為單位,區塊大小一般為256KB至20MB。Flash Memory是EEPROM的變種,兩者的區別主要在于,EEPROM能在字節水平上進行刪除和重寫,而大多數Flash Memory需要按區塊擦除或重寫。由于Flash Memory斷電時仍能保存數據,且數據擦寫方便,故使用非常廣泛(如手機、數碼相機使用的存儲卡)。STC89C5x系列51單片機就采用Flash Memory作為程序存儲器。
7.RAM(數據存儲器)
????????RAM(數據存儲器)又稱隨機存取存儲器,也稱可讀寫存儲器。RAM(數據存儲器)的特點是:可以存入信息(稱作寫),也可以將信息取出(稱作讀),斷電后存儲的信息會全部消失。RAM(數據存儲器)是單片機的數據存儲空間,用來存儲程序運行過程中產生的和需要的數據,跟計算機的內存是相似的概念。RAM可分為DRAM(動態存儲器)和SRAM(靜態存儲器)。
????????DRAM的存儲單元采用了MOS管,它利用MOS管的柵極電容來存儲信息,由于柵極電容容量小且漏電,故柵極電容保存的信息容易消失,為了避免存儲的信息丟失,必須定時給柵極電容重寫信息,這種操作稱為“刷新”,故DRAM內部要有刷新電路。DRAM雖然要有刷新電路,但其存儲單元結構簡單、使用元件少、功耗低,且集成度高、單位容量價格低,因此需要大容量 RAM 的電路或電子產品(如計算機的內存條)一般采用 DRAM作為RAM。
????????SRAM的存儲單元由具有記憶功能的觸發器構成,它具有存取速度快、使用簡單、不需刷新和靜態功耗極低等優點,但元件數多、集成度低、運行時功耗大,單位容量價格高。因此一般需要小容量RAM的電路或電子產品(如單片機的RAM)一般采用SRAM作為RAM。
8.中斷控制器
????????當CPU正在按順序執行ROM中的程序時,若(P3.2)或(P3.3)端送入一個中斷信號(一般為低電平信號),如果編程時又將中斷設為允許,中斷控制器馬上發出控制信號讓CPU停止正在執行的程序,轉而去執行ROM中已編寫好的另外的某段程序(中斷程序),中斷程序執行完成后,CPU又返回執行先前中斷的程序。
????????8051單片機中斷控制器可以接受5個中斷請求:和端發出的兩個外部中斷請求、T0、T1定時器/計數器發出的兩個中斷請求和串行通信口發出的中斷請術。要讓中斷控制器響應中斷請求,先要設置允許總中斷,再設置允許某個或某些中斷請求有效,若允許多個中斷請求有效,還要設置優先級別(優先級別高的中斷請求先響應),這些都是通過編程來設置,另外還需要為每個允許的中斷編寫相應的中斷程序,比如允許和T1的中斷請求,就需要編寫和 T1 的中斷程序,以便 CPU 響應了請求馬上執行中斷程序,響應了T1請求馬上執行T1中斷程序。
9.定時器/計數器
????????定時器/計數器是單片機內部具有計數功能的電路,可以根據需要將它設為定時器或計數器。如果要求CPU在一段時間(如5ms)后執行某段程序,可讓定時器/計數器工作在定時狀態,定時器/計數器開始計時,當計到5ms后馬上產生一個請求信號送到中斷控制器,中斷控制器則輸出信號讓 CPU 停止正在執行的程序,轉而去執行 ROM 中特定的某段程序。如果讓定時器/計數器工作在計數狀態,可以從單片機的T0或T1引腳輸入脈沖信號,定時器/計數器開始對輸入的脈沖進行計數,當計數到某個數值(如1000)時,馬上輸出一個信號送到中斷控制器,讓中斷控制器控制 CPU 去執行 ROM 中特定的某段程序(如讓 P0.0引腳輸出低電平點亮外接LED燈的程序)。
10.串行通信口
????????串行通信口是單片機與外部設備進行串行通信的接口。當單片機要將數據傳送給外部設備時,可以通過串行通信口將數據由TXD端輸出;外部設備送來的數據可以從RXD端輸入,通過串行通信口將數據送入單片機。串行是指數據傳遞的一種方式,串行傳遞數據時,數據是一位一位傳送的。
11.P0~P3輸入/輸出電路和鎖存器
????????8051單片機有P0~P3四組端口,每組端口有8個輸入/輸出引腳,每個引腳內部都有一個輸入電路、一個輸出電路和一個鎖存器。以P0.0引腳為例,當CPU根據程序需要讀取P0.0引腳輸入信號時,會往P0.0端口發出讀控制信號,P0.0端口的輸入電路工作,P0.0引腳的輸入信號經輸入電路后,分作兩路,一路進入 P0.0鎖存器保存下來,另一路傳送給 CPU;當CPU根據程序需要從P0.0引腳輸出信號時,會往P0.0端口發出寫控制信號,同時往P0.0鎖存器寫入信號,P0.0鎖存器在保存信號的同時,會將信號送給P0.0輸出電路(寫P0.0端口時其輸入電路被禁止工作),P0.0輸出電路再將信號P0.0引腳送出。P0~P3端口的每個引腳都有兩個或兩個以上的功能,在同一時刻一個引腳只能用作一個功能,用作何種功能由程序決定,比如當 CPU執行到程序的某條指令時,若指令是要求讀取某端口引腳的輸入信號,CPU 執行該指令時會發出讀控制信號,讓該端口電路切換到信號輸入模式(輸入電路允許工作,輸出電路被禁止),再讀取該端口引腳輸入的信號。
總結
以上是生活随笔為你收集整理的8051单片机内部结构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 简单易懂应如何快速掌握超长激光测距仪相关
- 下一篇: altera CPLD通过nios在线升