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