最新單片機原理及應用MCS-51系列最新單片機的基本硬件.ppt_第1頁
最新單片機原理及應用MCS-51系列最新單片機的基本硬件.ppt_第2頁
最新單片機原理及應用MCS-51系列最新單片機的基本硬件.ppt_第3頁
最新單片機原理及應用MCS-51系列最新單片機的基本硬件.ppt_第4頁
最新單片機原理及應用MCS-51系列最新單片機的基本硬件.ppt_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1 單片機原理及應用 MCS 51系列單片機的基本硬件結(jié)構(gòu)MCS 51指令系統(tǒng)MCS 51單片機的系統(tǒng)擴展與應用 2 硬件結(jié)構(gòu)原理工作方式 一 MCS 51系列單片機的基本硬件結(jié)構(gòu) 3 1 1硬件結(jié)構(gòu)原理 1 1 1概述1 1 2CPU1 1 3存儲器1 1 4并行I O口1 1 5串行I O口1 1 6定時器 計數(shù)器1 1 7中斷1 1 8時鐘 4 1 1硬件結(jié)構(gòu)原理 1 1 1概述 1 基本特征A 產(chǎn)品簡介Intel公司MCS 51系列高檔8位單片機8051 80C518052 80C5287518031B 主要性能40腳雙列直插式封裝 一個8位CPU 片內(nèi)振蕩定時電路 內(nèi)部數(shù)據(jù)存貯器 RAM 容量128B 256B 內(nèi)部程序存貯器 ROM 容量2KB 4KB 特殊功能寄存器 SFR 21個 26個 具有位尋址功能尋址空間00H FFH 外部數(shù)據(jù)存貯器尋址空間64KB 外部程序存貯器尋址空間64KB 輸入 輸出口線32根 16位可編程定時器 計數(shù)2個 3個 可編程為2個優(yōu)先級的中斷源5個 6個 可通過編程選定的全雙工同步 異步的串行口1個 5 1 1硬件結(jié)構(gòu)原理 1 1 1概述 續(xù) 2 8051的內(nèi)部總體結(jié)構(gòu) 3 外部引腳功能2種封裝形式 40引腳雙列直插 DIP 44引腳的PLCC六大部分 數(shù)據(jù)總線 地址總線 控制總線 線 時鐘 電源 數(shù)據(jù)總線P0 BUS 地址總線P0 BUS P2 控制總線ALE PROGPSENEA VDDRST VPD 線P0P1P2P3P R DP T DP32 INT0P33 INT1P34 T P35 T P36 WRP37 RD 時鐘XTAL1XTAL2F 電源V V 6 7 VCC VSS XTAL1 XTAL2 PSEN ALE PROG EA VDD RST VPD MCS 51 8 8 8 P0 BUS P1 P2 AB P30 RXD P31 TXD P32 INT0 P33 INT1 P34 T0 P35 T1 P36 WR P37 RD 8 和布爾處理機 累加器 程序狀態(tài)字寄存器 1 0 堆棧指針 數(shù)據(jù)指針 1 1 2CPU 1 1硬件結(jié)構(gòu)原理 9 1 1 3存儲器1 數(shù)據(jù)存儲器分內(nèi)部數(shù)據(jù)存儲器 00H 7FH 00H FFH 和外部數(shù)據(jù)存儲器 0000H FFFFH 內(nèi)部數(shù)據(jù)存儲器 作用 尋址空間內(nèi)部數(shù)據(jù) 地址空間 00H FFH 特殊功能寄存器地址空間128 80H FFH 重疊地址的尋址內(nèi)部 80H FFH 只能用寄存器間接尋址 80H FFH 只能用直接尋址 結(jié)構(gòu) 1 1硬件結(jié)構(gòu)原理 10 1 1 3存儲器 續(xù) 主要功能 分類 名稱 算術(shù)運算寄存器ABPSW 指針寄存器SPDPTR 并行 口 對應 P P P P 串行 口 對應 SCONSBUFPCON 定時器 計數(shù)器TMODTCONTH0TL0TH1TL1 T2CONTH2TL2RCAP2HRCAP2L 中斷系統(tǒng) 對應中斷控制邏輯 IEIP 1 1硬件結(jié)構(gòu)原理 11 7FH FFH FFH數(shù)據(jù)緩沖區(qū)30H可直接位尋址2FH16個單元 位地址空間00H 7FH20H1FH工作寄存器區(qū)318H17H工作寄存器區(qū)210H0FH工作寄存器區(qū)108H07H工作寄存器區(qū)000H80H內(nèi)部RAM特殊功能寄存器SFR 1 1硬件結(jié)構(gòu)原理 12 1 1 3存儲器 續(xù) B 外部數(shù)據(jù)存儲器 作用存儲數(shù)據(jù) 地址空間0000H FFFFH64KB 尋址i DPTR間接尋址P0口 BUS 輸出AB7 0 DPL值 P2口輸出AB15 8 DPH值 在讀寫周期保持不變 此時P2口的SFR內(nèi)容不變 并在讀 寫選通結(jié)束后將在P2口恢復其信息 R0 R1間接尋址P0口輸出AB7 0 R0 R1中內(nèi)容 P2口輸出AB15 8 這不是R0 R1間接尋址本身的功能 而是尋址前用指令事先輸出的 R0 R1間接尋址不訪問內(nèi)部RAM而訪問外部數(shù)據(jù)存儲器 是由于采用MOVX指令的緣故 這時將產(chǎn)生RD或WR信號 P3口 1 1硬件結(jié)構(gòu)原理 13 1 1 3存儲器 續(xù) 1 程序存儲器A作用存放程序及一些常數(shù) 常為表格 B地址空間分為片內(nèi)ROM EPROM FLASH4KB 0000H 0FFFH 和外部程序存儲器64KB 0000H FFFFH C尋址 片內(nèi)程序存儲器尋址PC尋址 EA 1 PC中地址在0000H 0FFFH 或1FFFH 范圍內(nèi) 則不產(chǎn)生PSEN信號 從片內(nèi)程序存儲器尋址 外部程序存儲器尋址PC尋址 兩種情況iEA 1 當PC中地址 0FFFH 或1FFFH 時 產(chǎn)生PSEN信號 在外部程序存儲器尋址 iiEA 0 無論PC中地址為何地址 均產(chǎn)生PSEN信號 在外部程序存儲器尋址 1 1硬件結(jié)構(gòu)原理 14 1 1 3存儲器 續(xù) D專用地址矢量0000H 復位矢量0000H 0002H 初始化程序0003H 外部中斷0矢量0003H 000AH 外部中斷0服務程序000BH 定時器0中斷矢量000BH 0012H 定時器0中斷服務程序0013H 外部中斷1矢量0013H 001AH 外部中斷1服務程序001BH 定時器1中斷矢量001BH 0022H 定時器1中斷服務程序0023H 串行中斷矢量0023H 002AH 串行中斷服務程序 002BH 定時器2中斷矢量002BH 0032H 定時器2中斷服務程序 在固定分配的矢量地址中 若放不下初始化程序或中斷服務程序 可在相應矢量地址中放一條轉(zhuǎn)移指令 轉(zhuǎn)到相應程序入口地址 當不使用某種中斷時 該中斷的矢量地址8個單元可用作一般程序存儲器單元使用 1 1硬件結(jié)構(gòu)原理 15 1 1硬件結(jié)構(gòu)原理 16 1 1 3存儲器 續(xù) B各地址空間尋址的區(qū)分FFFFHFFFFHFFHFFH RjDIRECTMOVCbit指令7FH Rj80HDIRECT特殊功能寄存器MOVX Rj指令 1FFFH DIRECT0FFFHbitMOVC Rj指令DIRECTRr0000H0000H00H0000H內(nèi)部程序存儲器外部程序存儲器內(nèi)部數(shù)據(jù)RAM外部數(shù)據(jù)存儲器程序存儲器數(shù)據(jù)存儲器 17 1 1 4并行I O口1 結(jié)構(gòu)與工作原理32根I O線4個雙向并行I O口P0P1P2P3 P0 X引腳 地址 數(shù)據(jù) CPU控制 VCC 1 1硬件結(jié)構(gòu)原理 18 P1 X引腳 VCC P2 X引腳 地址 控制 VCC P2 X 19 I O引腳 第二輸出功能 VCC 第二輸入功能 2 輸入 輸出功能A輸入功能a 讀鎖存器 讀 改 寫 指令ANL JBC CLRPXYb 讀引腳B輸出功能 1 1硬件結(jié)構(gòu)原理 20 1 1 5串行I O口1 1 6定時器 計數(shù)器1 定時器 計數(shù)器功能 1 1硬件結(jié)構(gòu)原理 21 1 1硬件結(jié)構(gòu)原理 22 單片機原理及應用 MCS 51系列單片機的基本硬件結(jié)構(gòu)MCS 51指令系統(tǒng)MCS 51單片機的系統(tǒng)擴展與應用 23 二 MCS 51指令系統(tǒng) 概述尋址方式指令系統(tǒng)匯編語言程序設計 24 2 1概述 2 1 1指令系統(tǒng)簡況111條指令 其中單字節(jié)指令49條雙字節(jié)指令45條三字節(jié)指令17條單周期指令64條雙周期指令45條四周期指令2條組合情況單字節(jié)單周期單字節(jié)雙周期單字節(jié)四周期雙字節(jié)單周期雙字節(jié)雙周期三字節(jié)雙周期2 1 2二級表達形式機器語言匯編語言2 1 3符號及含義A累加器AB乘除法寄存器對addr程序存儲器地址rel相對地址Rj間接尋址用寄存器Rr工作寄存器 25 2 1概述 bit位C進位標志data立即數(shù)DIRECT直接尋址地址PC程序計數(shù)器PSW程序狀態(tài)字SP堆棧指針X外部數(shù)據(jù)存儲器 立即數(shù)前綴 寄存器間接尋址前綴 程序計數(shù)器的當前值 X X中的內(nèi)容 X X中的內(nèi)容為地址的單元中的內(nèi)容 送入 26 2 2 1尋址方式總表直接尋址寄存器尋址間接尋址寄存器立即尋址方式直接尋址方式 間接尋址直接位尋址方式 變址尋址方式 立即尋址變址尋址相對尋址直接位尋址方式類頁面尋址簡表Rr RjDIRECT data A PCbit A DPTRrel AJMPACALL 2 2尋址方式 27 2 2尋址方式 A立即尋址類別 立即尋址概念 操作數(shù)包含于指令中 指令中直接給出操作數(shù) 表達 匯編語言 data機器語言nORnn例 MOVA 0FH74H 0FHMOVDPTR 1046H90H 10H 46H尋址區(qū)域 程序存儲器尋址過程及時序 B寄存器尋址類別 直接尋址概念 指令中直接指明存放操作數(shù)的寄存器表達 匯編語言Rr r 0 7 機器語言 8H FH例 ADDA R42CH尋址區(qū)域 R0 R7 含4個工作寄存器區(qū) 區(qū)號以RS1 RS0表達 A B AB DPTR 一般隱含 SFR不是用寄存器尋址方式尋址過程及時序 2 2 2尋址方式 28 C直接尋址類別 直接尋址概念 指令中直接給出存放操作數(shù)的1字節(jié)地址 即操作數(shù)的有效地址EA存放于操作碼后續(xù)的1個字節(jié)中表達 匯編語言m DIRECT 機器語言OPCODE m例 ADDCA 61H35H 61H尋址區(qū)域 內(nèi)部數(shù)據(jù)RAM陣列中的任何一個單元 即00H 7FH特殊功能寄存器SFR 80H FFH尋址過程及時序 D寄存器間接尋址類別 間接尋址概念 指令中指出存放操作數(shù)的1或2字節(jié)地址由哪個寄存器給出 僅含Rj和DPTR 表達 匯編語言 R0 R1 DPTR 此外堆棧操作 機器語言略例 ADDA R0尋址區(qū)域 R0或 R1方式或堆棧指針訪問的內(nèi)部數(shù)據(jù)RAM區(qū)域 00H FFH R0 R1或 DPTR方式訪問的外部數(shù)據(jù)存儲器 0000H FFFFH 尋址過程及時序 2 2尋址方式 29 E變址尋址類別 變址尋址概念 基地址 PC和DPTR 和變址 偏移量 寄存器A中內(nèi)容相加形成操作數(shù)的地址或轉(zhuǎn)移地址 這里A中偏移量為無符號數(shù) 僅出現(xiàn)在MOVC及轉(zhuǎn)移指令中 表達 匯編語言 A DPTR A PC機器語言OPCODE表示例 MOVCA A DPTRMOVCA A PCJMP A DPTR尋址區(qū)域 程序存儲器 往往是表格形式 尋址過程及時序 F相對尋址類別 變址尋址概念 指令中給出偏移量 補碼 以下條指令的PC值作基地址加上指令給定的相對偏移量即得轉(zhuǎn)移地址表達 匯編語言標號機器語言rel例 JNZNEXT70H rel尋址區(qū)域 程序存儲器尋址過程及時序 2 2尋址方式 30 H直接位尋址類別 位尋址概念 指令中指出存放位操作數(shù) 0或1 的直接位地址 00H FFH 該位地址由操作碼中的相應位來表達 表達 匯編語言bit 00H FFH或ACC 4 PXY等 機器語言bit 00H FFH 例 MOVC P10A2H 90HANLC 90HB0H 90H尋址區(qū)域 內(nèi)部數(shù)據(jù)RAM陣列中20 2FH單元中的位 00H 7FH特殊功能寄存器SFR中的可直接位尋址的位 80H FFH尋址過程及時序 G 類頁面尋址 類別 變址尋址概念 以下條指令的PC值的高5位與指令中給出的11位相連接而獲得所尋址地址 轉(zhuǎn)移地址或子程序入口地址 表達 匯編語言AXXXX符號地址 AJMP符號地址 ACALL符號地址 機器語言mn 11位地址 A10 0 其中m A10 8 即OP碼D7 5 而n在OP碼后的一字節(jié) 表A7 0例 AJMPNEXT尋址區(qū)域 程序存儲器尋址過程及時序 2 2尋址方式 31 I隱含尋址類別 隱含尋址概念 指令中以隱含方式指出存放操作數(shù)的地址 該地址以操作碼來指定 而不提供地址的任何信息 隱含尋址方式是一種不可選擇的尋址方式 表達 匯編語言指令本身機器語言無例 MOVA 51HMOVDPTR 4089HMULAB尋址區(qū)域 專對A B AB DPTR等 2 2尋址方式 32 2 3指令系統(tǒng) MCS 51系列指令系統(tǒng)可分為四大類指令 即 數(shù)據(jù)傳送類指令 算術(shù) 邏輯運算類指令 程序控制類指令 位操作類指令 學習指令系統(tǒng)必須掌握的內(nèi)容 類別 大類 子類 次級子類 尋址方式 源地址 目標地址允許采用的尋址方式 指令結(jié)構(gòu)及表達格式 單 雙操作數(shù)指令 源 目地址 條件等 指令所提供的信息 匯編語言表達格式 機器語言表達格式 指令功能及對標志位的影響 指令執(zhí)行過程及時序2 3 1數(shù)據(jù)傳送類指令A通用傳送指令 MOV目 源 目 源 1B 尋址 A data Rr DIRECT Rj PUSH源 SP SP 1 SP 源 1B DIRECT POP目 目 SP SP SP 1 1B DIRECTB累加器專用傳送指令 33 2 3指令系統(tǒng) B累加器專用傳送指令 XCHA 源 A 源 同時源 A 1B 尋址 Rr DIRECT RjXCHDA 源 AD 源 D同時源D A D 高半字節(jié)不變 尋址 Rj MOVXA 源 A 源 外部 1B 尋址 Rj DPTRMOVX目 A 目 A 外部 1B 尋址 Rj DPTR MOVCA 源 A 源 源為程序存儲器單元 1B 尋址 A DPTR A PCC目標地址傳送指令MOVDPTR data DPTR data 2B本大類指令 除對PSW執(zhí)行POP或MOV指令外 均不影響標志位 本系列單片機的并行I O操作 串行I O操作 定時 計數(shù)器操作 中斷的某些控制處理 都歸于統(tǒng)一的形式 直接尋址SFR的數(shù)據(jù)傳送指令 其區(qū)別僅在于尋址不同的 相關的 SFR而已 直接地址與立即數(shù)的區(qū)別 立即數(shù)有前綴 34 2 3指令系統(tǒng) 2 3 2算術(shù) 邏輯運算類指令A算術(shù)運算指令算術(shù)運算指令分為一般算術(shù)運算 加 減 乘 除 指令和增量 減量指令兩部分 a 一般算術(shù)運算指令 ADDA A A 尋址 data Rr DIRECT RjADDCA A A C 尋址 data Rr DIRECT Rj DAA 二 十進制調(diào)整 不能用于 二進制數(shù)轉(zhuǎn)換為十進制數(shù) 減法的二 十進制調(diào)整 SUBBA A A C 尋址 data Rr DIRECT Rj MULAB AB A B 8位無符號整數(shù)相乘 積的低8位在A 高8位在B C 0 若積 FFH 則OV 1 DIVAB A A B 8位無符號整數(shù)相除 無符號整數(shù)商送A 無符號整數(shù)余送B C 0 若除數(shù)為0 則 A B 不定 且OV 1 35 2 3指令系統(tǒng) b 增量 減量指令 INC 1 尋址 A DPTR Rr DIRECT Rj 其中僅INCDPTR為雙字節(jié)運算 DEC 1 尋址 A Rr DIRECT RjB邏輯運算指令邏輯運算指令又分為雙操作數(shù)指令和單操作數(shù)指令 a 雙操作數(shù)邏輯運算指令 ORLA A A 尋址 data Rr DIRECT RjORLDIRECT DIRECT DIRECT 尋址 data A ANLA A A 尋址 data Rr DIRECT RjANLDIRECT DIRECT DIRECT 尋址 data A XRLA A A 尋址 data Rr DIRECT RjXRLDIRECT DIRECT DIRECT 尋址 data Ab 單操作數(shù)邏輯運算指令 36 2 3指令系統(tǒng) b 單操作數(shù)邏輯運算指令 CLRA A 0CPLA A A RLA RLCA RRA RRCA SWAPA C C D7 D4 D3 D0 37 2 3指令系統(tǒng) 2 3 3控制轉(zhuǎn)移類指令本大類指令分為三個子類 轉(zhuǎn)移指令 無條件轉(zhuǎn)移指令 條件轉(zhuǎn)移指令 調(diào)用和返回指令 中斷控制指令 A轉(zhuǎn)移指令a 無條件轉(zhuǎn)移指令 AJMPaddr10 0 PC PC 2 PC10 0 addr10 0 在2KB范圍內(nèi)跳轉(zhuǎn) 僅當該指令處于2KB頁面的最后2B時 方可轉(zhuǎn)移入下一頁 LJMPaddr15 0 PC15 0 addr15 0 可轉(zhuǎn)移到任意處 SJMPrel PC PC 2 PC PC rel rel為補碼 可轉(zhuǎn)移到以下一條指令的首地址為中心的256B 128B 127B AJMP A DPTR PC A DPTR 可轉(zhuǎn)移到64KB范圍內(nèi)的任意一處地址 NOP 空操作 用于調(diào)整地址空間或定時時間以及用作調(diào)試 修改程序時使用的緩沖單元b 條件轉(zhuǎn)移指令 38 2 3指令系統(tǒng) b 條件轉(zhuǎn)移指令 JZrel 當 A 00H時 PC PC 2 PC PC rel rel為補碼 當 A 00H時 PC PC 2JNZrel 當 A 00H時 PC PC 2 PC PC rel rel為補碼 當 A 00H時 PC PC 2 DJNZ rel 1 尋址方式 Rr DIRECT 若 0 PC PC 2 Rr方式 或PC PC 3 DIRECT方式 PC PC rel rel為補碼 若 0 PC PC 2 Rr方式 或PC PC 3 DIRECT方式 CJNE rel 尋址方式 A Rr Rj 為 data時 尋址方式 A 為DIRECT時 若 則PC PC 3 PC PC rel C 0 若 則PC PC 3B子程序調(diào)用和返回指令 39 2 3指令系統(tǒng) B子程序調(diào)用和返回指令 ACALLaddr10 0 PC PC 2 SP SP 1 SP PC7 0 SP SP 1 SP PC15 8 PC10 0 addr10 0可調(diào)用下一條指令所在2KB頁內(nèi)任意指定地址處的子程序 該指令若位于2KB頁面的最后2字節(jié) 則調(diào)用將轉(zhuǎn)向下一頁 LCALLaddr15 0 PC PC 3 SP SP 1 SP PC7 0 SP SP 1 SP PC15 8 PC addr15 0 RET PC15 8 SP SP SP 1 PC7 0 SP SP SP 1C中斷控制指令RETI 主要功能同RET 區(qū)別在于 能恢復中斷邏輯以準備接收與剛處理完的中斷有相同優(yōu)先級的其它中斷 40 2 3指令系統(tǒng) 2 3 4位操作類指令本大類指令分為三個子類 位傳送指令 位邏輯運算指令 位條件判轉(zhuǎn)指令 A位傳送指令MOVC C 尋址 bitMOV C C 尋址 bitB位邏輯運算指令a 基本的位邏輯運算指令ORLC C C 尋址 bit bitANLC C C 尋址 bit bitb 位狀態(tài)控制指令SETB 1 尋址 C bitCLR 0 尋址 C bitCPL 尋址 C bit 41 2 3指令系統(tǒng) C位條件判轉(zhuǎn)指令 JCrel 若 C 0 PC PC 2 若 C 1 PC PC 2 PC PC relJNCrel 若 C 1 PC PC 2 若 C 0 PC PC 2 PC PC rel JB rel 若 0 PC PC 3 若 1 PC PC 3 PC PC rel 尋址 bitJBC rel 若 0 PC PC 3 若 1 PC PC 3 PC PC rel 0 尋址 bitJNB rel 若 1 PC PC 3 若 0 PC PC 3 PC PC rel 尋址 bit 42 2 4匯編語言程序設計 例 RAM中60H單元中存有一個帶符號數(shù) 求其絕對值 存入外部數(shù)據(jù)存儲器2460H單元 解 源程序可編制為 MOVA 60HJNBACC 7 DONECPLAINCADONE MOVDPTR 2460HMOVX DPTR A 簡單程序設計 結(jié)構(gòu)程序設計 算術(shù)運算程序設計 代碼和數(shù)制轉(zhuǎn)換程序設計 排序 搜索程序設計 浮點運算子程序設計 2 4 1簡單程序設計 43 2 4匯編語言程序設計 例 外部數(shù)據(jù)存儲器自2400H單元開始的區(qū)域中存儲有100個帶符號一字節(jié)數(shù) 找出其中最大的一個 存入RAM60H單元中 解 源程序可編制為 MOVDPTR 2400MOVR2 63HMOVXA DPTRMOVR0 AAGAIN INCDPTRMOVXA DPTRCLRCSUBBA R0JNBPSW 2 NEXTJNBACC 7 UNEXCHEXCH MOVXA DPTRMOVR0 ASJMPUNEXCHNEXT JNBACC 7 EXCHUNEXCH DJNZR2 AG

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論