什么是單片機硬件
什么是單片機硬件
你知道什么是單片機硬件么?下面將由學習啦小編帶大家來解答這個疑問吧,希望對大家有所收獲!
單片機硬件的概述
8051 系列微處理器基于簡化的嵌入式控制系統結構被廣泛應用于從軍事到自動控制再到 PC 機上的鍵盤上的各種應用系統上僅次于 Motorola 68HC11 在 8 位微控制器市場上的銷量很多制造商都可提供 8051 系列單片機像 IntelPhilipsSiemens 等這些制造商給 51 系列單片機加入了大量的性能和外部功能像 I2C 總線接口模擬量到數字量的轉換看門狗PWM 輸出等不少芯片的工作頻率達到 40M工作電壓下降到 1.5V基 于一個內核的這些功能使得 8051 單片機很適合作為廠家產品的基本構架它能夠運行各種程序而且開發者只需要學習這一個平臺
8051 系列的基本結構如下
1 、一個 8 位算術邏輯單元
2、32 個 I/O 口4 組 8 位端口可單獨尋址
3、兩個 16 位定時計數器
4、全雙工串行通信
5、6 個中斷源兩個中斷優先級
6、128 字節內置 RAM
7、獨立的 64K 字節可尋址數據和代碼區
每個 8051 處理周期包括 12 個振蕩周期每 12 個振蕩周期用來完成一項操作如取指令和計算指令執行時間可把時鐘頻率除以 12取倒數然后指令執行所須的周期數 因此 如果你的系統時鐘是 11.059MHz 除以 12 后就得到了每秒執行的指令個數 為 921583 條指令 取倒數將得到每條指令所須的時間 1.085m
2 存儲區結構
8051 結構提供給用戶 3 個不同的存儲空間如圖 A-1每個存儲空間包括從 0 到最大存儲范圍的連續的字節地址空間通過利用特定地址的尋址指令解決了地址重疊的問題
2.1 CODE 區
第一個存儲空間是代碼段用來存放可執行代碼被 16 位尋址空間可達 64K代碼段是只讀的當要對外接存儲器件如 EPROM 進行尋址時處理器會產生一個信號但這并不意味著代碼區一定要用一個 EPROM目前一般使用 EEPROM 作為外接存儲器可以被外圍器件或 8051 進行改寫這使系統更新更加容易新的軟件可以下載到 EEPROM 中而不用拆開它然后裝入一個新的 EEPROM另外帶電池的 SRAMs 也可用來代替 EPROM他可以像 EEPROM 一樣進行程序的更新并且沒有像 EEPROM 那樣讀寫周期的限制但是當電源耗盡時存儲在 SRAMs 中的程序也隨之丟失使用 SRAMs 來代替 EPROM 時允許快速下載新程序到目標系統中這避免了編程/調試/擦寫這樣一個循環過程不再需要使用昂貴的在線仿真器
除了可執行代碼還可在代碼段中存儲查尋表為達此目的8051 提供了通過數據指針 DPTR 或程序計數器加上由累加器提供的偏移量進行尋址的指令這樣就可以把表頭地址裝入 DPTR 中把表中要尋址的元素的偏移量裝入累加器中8051 在執行指令時的過程中把這兩者相加由此可節省不少指令周期在以后的例子中我們會看到這點
2.2DATA 區
第二個存儲區是 8051 內 128 字節的內部 RAM或 8052 的前 128 字節內部 RAM這部分
主要是作為數據段稱為 DATA 區指令用一個或兩個周期來訪問數據段訪問 DATA 區比訪問 XDATA 區要快因為它采用直接尋址方式而訪問 XDATA 須采用間接尋址必須先初始化 DPTR通常我們把使用比較頻繁的變量或局部變量存儲在 DATA 段中但是必須節省使用 DATA 段因為它的空間畢竟有限
在數據段中也可通過 R0 和 R1 采用間接尋址R0 和 R1 被作為數據區的指針將要恢復或改變字節的地址放入 R0 或 R1 中根據源操作數和目的操作數的不同執行指令需要一個或兩個周期
數據段中有兩個小段第一個子段包含四組寄存器組每組寄存器組包含八個寄存器 共 32 個寄存器可在任何時候通過修改 PSW 寄存器的 RS1 和 RS0 這兩位來選擇四組寄存器的任意一組作為工作寄存器組8051 也可默認任意一組作為工作寄存器組工作寄存器組的快速切換不僅使參數傳遞更為方便而且可在 8051 中進行快速任務轉換
另外一個子段叫做位尋址段BDATA包括 16 個字節共 128 位每一位都可單獨尋址8051 有好幾條位操作指令這使得程序控制非常方便并且可幫助軟件代替外部組合邏輯這樣就減少了系統中的模塊數位尋址段的這 16 個字節也可像數據段中其它字節一樣進行字節尋址
2.3特殊功能寄存器
中斷系統和外部功能控制寄存器位于從地址 80H 開始的內部 RAM 中 這些寄存器被稱
做特殊功能寄存器簡稱 SFR其中很多寄存器都可位尋址可通過名字進行引用如果要對中斷使能寄存器中的 EA 位進行尋址可使用 EA 或 IE.7
或 0AFHSFRs 控制定時
計數器串行口中斷源及中斷優先級等這些寄
存器的尋址方式和 DATA
取中的其它字節和位一樣
2.4IDATA 區
8051 系列的一些單片機如 8052 有附加的 128 字節的內部 RAM位于從 80H 開始的地址
空間中被稱為 IDATA因為 IDATA 區的地址和 SFRs 的地址是重疊的通過區分所訪問的存儲區來解決地址重疊問題因為 IDATA 區只能通過間接尋址來訪問
2.5XDATA 區
8051 的最后一個存儲空間為 64K和 CODE 區一樣采用 16 位地址尋址稱作外部數
據區簡稱 XDATA 區這個區通常包括一些 RAM如 SRAM或一些需要通過總線接口的外圍器件對 XDATA 的讀寫操作需要至少兩個處理周期使用 DPTRR0 或 DPTRR1對 DPTR 來說至少需要兩個處理周期來裝入地址而讀寫又需要兩個處理周期同樣 對于 R0 或 R1 裝入需要一個以上的處理周期而讀寫又需兩個周期由此可見處理 XDATA 中的數據至少要花 3 個指令周期因此使用頻繁的數據應盡量保存在 DATA 區中
如果不需要和外部器件進行 I/O 操作或者希望在和外部器件進行 I/O 操作時開關 RAM 則 XDATA 可全部使用 64K RAM關于這方面的應用將在以后介紹