單片機(jī)的內(nèi)部結(jié)構(gòu)及其工作原理介紹ppt課件_第1頁(yè)
單片機(jī)的內(nèi)部結(jié)構(gòu)及其工作原理介紹ppt課件_第2頁(yè)
單片機(jī)的內(nèi)部結(jié)構(gòu)及其工作原理介紹ppt課件_第3頁(yè)
單片機(jī)的內(nèi)部結(jié)構(gòu)及其工作原理介紹ppt課件_第4頁(yè)
單片機(jī)的內(nèi)部結(jié)構(gòu)及其工作原理介紹ppt課件_第5頁(yè)
已閱讀5頁(yè),還剩44頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第章單片機(jī)結(jié)構(gòu)原理 本章內(nèi)容 SingleChipMicrocomputer 單片機(jī)內(nèi)部結(jié)構(gòu)及引腳 單片機(jī)時(shí)序及接口 單片機(jī)存儲(chǔ)器配置 單片機(jī)輸入輸出口 2 1MCS 51單片機(jī)內(nèi)部結(jié)構(gòu)及引腳 MCS 51系列單片機(jī)是英特爾公司1980推出的高檔8位機(jī)分為二個(gè)子系列 三個(gè)版本 掩膜ROMPROM OTP ROMEPROMEEPROMFLASH MCS 51單片機(jī)硬件結(jié)構(gòu) 結(jié)構(gòu)框圖 中央處理器CPU 8位 運(yùn)算和控制功能 內(nèi)部RAM 共256個(gè)RAM單元 用戶(hù)使用前128個(gè)單元 用于存放可讀寫(xiě)數(shù)據(jù) 后128個(gè)單元被專(zhuān)用寄存器占用 內(nèi)部ROM 4KB掩膜ROM 用于存放程序 原始數(shù)據(jù)和表格 定時(shí) 計(jì)數(shù)器 兩個(gè)16位的定時(shí) 計(jì)數(shù)器 實(shí)現(xiàn)定時(shí)或計(jì)數(shù)功能 并行I O口 4個(gè)8位的I O口P0 P1 P2 P3 串行口 一個(gè)全雙工串行口 中斷控制系統(tǒng) 5個(gè)中斷源 外部中斷2個(gè) 定時(shí) 計(jì)數(shù)中斷2個(gè) 串行中斷1個(gè) 時(shí)鐘電路 可產(chǎn)生時(shí)鐘脈沖序列 允許晶振頻率6MHZ和12MHZ 1 8051單片機(jī)的基本組成 中央處理器CPU 8位 運(yùn)算和控制功能內(nèi)部RAM 共256個(gè)RAM單元 用戶(hù)使用前128個(gè)單元 用于存放可讀寫(xiě)數(shù)據(jù) 后128個(gè)單元被專(zhuān)用寄存器占用 內(nèi)部ROM 4KB掩膜ROM 用于存放程序 原始數(shù)據(jù)和表格 定時(shí) 計(jì)數(shù)器 兩個(gè)16位的定時(shí) 計(jì)數(shù)器 實(shí)現(xiàn)定時(shí)或計(jì)數(shù)功能 并行I O口 4個(gè)8位的I O口P0 P1 P2 P3 串行口 一個(gè)全雙工串行口 中斷控制系統(tǒng) 5個(gè)中斷源 外中斷2個(gè) 定時(shí) 計(jì)數(shù)中斷2個(gè) 串行中斷1個(gè) 時(shí)鐘電路 可產(chǎn)生時(shí)鐘脈沖序列 允許晶振頻率6MHZ和12MHZ 2 MCS 51單片機(jī)信號(hào)引腳簡(jiǎn)介 P3口線的第二功能 VCC VSS XTAL2XTAL1 RST P0 0P0 1P0 2P0 3P0 4P0 5P0 6P0 7 P1 0P1 1P1 2P1 3P1 4P1 5P1 6P1 7 P2 7P2 6P2 5P2 4P2 3P2 2P2 1P2 0 ALE P3 0P3 1P3 2P3 3P3 4P3 5P3 6P3 7 2 振蕩電路 XTAL1 XTAL2 3 復(fù)位引腳 RST 4 并行口 P0 P1 P2 P3 7 ALE 地址鎖存控制信號(hào) 1 電源線 VCC 5V VSS 地 0時(shí) 只訪問(wèn)外部程序存儲(chǔ)器 即外ROM 1時(shí) 訪問(wèn)內(nèi)部程序存儲(chǔ)器 即內(nèi)ROM Vpp 內(nèi) 外ROM選擇端 對(duì)于8751單片機(jī)編程時(shí) 該端施加編程電壓IO引腳P0 0 P0 7 P1 0 P1 7 P2 0 P2 7 P3 0 P3 7四個(gè)I O口 每口八條線 還兼作地址 數(shù)據(jù)線 EA ALE PROG 地址鎖存控制端 訪問(wèn)外部存儲(chǔ)器用來(lái)鎖存由P0口送出的低8位地址 不訪問(wèn)外存時(shí) 提供1 6fosc振蕩頻率 PROG用于對(duì)8751片內(nèi)的EPROM輸入編程脈沖 PSEN 外部程序存儲(chǔ)器的讀選通信號(hào)端 3 時(shí)鐘電路與復(fù)位電路 1 時(shí)鐘振蕩電路 幾個(gè)工作周期的區(qū)別 振蕩周期狀態(tài)周期機(jī)器周期指令周期 時(shí)鐘周期 T 時(shí)序中最小的時(shí)間單位 其值由外接晶體或外輸入時(shí)鐘來(lái)決定 其值為石英振蕩器頻率的倒數(shù) 例如 在單片機(jī)外接1MHZ的晶體 則單片機(jī)的系統(tǒng)時(shí)鐘的頻率為1M 時(shí)鐘周期為1us 機(jī)器周期 完成特定功能所需要的時(shí)間 在MCS 51單片機(jī)中機(jī)器周期由12個(gè)時(shí)鐘周期構(gòu)成 并分為6個(gè)狀態(tài) S1 S6 每個(gè)狀態(tài)又分為P1和P2兩拍 這樣一個(gè)機(jī)器周期的12個(gè)震蕩周期可以表示為 S1P1 S1P2 S2P1 S2P2 S3P1 S3P2 S6P1 S6P2將12個(gè)震蕩周期用6個(gè)狀態(tài)和2拍來(lái)替代 T S1 S2 S6 S5 S4 S3 機(jī)器周期 指令周期 這是時(shí)序圖中最大的時(shí)間單位 既執(zhí)行一條指令所需要的時(shí)間 在MCS 51系統(tǒng)中 不同的指令它所包含的機(jī)器周期數(shù)不同 它們分別是 1 單機(jī)器周期指令 2 雙機(jī)器周期指令 3 四機(jī)器周期指令我們知道 一個(gè)機(jī)器周期包含了12個(gè)震蕩周期 如果我們使用一個(gè)12M的晶體震蕩器 那么 一個(gè)機(jī)器周期為1us 兩個(gè)機(jī)器周期為2us 四個(gè)機(jī)器周期為4us 可見(jiàn)一條指令的運(yùn)算速度與它所包含的機(jī)器周期數(shù)有關(guān) 機(jī)器周期數(shù)越少 執(zhí)行的速度就越快 在MCS 51單片機(jī)的指令系統(tǒng)中 除了乘 除法指令為四個(gè)機(jī)器周期外 其余都是單周期和雙周期指令 返回 2 控制或復(fù)位引腳RST VPD 當(dāng)出現(xiàn)兩個(gè)機(jī)器周期高電平時(shí) 單片機(jī)復(fù)位 復(fù)位后 P0 P3輸出高電平 SP寄存器為07H 其它寄存器全部清0 不影響RAM狀態(tài) 參考復(fù)位電路如下 2 復(fù)位電路 單片機(jī)復(fù)位條件 必須使RST引腳持續(xù)10us以上高電平 外部時(shí)鐘12MHz 誰(shuí)知道復(fù)位電路怎么起到復(fù)位的作用 2 2存儲(chǔ)器配置 80318751805189C51 256B 字節(jié) 4K 64K 64K 物理上分為 4個(gè)空間 即片內(nèi)ROM 片外ROM片內(nèi)RAM 片外RAM邏輯上分為 3個(gè)空間 即程序內(nèi)存 片內(nèi) 外 統(tǒng)一編址MOVC數(shù)據(jù)存儲(chǔ)器 片內(nèi) MOV數(shù)據(jù)存儲(chǔ)器 片外 MOVX 馮 諾依曼結(jié)構(gòu)哈佛結(jié)構(gòu)改進(jìn)哈佛結(jié)構(gòu) 超級(jí)哈佛結(jié)構(gòu) 儲(chǔ)存器結(jié)構(gòu) 1 程序存儲(chǔ)器 程序存儲(chǔ)器 內(nèi)部 外部 PC 程序存儲(chǔ)器資源分布 中斷入口地址 七個(gè)具有特殊含義的單元是 0000H 系統(tǒng)復(fù)位 PC指向此處 0003H 外部中斷0入口000BH T0溢出中斷入口0013H 外中斷1入口001BH T1溢出中斷入口0023H 串口中斷入口002BH T2溢出中斷入口 內(nèi)部 外部 2 數(shù)據(jù)存儲(chǔ)器 數(shù)據(jù)存儲(chǔ)器 RAM 專(zhuān)用寄存器 內(nèi)部RAM存儲(chǔ)器 工作寄存器區(qū)選擇位RS0 RS1 位尋址區(qū) 20H 2FH 16個(gè)字節(jié) 16 8 128位 每一位都有一個(gè)位地址 范圍為 00H 7FH 位地址區(qū)也可作為一般RAM使用 位尋址區(qū) 特殊功能寄存器SFRMCS 51單片機(jī)內(nèi)共有22個(gè)特殊功能寄存器 包括PC及SFR PC為程序計(jì)數(shù)器 它是一個(gè)雙字節(jié)寄存器 尋址范圍為 0000H FFFFH 即0 64KB SFR為特殊功能寄存器 其尋址空間 80H FFH其中 51子系列有18個(gè)寄存器 占有21個(gè)字節(jié) 52子系列有21個(gè)寄存器 占有26個(gè)字節(jié) 51子系列SFR的地址分配及位地址見(jiàn)下頁(yè)表 高128個(gè)單元 離散分布有21個(gè)特殊功能寄存器SFR 11個(gè)可以進(jìn)行位尋址 特別提示 對(duì)SFR只能使用直接尋址方式 書(shū)寫(xiě)時(shí)可使用寄存器符號(hào) 也可用寄存器單元地址 注意 1 表中共有3個(gè)雙字節(jié)寄存器 2 PC也為雙字節(jié)寄存器 但是不在80H FFH范圍內(nèi) 3 表中 凡地址能被8整除的寄存器都是可位尋址的寄存器 各寄存器的名稱(chēng) 1 算術(shù)運(yùn)算寄存器 1 A 累加器 2 B B寄存器 乘 除法運(yùn)算用 3 PSW 程序狀態(tài)字寄存器 包含程序運(yùn)行狀態(tài) 信息 程序狀態(tài)字PSW 8位寄存器 表征程序執(zhí)行的狀態(tài)信息 CY PSW 7 進(jìn)位標(biāo)志 在加減法運(yùn)算中 累加器A的最高位A7有進(jìn)位 則CY 1 否則CY 0 同理 在減法運(yùn)算中 如果A7有借位 則CY 1 因此CY往往作為無(wú)符號(hào)數(shù)運(yùn)算是否有溢出的標(biāo)志 AC PSW 6 輔助進(jìn)位位 用來(lái)判斷加減法運(yùn)算時(shí) 低四位是否向高四位進(jìn)位或借位 既A3的進(jìn)位或借位 往往用來(lái)判斷壓縮的BCD碼的運(yùn)算處理 F0 PSW 5 用戶(hù)標(biāo)志位 完全由用戶(hù)來(lái)定義和使用 RS1 RS0工作寄存器區(qū)選擇位 確定工作寄存器R0 R7在哪個(gè)區(qū)中 單片機(jī)在上電或復(fù)位后RS1 RS0 00 當(dāng)需要人為的修改RS1 RS0的值來(lái)改變工作寄存器區(qū)的位置 00 0區(qū)R0 R701 1區(qū)R0 R710 2區(qū)R0 R711 3區(qū)R0 R7 OV PSW 2 溢出標(biāo)志位 判斷有符號(hào)數(shù) 補(bǔ)碼 加減法運(yùn)算時(shí)是否有溢出 OV的結(jié)果可以用一個(gè)算法來(lái)表示 OV CP異或CS其中 CP為A7的進(jìn)位 CS為A6的進(jìn)位OV 1表明有溢出 P PSW 0 奇偶標(biāo)志位 用來(lái)標(biāo)志累加器A中運(yùn)算后1的個(gè)數(shù) 當(dāng)P 1時(shí) 表明A中1的個(gè)數(shù)為奇數(shù)個(gè) 反之為偶數(shù)個(gè) 舉例 有兩個(gè)數(shù)0FH和F8H 試將兩數(shù)相加MOVA 0FH 將立即數(shù)0fh送累加器AADDA 0F8H A的內(nèi)容與立即數(shù)0f8h相加 結(jié)果送A00001111運(yùn)算結(jié)果 A 07H CY 1 既CP 1 11111000CS 1 OV 0 因?yàn)镃P 1 CS 1 Cy 100000111AC 1 P 1如何根據(jù)PSW來(lái)分析運(yùn)算結(jié)果是否正確 是否有溢出 1 若數(shù)據(jù)為無(wú)符號(hào)數(shù) 既15 248 263 107H既CY 1 A 07H 2 若數(shù)據(jù)為有符號(hào)數(shù) 既 15加 8 7 07H OV 0表明無(wú)溢出 2 指針寄存器 1 程序計(jì)數(shù)器PC指明即將執(zhí)行的下一條指令的地址 程序存儲(chǔ)器地址 在物理上獨(dú)立 復(fù)位時(shí)PC 0000H 2 堆棧指針SP指明棧頂元素的地址 8位 可軟件設(shè)置初值 復(fù)位時(shí)SP 07H 注意壓棧和出棧SP的變化 3 數(shù)據(jù)指針DPTR DPTR 指明訪問(wèn)的數(shù)據(jù)存儲(chǔ)器的單元地址 16位 尋址范圍64KB DPTR DPH DPL 也可單獨(dú)使用 SP堆棧指針 8位寄存器 用來(lái)指示堆棧的位置 可由軟件修改 在MCS 51單片機(jī)的設(shè)計(jì)中 片內(nèi)RAM區(qū)為堆棧的可用空間 上電或復(fù)位時(shí) SP被初始化為07H 即堆棧底部被確定在RAM的07H單元 堆棧操作過(guò)程 進(jìn)棧 PUSHACC指令 設(shè)SP 07H 1 SP 1送SP 此時(shí)SP 08H 2 ACC送RAM的08H單元 出棧 POPACC 設(shè)SP 08H 1 將RAM中08H單元內(nèi)容送A 2 SP 1送SP 此時(shí)SP 07H 07H SP 08H07H RAM x 累加器A 堆棧操作示意圖 3 并行輸入 輸出端口寄存器P0 P1 P2 P3實(shí)為相應(yīng)端口鎖存器 4 串行輸入 輸出端口 1 串行數(shù)據(jù)緩沖器SBUF是物理上獨(dú)立的兩個(gè)寄存器 共同使用一個(gè)地址 99H 2 串行控制 狀態(tài)寄存器SCON控制監(jiān)視串行口的工作狀態(tài) 3 電源控制寄存器PCON控制單片機(jī)的低功耗工作方式及波特率選擇 5 中斷系統(tǒng) 1 中斷優(yōu)先級(jí)寄存器IP 2級(jí)優(yōu)先 可軟件設(shè)定 2 中斷允許寄存器IE6 定時(shí) 計(jì)數(shù)器 1 定時(shí)器方式寄存器 TMOD 2 定時(shí)器控制寄存器 TCON 3 計(jì)數(shù)寄存器 TH0 TL0 TH1 TL1 可用于設(shè)定計(jì)數(shù)初值 時(shí)鐘的基本概念啟動(dòng)單片機(jī)后 指令執(zhí)行順序 2 3CPU時(shí)序 單片機(jī)工作的基本時(shí)序 所謂時(shí)序就是CPU總線信號(hào)在時(shí)間上的順序關(guān)系 CPU控制器實(shí)際上是復(fù)雜的同步時(shí)序電路 所有的工作都是在時(shí)鐘信號(hào)的控制下進(jìn)行的 每執(zhí)行一條指令 CPU控制器都要發(fā)出一系列特定的控制信號(hào) 這些控制信號(hào)在時(shí)間上的相互關(guān)系就是CPU的時(shí)序 一個(gè)單片機(jī)系統(tǒng)要想正常工作 除了要做到電平匹配 功率匹配外 還要做到時(shí)序匹配 以上是單周期單字節(jié)指令在執(zhí)行過(guò)程中ALE脈沖 取指操作 執(zhí)行操作等在時(shí)間上的先后關(guān)系 時(shí)序的定義 單片機(jī)內(nèi)的各種操作都是在一系列脈沖控制下進(jìn)行的 而各脈沖在時(shí)間上是有先后順序的 這種順序就稱(chēng)為時(shí)序 指令周期 即從取指到執(zhí)行完 所需時(shí)間 不同機(jī)器指令周期不一樣 即使相同機(jī)器 不同的指令其指令周期也不一樣 機(jī)器周期 機(jī)器的基本操作周期 一個(gè)指令周期含若干機(jī)器周期 單 雙 四周期 每個(gè)狀態(tài)周期含兩個(gè)振蕩周期 即相位P1 P2 振蕩周期 由振蕩時(shí)鐘產(chǎn)生 振蕩周期Tosc 1 fosc一個(gè)機(jī)器周期 12個(gè)振蕩周期 12 1 fosc 例如 若fosc 12MHz 則一個(gè)機(jī)器周期 1 s 狀態(tài)周期 一個(gè)機(jī)器周期分6個(gè)狀態(tài)周期Si 指令的字節(jié)數(shù)與指令周期之間的關(guān)系 在MCS 51單片機(jī)的指令系統(tǒng)中有 單字節(jié) 雙字節(jié) 三字節(jié)指令 在MCS 51的111條指令中 可以分為六種基本的時(shí)序 1 單字節(jié)單周期指令 4 雙字節(jié)單周期指令 2 單字節(jié)雙周期指令 5 雙字節(jié)雙周期指令 3 單字節(jié)四周期指令 6 三字節(jié)雙周期指令 指令特點(diǎn) 在程序存儲(chǔ)器ROM中僅占一個(gè)存儲(chǔ)單元 在ALE第一次有效 S1P2 時(shí) 從ROM中讀取指令的操作碼 送入指令寄存器IR中 并譯碼執(zhí)行 在ALE第二次有效時(shí) 封鎖PC加一 使第二次讀數(shù)無(wú)效 可見(jiàn) 1 ALE信號(hào)對(duì)應(yīng)著從ROM中讀指令 所以在一個(gè)機(jī)器周期中CPU可以讀兩次指令 2 對(duì)于單字節(jié)單周期的指令 CPU通過(guò)譯碼后封死PC 實(shí)際上指令的后半部不做任何工作 單字節(jié)單周期指令的時(shí)序 機(jī)器周期 讀操作碼一 讀操作無(wú)效 ALE S1 S2 S6 S5 S4 S3 指令特點(diǎn) 一條指令長(zhǎng)度為兩個(gè)字節(jié) 并存儲(chǔ)在ROM相鄰的兩個(gè)單元中 要想完整的將這樣的指令執(zhí)行完 必須從ROM中讀兩次操作碼 在ALE第一次有效時(shí) CPU從ROM的n單元中取出指令的第一個(gè)字節(jié)OP1 1 并送入IR譯碼 通過(guò)譯碼CPU知道這是一條雙字節(jié)指令 所以使PC加一 并在ALE第二次有效時(shí) 從ROM的n 1單元取出指令的第二個(gè)字節(jié)OP1 2送入IR進(jìn)行譯碼 并產(chǎn)生對(duì)應(yīng)的操作 最后在S6P2時(shí)完成本條指令的運(yùn)行 S1 S2 S6 S5 S4 S3 機(jī)器周期 讀操作碼一 讀操作碼二 OP1 2 OP1 1 n 1n 程序ROM PC 雙字節(jié)單周期指令時(shí)序 ALE 指令特點(diǎn) 單字節(jié) 需要兩個(gè)機(jī)器周期運(yùn)行 如 INCDPTRDPTR為兩個(gè)8位的寄存器 加一時(shí) 必須分兩步完成 既第一步DPL加一 如果DPL加一有進(jìn)位則還要進(jìn)行第二步對(duì)DPH加一 在指令周期的第一

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論