




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
MCS-51單片機的組成和內部結構MCS-51單片機系列包括51、52兩個子系列51子系列有80C31、80C51、87C51和89C51四種機型52子系列也有四種機型,分別是80C32、80C52、87C52和89C52兩子系列的區(qū)別是:51子系列有128B的片內RAM,4KB的ROM(不包括80C31),2個定時器/計數器及5個中斷源。52子系列有256B的片內RAM,8KB的ROM(不包括80C32),3個16位定時器/計數器及6個中斷源。OscillatorInterruptCPUEPROMRAMTimer1Timer0I/OportsSerial外部中斷晶振輸入P0P1P2P3TXDRXD8051單片機OscillatorInterruptCPUEPROMRAMTimer1Timer0I/OportsSerialP0P1P2P3TXDRXD程序8-bitdatabus數據總線16-bitaddressbus地址總線8-bitaddressbus地址總線外部中斷晶振輸入OscillatorInterruptCPUEPROMRAMTimer1Timer0I/OportsSerialP0P1P2P3TXDRXD中央處理器中斷振蕩器定時器串口外部中斷晶振輸入OscillatorInterruptCPUEPROMRAMTimer1Timer0I/OportsSerialP0P1P2P3TXDRXDMOVP3,23h外部中斷晶振輸入外部中斷晶振輸入OscillatorInterruptCPUEPROMRAMTimer1Timer0I/OportsSerialP0P1P2P3TXDRXDMOVP3,23H給我一條指令!!指令地址是什么?在這里OscillatorInterruptCPUEPROMRAMTimer1Timer0I/OportsSerialP0P1P2P3TXDRXDMOVP3,23hMOVP3,23H外部中斷晶振輸入OscillatorInterruptCPUEPROMRAMTimer1Timer0I/OportsSerialP0P1P2P3TXDRXDMOVP3,23H外部中斷晶振輸入OscillatorInterruptCPUEPROMRAMTimer1Timer0I/OportsSerialP0P1P2P3TXDRXDMOVP3,23H外部中斷晶振輸入詳細結構引腳P1P0P2P3CPU中央處理器(CPU)是整個單片機的核心部件,是8位數據寬度的處理器,能處理8位二進制數據或代碼。CPU負責控制、指揮和調度整個單元系統(tǒng)協調工作,完成運算和控制輸入輸出功能等操作。它由運算器、控制器及位處理器(布爾處理器)等組成。運算器包括算數邏輯單元、累加器A、寄存器B、暫存器(TEMP)及程序狀態(tài)寄存器PSW等。ACC寄存器TMP2臨時寄存器TMP1臨時寄存器ALU運算單元PSW程序狀態(tài)寄存器內部數據總線程序狀態(tài)標志寄存器PSW反映ALU運算結果的標志寄存器。如計算加法時的進位、計算減法時的借位及ACC寄存器中數據的奇偶等標志同時還具有一些其它的標志,它是單片機編程時特別需要關注的寄存器
控制器主要任務:根據指令控制單片機各功能部件;包括:程序計數器、程序地址寄存器、指令寄存器IR、指令譯碼器、條件轉移邏輯電路及時序控制邏輯電路。存儲器
數據存儲器(RAM):51/52片內有128/256個8位用戶讀寫數據存儲單元和21/26個特殊功能寄存器
程序存儲器(ROM):51/52有4KB/8KB的掩膜ROM,用于存放用戶程序和常數(如原始數據或表格)等。當需要擴展片外ROM時,MCS-51對外有64KB程序存儲器的尋址能力。MCS-51的存儲器配置
MCS-51單片機的程序存儲器和數據存儲器的尋址空間是分開的,屬于哈佛存儲結構共有5個物理上相互獨立的存儲器空間用戶角度看有3個存儲空間:片內外統(tǒng)一編址的64KB程序存儲器地址空間、64KB外部數據存儲器地址空間、256B的片內數據存儲地址空間VonNeumannarchitecture00010C0B0A0908070605040302JohnVonNeumann存儲器配置類型馮·諾依曼VonNeumannarchitecture00010C0B0A09080706050403024B44016F2326A3554745DataProgram存儲器配置類型存儲器配置類型VonNeumannarrangementHarvardarrangement00010C0B0A09080706050403A02CBD五種類型的存儲器ExternalRAMExternalROM8051InternalROMSpecialFunctionRegistersInternalRAMSFR,特殊功能寄存器00hFFh80h7FhFFFF0000內部RAMb.8052內存分配數據存儲器00hFFh80h7FhFFFF0000內部RAM8052內存分配SFR特殊功能寄存器00hFFh80h7FhFFFF0000內部RAMSFR外部RAM8052內存分配數據存儲器00hFFh80h7FhFFFF0000內部RAMSFR外部RAMROM8052內存分配內部外部DataMemoryDataMemCodeMemoryCodeMemorySFRs0080FFFFFFFFFF0000內部RAM內部ROM外部ROM外部RAM8052如何判別使用哪類存儲器?DataMemoryDataMemCodeMemoryCodeMemorySFRs0080FFFFFFFFFF0000MOV內部RAM內部ROM外部ROM外部RAMDataMemoryDataMemCodeMemoryCodeMemorySFRs0080FFFFFFFFFF0000MOV內部RAM內部ROM外部ROM外部RAMDataMemoryDataMemCodeMemoryCodeMemorySFRs0080FFFFFFFFFF0000MOV(間接尋址)內部RAM內部ROM外部ROM外部RAMDataMemoryDataMemCodeMemoryCodeMemorySFRs0080FFFFFFFFFF0000MOVX(間接尋址)
內部RAM內部ROM外部ROM外部RAMDataMemoryDataMemCodeMemoryCodeMemorySFRs0080FFFFFFFFFF0000MOVC(間接尋址)內部RAM內部ROM外部ROM外部RAMDataMemoryDataMemCodeMemoryCodeMemorySFRs0080FFFFFFFFFF0000MOVC(間接尋址)內部RAM內部ROM外部ROM外部RAMDataMemoryDataMemCodeMemoryCodeMemorySFRs0080FFFFFFFFFF0000如何確定使用哪個程序存儲器?內部RAM內部ROM外部ROM外部RAM40239133843753663573483393210311130122913281427152616251724182319222021P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0Vcc+5vP0.0P0.1P0.2P0.3P0.4P0.5P0.6VssGNDXTAL2P3.0RXDRSTP3.1TXDP3.2INT0P3.3INT1P3.4T0P3.5T1P3.6WRP3.7RDXTAL1P0.7Vpp/EAPROG/ALEPSEN8051EA=ExternalAccessEA為低則使用外部ROMEA為高則使用內部ROM+5VDataMemoryDataMemCodeMemoryCodeMemorySFRs0080FFFFFFFFFF0000EA=lowEA=high內部RAM內部ROM外部ROM外部RAM內部RAM001F202F307F32bytesR區(qū)(寄存器區(qū))
16bytes位空間80bytes普通RAM00R區(qū)07080F1017181FRegisterBank0RegisterBank1RegisterBank2RegisterBank3R0R7R0R7R0R7R0R7當使用0區(qū)寄存器時MOVR7,#12H=MOV07H,#12H
001F202F307F4RegisterBanks16bytes可位尋址RAM80bytesRAM位空間可位尋址RAM如何區(qū)別位地址和字節(jié)地址?不同指令區(qū)分!如:INC7FH(字節(jié))SETB7FH(位)001F202F307F4RegisterBanks16bytes可位尋址RAM80bytesRAM普通RAM區(qū)
(b)向上生長型進棧SP增加,出棧SP減小棧頂數據入數據出SPSPSP+1棧底數據出數據入SPSP-1SP(a)向下生長型進棧SP減小,出棧SP增加兩種不同類型的堆棧8051堆棧BaseEndGrowingupwards基地址BaseEndGrowingdownwards寫入新數據8051堆棧BaseEndGrowingupwards在內部RAM堆棧在哪兒?00hFFh80h7FhFFFF0000內部RAMSFR外部RAM程序存儲器8051內存分配堆棧在內部RAMStackPointer棧指針SPStackPointer(8-bit)堆棧中最后一項的地址STACKStackPointerStackPointer當8051復位(RESET)時SP值為07h07h1110000008h09h0Ah06h05h04h03hBase內部RAMSFR外部RAM程序存儲器SP是一個SFRSP在什么地方?PUSH36hStackPointer36h37h35hXXXXPOP37hStackPointer36h37h35hXXXX堆棧指針操作
MOVSP,#45h INCSP DECSP危險堆棧指針操作
MOVSP,#45h INCSP DECSP初始化堆棧指針
BEGIN:
MOVSP,#45h ;堆棧從46h開始特殊功能寄存器區(qū)地址范圍:80H~FFH一是通用數據RAM區(qū)(51子系列單片機沒有該區(qū))二是特殊功能寄存器區(qū)。特殊功能寄存器(SFR)
地址范圍:80H~FFH,與通用RAM的高128B地址,在邏輯上是重合的。51子系列單片機有21個特殊功能寄存器。52子系列比51子系列多了一個定時器/計數器T2,增加了5個特殊功能寄存器。
PC0000HTCON00HACC00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0~P3FFHSCON00HIP××000000BSBUF不定IE0×000000BPCON0×××0000BTMOD00H沒有占用的地址單元讀寫均無效尋址方式:可以以字節(jié)尋址,部分也可以位尋址可位尋址的寄存器:地址是8的整倍數。有11個可位尋址寄存器。其字節(jié)和位的地址見表2.5所示位地址與位尋址區(qū)地址統(tǒng)一編址
累加器ACC(0E0H)累加器的助記符是A,當對累加器的位進行操作時,常用符號ACC,如累加器的D0位,表示為“ACC.0”。大部分單操作數指令的操作數取自累加器A。B寄存器(0F0H)B寄存器可以作為一般寄存器使用。但在乘除指令中,B寄存器有專門的用途。乘法指令中,兩個操作數一個是累加器A,另一個必須是B寄存器。其結果存放在A、B寄存器對中。除法指令中,被除數是累加器A,除數是寄存器B,商數存放于A,余數存放于B寄存器。
程序狀態(tài)寄存器PSW(0D0H)程序狀態(tài)寄存器是一個8位寄存器。它包含了程序狀態(tài)信息和一些可控制位。該寄存器各位的含義見表2.6所示
CyACFORS1RS0OV
P進位標志Cy:算術邏輯指令時,最高位D7有進(借)位,則Cy=1,否則Cy=0;在布爾處理器中,它起著“位累加器”的作用。17條布爾處理指令多數是針對CY來完成的。程序中寫成C。
輔助進位標志AC:加(減)法運算時,如果低半字節(jié)的最高位D3有進(借)位,則AC=1,否則AC=0;AC在作BCD碼運算而進行二~十進制調整時有用。Cy
ACFORS1RS0OV
P用戶標志FO:是用戶定義的一個狀態(tài)標志??赏ㄟ^軟件對它置位、清零;在編程時,也常測試其狀態(tài)進行程序分支。CyACFORS1RS0OV
PCyACFORS1RS0OV
P工作寄存器區(qū)選擇位RS1、RS0:可借軟件置位或清零,以選定4個工作寄存器區(qū)中的一個區(qū)投入工作。RS1RS0寄存器區(qū)00第0區(qū)01第1區(qū)10第2區(qū)11第3區(qū)溢出標志OV:作有符號數加法、減法時由硬件置位或清除,以指示運算結果是否溢出。CyACFORS1RS0OV
P奇偶標志P:每執(zhí)行一條指令,單片機都能根據A中1的個數的奇偶自動令P置位或清零:奇為1,偶為0。串行通信的數據傳輸非常有用,通過奇偶校驗可檢驗數據傳輸的正確與否。CyACFORS1RS0OV
PDPTR(83H、82H)數據指針DPTR是一個16位專用寄存器。它既可以是一個16位專用寄存器DPTR,有16位數的加一功能。也可以拆開,作為2個獨立的8位寄存器DPH和DPL使用。DPTR是繼程序計數器PC以外的第二個16位寄存器。用途:保持16位的地址,尋址片外64KB的數據存儲器或程序存儲器空間。大多數情況下只能作為兩個8位寄存器使用,如將DPTR壓棧應先壓DPL后壓DPH有“自加一”指令,沒有“自減一”指令指針SP(81H)堆棧指針SP是一個8位的特殊功能寄存器MCS-51的堆棧指針具有自加一功能,指向棧頂壓棧過程:SP先“自加一”而后將數據放入存儲器單元出棧過程:先將SP指向單元數據送出,而后SP“自減一”程序計數器PC程序計數器PC不屬于特殊功能寄存器。編程不能對它進行訪問。一個16位程序地址寄存器。專門用于存放下一條要執(zhí)行指令的地址??蓪ぶ?000H-0FFFFH范圍,64KB的程序存儲器空間。當一條指令被取出后,PC的內容會自動增量,指向下一條要執(zhí)行指令的地址。注意:PC在0000H~0FFFH范圍內,執(zhí)行片內ROM中的程序當PC的內容在1000H~0FFFFH范圍時,CPU自動轉向外部ROM執(zhí)行程序P0-P3端口寄存器地址:80H,90H,0A0H,0B0H專用寄存器P0、P1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 種子批發(fā)市場客戶關系維護與提升考核試卷
- 取暖初二語文作文
- 看花燈初三語文作文
- 發(fā)酵豆醬的抗氧化能力研究考核試卷
- 生態(tài)系統(tǒng)穩(wěn)定性監(jiān)測與預警考核試卷
- 水電工程案例分析與啟示考核試卷
- 煤炭批發(fā)市場供需平衡分析考核試卷
- 2-15邏輯函數的化簡-卡諾圖法4
- 山西農業(yè)大學《統(tǒng)計學B》2023-2024學年第二學期期末試卷
- 麗江文化旅游學院《數據描述與可視化》2023-2024學年第二學期期末試卷
- 水土保持工程質量評定規(guī)程sl3362006
- 苯乙酸安全技術說明書(msds)
- 2022-2023學年統(tǒng)編版選擇性必修三 邏輯與思維 10-2 體會認識發(fā)展的歷程 教案-
- 萬邦特種材料股份有限公司年產18000噸特種紙遷建項目環(huán)境影響報告書
- 【建模教程】-建模-數學建模夏令營
- 高中英語高頻詞匯拓展延伸
- 誠信友善教學反思(十篇)
- 2023版思想道德與法治專題6遵守道德規(guī)范錘煉道德品格PPT
- 部編本六年級下冊語文課件古詩詞誦讀
- 銷售立項申請表
- 一案八制方案
評論
0/150
提交評論