單片機(jī)原理及應(yīng)用(C語(yǔ)言版)2.ppt_第1頁(yè)
單片機(jī)原理及應(yīng)用(C語(yǔ)言版)2.ppt_第2頁(yè)
單片機(jī)原理及應(yīng)用(C語(yǔ)言版)2.ppt_第3頁(yè)
單片機(jī)原理及應(yīng)用(C語(yǔ)言版)2.ppt_第4頁(yè)
單片機(jī)原理及應(yīng)用(C語(yǔ)言版)2.ppt_第5頁(yè)
已閱讀5頁(yè),還剩118頁(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ī)原理及應(yīng)用 C語(yǔ)言版 第2章MCS 51單片機(jī)結(jié)構(gòu)與原理 主編 周?chē)?guó)運(yùn)本章制作 周?chē)?guó)運(yùn)中國(guó)水利水電出版社 第2章MCS 51單片機(jī)結(jié)構(gòu)與原理 目錄2 1MCS 51單片機(jī)結(jié)構(gòu)及CPU2 2MCS 51單片機(jī)引腳與總線結(jié)構(gòu)2 3MCS 51單片機(jī)的存儲(chǔ)器結(jié)構(gòu)2 4MCS 51單片機(jī)的輸入輸出端口2 5MCS 51單片機(jī)的時(shí)鐘及CPU時(shí)序2 6MCS 51單片機(jī)的工作方式 第2章MCS 51單片機(jī)結(jié)構(gòu)與原理 本章討論MCS 51單片機(jī)的結(jié)構(gòu)和工作原理 內(nèi)容主要有MCS 51單片機(jī)結(jié)構(gòu) 引腳信號(hào) 存儲(chǔ)器配置 輸入 輸出端口 時(shí)鐘與CPU時(shí)序 以及單片機(jī)的工作方式等 本章是單片機(jī)的基本內(nèi)容 為學(xué)習(xí)后面各個(gè)章節(jié)的基礎(chǔ) 也是從事單片機(jī)應(yīng)用開(kāi)發(fā)的基礎(chǔ) 2 1MCS 51單片機(jī)內(nèi)部結(jié)構(gòu)及CPU 主要內(nèi)容2 1 1MCS 51單片機(jī)的功能結(jié)構(gòu)及特點(diǎn)2 1 2MCS 51單片機(jī)的內(nèi)部原理結(jié)構(gòu)2 1 3MCS 51單片機(jī)的CPU 2 1 1MCS 51單片機(jī)的功能結(jié)構(gòu)及特點(diǎn) MCS 51單片機(jī)的內(nèi)部功能結(jié)構(gòu)如下頁(yè)圖所示 圖中是以增強(qiáng)型單片機(jī)的結(jié)構(gòu)為對(duì)象 從圖中可以看到 MCS 51單片機(jī)在一塊芯片中集成了微型計(jì)算機(jī)所具有的所有部件 從功能的角度來(lái)看 主要包括9個(gè)部分 圖2 1MCS 51 增強(qiáng)型 單片機(jī)功能結(jié)構(gòu)圖 2 1 1MCS 51單片機(jī)的功能結(jié)構(gòu)及特點(diǎn) 2 1 1MCS 51單片機(jī)的功能結(jié)構(gòu)及特點(diǎn) MCS 51單片機(jī)內(nèi)部主要包括9個(gè)部分 一個(gè)8位的微處理器CPU8KB的片內(nèi)程序存儲(chǔ)器FlashROM256B的片內(nèi)數(shù)據(jù)存儲(chǔ)器RAM 128B特殊功能寄存器 SFR 3個(gè)16位的定時(shí)器 計(jì)數(shù)器有一個(gè)管理6個(gè)中斷源的中斷控制器4個(gè)8位并行I O端一個(gè)全雙工的串行接口 UART 片內(nèi)振蕩電路和時(shí)鐘發(fā)生器可擴(kuò)展64KB程序 64KB數(shù)據(jù)存儲(chǔ)器的三總線控制電路 2 1 2MCS 51單片機(jī)的內(nèi)部原理結(jié)構(gòu) MCS 51單片機(jī)的內(nèi)部原理結(jié)構(gòu)如圖2 2所示 與圖2 1比較 主要的區(qū)別是畫(huà)出了CPU的內(nèi)部結(jié)構(gòu) 圖中的中間部分除了 定時(shí)器 串行口 大方框之外都屬于CPU部件 下面先介紹CPU部分 對(duì)于其它部件 將在本章和后面的章節(jié)講解 圖2 2MCS 51 增強(qiáng)型 單片機(jī)原理結(jié)構(gòu)圖 XTAL2XTAL1 P3 0 P3 7 P1 0 P1 7 RAM地址 端口0驅(qū)動(dòng)器 端口2驅(qū)動(dòng)器 8KBFlashROM 端口0鎖存器 端口2鎖存器 端口1驅(qū)動(dòng)器 端口3驅(qū)動(dòng)器 端口1鎖存器 端口3鎖存器 暫存器1 SP PSW B寄存器 暫存器2 ACC 256BRAM128BSFR 緩沖器 PC加1 PC 程序地址寄存器 DPTR 定時(shí)器 串行口中斷部件及特殊功能寄存器 地址總線 數(shù)據(jù)總線 P2 0 P2 7 VccGND 指令寄存器指令譯碼器指令控制器 P0 0 P0 7 PSENALEEARST ALU 2 1 3MCS 51單片機(jī)的CPU MCS 51單片機(jī)內(nèi)部有一個(gè)功能強(qiáng)大的8位CPU 它包含兩個(gè)基本部分 運(yùn)算器和控制器 一 運(yùn)算器運(yùn)算器包括 算術(shù)和邏輯運(yùn)算部件ALU ArithmeticLogicUnit 以及累加器ACC 寄存器B 暫存器1 暫存器2 程序狀態(tài)字寄存器PSW 布爾處理器等 2 1 3MCS 51單片機(jī)的CPU 1 算術(shù)邏輯運(yùn)算部件ALUALU可以對(duì)4位 半字節(jié) 8位 一字節(jié) 和16位 雙字節(jié) 數(shù)據(jù)進(jìn)行操作 這些操作可以是 算術(shù)運(yùn)算 加 減 乘 除 加1 減1 BCD碼數(shù)的十進(jìn)制調(diào)整及比較等 邏輯運(yùn)算 與 或 異或 求補(bǔ)及循環(huán)移位等 2 1 3MCS 51單片機(jī)的CPU 2 累加器ACCACC在CPU結(jié)構(gòu)中占有特殊的位置 所以ACC在指令中使用的非常多 ACC既做源操作數(shù)又做目的操作數(shù) 如在加 減 乘 除算術(shù)運(yùn)算指令中 在與 或 異或 循環(huán)移位邏輯運(yùn)算指令等 ACC也作為通用寄存器使用 并且可以按位操作 所以ACC是一個(gè)用處最多 最忙碌的寄存器 在指令中用助記符A來(lái)表示 2 1 3MCS 51單片機(jī)的CPU 3 B寄存器B做專(zhuān)門(mén)應(yīng)用 在乘 除運(yùn)算時(shí) 用來(lái)存放一個(gè)操作數(shù) 并且存放運(yùn)算后的部分結(jié)果 B做一般應(yīng)用 在非乘 除運(yùn)算中 B可以作為通用寄存器使用 B可以按位操作 2 1 3MCS 51單片機(jī)的CPU 4 程序狀態(tài)字PSW功能 用于設(shè)定CPU的狀態(tài)和指示指令執(zhí)行后的狀態(tài) PSW相當(dāng)于其它微處理器中的標(biāo)志寄存器 格式如下 2 1 3MCS 51單片機(jī)的CPU CY PSW 7 進(jìn)位 借位標(biāo)志在做位操作 布爾操作 時(shí)CY作為位累加器 在指令中用C代替CYAC PSW 6 半進(jìn)位 半借位標(biāo)志 也稱(chēng)為輔助進(jìn)位標(biāo)志F0 F1 PSW 5 PSW 1 用戶(hù)標(biāo)志位 留給用戶(hù)使用 2 1 3MCS 51單片機(jī)的CPU OV PSW 2 溢出標(biāo)志位有以下幾種情況 加減運(yùn)算 OV 1表示結(jié)果超出了8位有符號(hào)數(shù)的有效范圍 128 127 對(duì)無(wú)符號(hào)數(shù)OV沒(méi)有意義 無(wú)符號(hào)數(shù)乘法運(yùn)算 OV 1表明結(jié)果超出了8位數(shù) 無(wú)符號(hào)數(shù)除法運(yùn)算 OV 1表明除數(shù)為0 2 1 3MCS 51單片機(jī)的CPU P PSW 0 累加器A的奇偶標(biāo)志位P表示累加器A中1的個(gè)數(shù)的奇偶性P 1 A中有奇數(shù)個(gè)1P 0 A中有偶數(shù)個(gè)1 2 1 3MCS 51單片機(jī)的CPU RS1 RS0 PSW 4和PSW 3 工作寄存器組選擇控制位 工作寄存器 R0 R1 R7 2 1 3MCS 51單片機(jī)的CPU 5 布爾處理器布爾處理器以PSW中的進(jìn)位標(biāo)志位CY作為位累加器 用C表示 功能 專(zhuān)門(mén)用于處理位操作 MCS 51單片機(jī)有豐富的位處理指令 如置位 位清0 位取反 判斷位值 為1或?yàn)? 轉(zhuǎn)移 以及通過(guò)C 指令中用C代替CY 做位數(shù)據(jù)傳送 位邏輯與 位邏輯或等位操作 2 1 3MCS 51單片機(jī)的CPU 二 控制器控制器包括程序計(jì)數(shù)器PC 指令寄存器IR 指令譯碼器ID 以及時(shí)鐘控制邏輯 堆棧指針SP 地址指針DPTR等 1 程序計(jì)數(shù)器PCPC是一個(gè)具有自加1功能的16位的計(jì)數(shù)器PC的內(nèi)容是將要執(zhí)行的下一條指令的地址改變PC的內(nèi)容就改變了程序執(zhí)行的順序 2 1 3MCS 51單片機(jī)的CPU 2 指令寄存器IR和指令譯碼器IDIR 存放從FlashROM中讀取的指令I(lǐng)D 進(jìn)行譯碼 產(chǎn)生一定序列的控制信號(hào) 完成指令所規(guī)定的操作 3 堆棧 1 堆棧的概念堆棧是在RAM中專(zhuān)門(mén)開(kāi)辟的一個(gè)特殊用途的存儲(chǔ)區(qū) 2 堆棧的訪問(wèn)原則 先進(jìn)后出 后進(jìn)先出 即先進(jìn)入堆棧的數(shù)據(jù)后移出堆棧 即后進(jìn)入堆棧的數(shù)據(jù)先移出堆棧 2 1 3MCS 51單片機(jī)的CPU 3 堆棧的結(jié)構(gòu)堆棧的一端的地址是固定的 稱(chēng)為棧底 另一端的地址是動(dòng)態(tài)變化的 稱(chēng)為棧頂 4 堆棧的操作方式堆棧有兩種操作方式 數(shù)據(jù)進(jìn)棧和數(shù)據(jù)出棧 進(jìn)棧和出棧都是在棧頂進(jìn)行 這就必然是按照 先進(jìn)后出 后進(jìn)先出 的方式存取數(shù)據(jù) 2 1 3MCS 51單片機(jī)的CPU 5 堆棧的應(yīng)用主要是用來(lái)暫時(shí)存放數(shù)據(jù) 有兩種情況使用堆棧 一是CPU自動(dòng)使用堆棧 當(dāng)調(diào)用子程序或響應(yīng)中斷 處理中斷服務(wù)程序時(shí) CPU自動(dòng)將返回地址存放到堆棧中 通過(guò)堆棧傳遞參數(shù) 二是程序員使用堆棧 用堆棧暫時(shí)存放數(shù)據(jù) 2 1 3MCS 51單片機(jī)的CPU 4 堆棧指針SP堆棧指針SP StackPointer 中為棧頂?shù)牡刂?即SP指向棧頂 SP是訪問(wèn)堆棧的間址寄存器SP具有自動(dòng)加1 自動(dòng)減1功能 當(dāng)數(shù)據(jù)進(jìn)棧時(shí) SP先自動(dòng)加1 然后CPU將數(shù)據(jù)存入 當(dāng)數(shù)據(jù)出棧時(shí) CPU先將數(shù)據(jù)送出 然后SP自動(dòng)減1 2 1 3MCS 51單片機(jī)的CPU 下圖是數(shù)據(jù)進(jìn)棧的情況數(shù)據(jù)從棧頂進(jìn)入 58 A6 7B 2 1 3MCS 51單片機(jī)的CPU 由于進(jìn)棧時(shí)SP的值增加 即堆棧向地址大的方向生長(zhǎng) 并且棧頂是有效數(shù)據(jù) 這種堆棧是滿(mǎn)遞增型堆棧 7B A6 58 36 2 1 3MCS 51單片機(jī)的CPU 5 數(shù)據(jù)指針DPTRDPTR是唯一的16位寄存器 DPTR既可以作為一個(gè)16位寄存器使用 也可以作為兩個(gè)獨(dú)立的8位寄存器使用 其高字節(jié)寄存器用DPH表示 低字節(jié)寄存器用DPL表示 DPTR的用途 1 主要用于存放16位地址 以便對(duì)64KB的片外RAM和64KB的程序存儲(chǔ)空間作間接訪問(wèn) 2 其次用于存放數(shù)據(jù) 作為一般寄存器使用 2 2MCS 51單片機(jī)引腳與總線結(jié)構(gòu) 主要內(nèi)容2 2 1MCS 51單片機(jī)引腳信號(hào)及功能2 2 2MCS 51單片機(jī)外部總線結(jié)構(gòu) 2 2 1MCS 51單片機(jī)引腳信號(hào)及功能 封裝 40DIP 44PLCC 常用40DIP40個(gè)引腳分為4類(lèi) 電源引腳晶振引腳控制信號(hào)輸入 輸出引腳 2 2 1MCS 51單片機(jī)引腳信號(hào)及功能 一 電源引腳Vcc 40腳 接5V電源正端Vss 20腳 接5V電源地端二 晶振引腳XTAL1 19腳 XTAL2 18腳 2 2 1MCS 51單片機(jī)引腳信號(hào)及功能 三 控制信號(hào)引腳1 RST VPD 9腳 RST 復(fù)位信號(hào)輸入端 高電平有效 單片機(jī)正常工作時(shí) RST保持兩個(gè)機(jī)器周期的高電平就會(huì)使單片機(jī)復(fù)位 上電時(shí) RST上的高電平必須保持10ms以上才能保證有效復(fù)位 由于振蕩器需要一定的起振時(shí)間 VPD 備用電源輸入端 以保持內(nèi)部RAM中的數(shù)據(jù)不丟失 當(dāng)Vcc的電壓降低到低電平規(guī)定的值或掉電時(shí) 接入電源 2 2 1MCS 51單片機(jī)引腳信號(hào)及功能 2 ALE PROG 30引腳 ALE 地址鎖存信號(hào) 每個(gè)機(jī)器周期輸出兩個(gè)正脈沖 下降沿或低電平用于控制外接的地址鎖存器 鎖存從P0口輸出的低8位地址 可以將ALE作為時(shí)鐘信號(hào)使用 PROG 片內(nèi)程序存儲(chǔ)器的編程脈沖輸入端 低電平有效 2 2 1MCS 51單片機(jī)引腳信號(hào)及功能 3 PSEN 29引腳 片外程序存儲(chǔ)器讀選通信號(hào)輸出端 每個(gè)機(jī)器周期輸出兩個(gè)負(fù)脈沖 低電平有效 在訪問(wèn)片外數(shù)據(jù)存儲(chǔ)器時(shí) 該信號(hào)不出現(xiàn) 4 EA Vpp 31引腳 EA 程序存儲(chǔ)器選擇輸入端 低電平時(shí) 使用片外程序存儲(chǔ)器 高電平時(shí) 使用片內(nèi)程序存儲(chǔ)器 Vpp 片內(nèi)程序存儲(chǔ)器編程電壓輸入端 2 2 1MCS 51單片機(jī)引腳信號(hào)及功能 五 輸入 輸出引腳1 P0口 P0 0 P0 7 32 39引腳 P0口是一個(gè)8位漏極開(kāi)路的I O口 P0口作總線口 當(dāng)CPU以總線方式訪問(wèn)片外存儲(chǔ)器時(shí) P0口分時(shí)地輸出低8位地址 讀入指令和輸入 輸出數(shù)據(jù) P0口作為一般I O口 此時(shí)P0口為準(zhǔn)雙向口 各位輸入前必須先輸出1 2 2 1MCS 51單片機(jī)引腳信號(hào)及功能 2 P1口 P1 0 P1 7 1 8引腳 P1口是一個(gè)8位準(zhǔn)雙向I O口P1 0 P1 1的第二功能 對(duì)于增強(qiáng)型 第二功能的信號(hào)分別為T(mén)2和T2EXT2 P1 0 定時(shí)器 計(jì)數(shù)器2的計(jì)數(shù)脈沖輸入和時(shí)鐘輸出 T2EX P1 1 定時(shí)器 計(jì)數(shù)器2的重裝 捕獲和計(jì)數(shù)方向控制輸入 2 2 1MCS 51單片機(jī)引腳信號(hào)及功能 3 P2口 P2 0 P2 7 21 28引腳 當(dāng)CPU以總線方式訪問(wèn)片外存儲(chǔ)器時(shí) P2口輸出高8位地址 作為一般I O口使用時(shí) 為準(zhǔn)雙向口 4 P3口 P3 0 P3 7 10 17引腳 P3口是一個(gè)8位I O口 還是一個(gè)雙功能口作為一般I O口使用時(shí) 為準(zhǔn)雙向口 各引腳第二功能如下頁(yè)表2 2所示 2 2 1MCS 51單片機(jī)引腳信號(hào)及功能 表2 2P3口各引腳第二功能定義 2 2 2MCS 51單片機(jī)總線結(jié)構(gòu) 總線的概念 總線即三總線 指數(shù)據(jù)總線 地址總線 控制總線 一般說(shuō)法為 多個(gè)部件信息的電氣連接 MCS 51單片機(jī)的總線 內(nèi)部具有產(chǎn)生總線的結(jié)構(gòu) 如圖2 6所示 單片機(jī)總線的應(yīng)用 擴(kuò)展數(shù)據(jù)存儲(chǔ)器擴(kuò)展程序存儲(chǔ)器 2 2 2MCS 51單片機(jī)總線結(jié)構(gòu) 圖2 6MCS 51單片機(jī)總線結(jié)構(gòu) 地址鎖存器74LS573 A15 A8A7 A0D7 D0 數(shù)據(jù)總線 DB I O口 控制總線 CB 地址總線 AB P1 0P1 1P1 2P1 3P1 4P1 5P1 6P1 7P3 0P3 1P3 2P3 3P3 4P3 5P3 6 WRP3 7 RDALEPSENEARST P2 7P2 6P2 5P2 4P2 3P2 2P2 1P2 0P0 7P0 6P0 5P0 4P0 3P0 2P0 1P0 0 2 3MCS 51單片機(jī)的存儲(chǔ)器結(jié)構(gòu) 主要內(nèi)容2 3 1程序存儲(chǔ)器結(jié)構(gòu)2 3 2片內(nèi)數(shù)據(jù)存儲(chǔ)器結(jié)構(gòu)2 3 3片外數(shù)據(jù)存儲(chǔ)器結(jié)構(gòu) MCS 51單片機(jī)存儲(chǔ)器概述1 單片機(jī)的哈佛結(jié)構(gòu)存儲(chǔ)器MCS 51單片機(jī)為哈佛結(jié)構(gòu) 程序存儲(chǔ)器ROM和數(shù)據(jù)存儲(chǔ)器RAM分開(kāi)編址PC機(jī)為偌依曼 ROM和RAM統(tǒng)一編址程序存儲(chǔ)器 固化程序 常數(shù)和數(shù)據(jù)表數(shù)據(jù)存儲(chǔ)器 存放程序運(yùn)行中產(chǎn)生的各種數(shù)據(jù) 用作堆棧等 2 單片機(jī)的存儲(chǔ)器空間及分類(lèi)MCS 51單片機(jī)有4個(gè)存儲(chǔ)空間 片內(nèi)程序存儲(chǔ)器 片內(nèi)數(shù)據(jù)存儲(chǔ)器 片外程序存儲(chǔ)器 片外數(shù)據(jù)存儲(chǔ)器 4個(gè)存儲(chǔ)空間可以分成三類(lèi) 片內(nèi)數(shù)據(jù)存儲(chǔ)空間 256B的RAM和128B的特殊功能寄存器 片外數(shù)據(jù)存儲(chǔ)空間 64KB 片內(nèi)和片外統(tǒng)一編址的程序存儲(chǔ)空間 64KB 不同類(lèi)型的存儲(chǔ)空間 有各自的尋址方式和訪問(wèn)指令 2 3 1程序存儲(chǔ)器結(jié)構(gòu) 一 程序存儲(chǔ)器結(jié)構(gòu)51基本型片內(nèi)有4KB的FlashROM 地址為0000H 0FFFH 片外最多可以擴(kuò)展60KB 地址為1000H FFFFH 增強(qiáng)型片內(nèi)有8KB的FlashROM 地址為0000H 1FFFH 片外最多可以擴(kuò)展56KB 地址為2000H FFFFH 片內(nèi)外是統(tǒng)一編址的 程序存儲(chǔ)器空間的配置如圖2 7所示 2 3 1程序存儲(chǔ)器結(jié)構(gòu) 圖2 7MCS 51單片機(jī)程序存儲(chǔ)空間的配置 片外ROM 片內(nèi)ROMEA 1 片外ROMEA 0 0000H 0FFFH 1000H FFFFH a 片內(nèi)有4KB的ROM b 片內(nèi)有8KB的ROM 片外ROM 片內(nèi)ROMEA 1 片外ROMEA 0 0000H 1FFFH 2000H FFFFH 2 3 1程序存儲(chǔ)器結(jié)構(gòu) 單片機(jī)在執(zhí)行指令時(shí) 對(duì)于低地址部分 究竟是從片內(nèi)程序存儲(chǔ)器取指令 還是從片外程序存儲(chǔ)器取指令 決定于程序存儲(chǔ)器選擇引腳EA的電平 EA接低電平 讀片外程序存儲(chǔ)器EA接高電平 CPU從片內(nèi)程序存儲(chǔ)器取指令 當(dāng)取指令的地址大于片內(nèi)存儲(chǔ)器的最大地址時(shí) CPU自動(dòng)轉(zhuǎn)到片外程序存儲(chǔ)器取指令 2 3 1程序存儲(chǔ)器結(jié)構(gòu) 二 程序存儲(chǔ)器的專(zhuān)用區(qū)域用作復(fù)位和中斷入口 2 3 1程序存儲(chǔ)器結(jié)構(gòu) 中斷向量 即中斷入口地址 如下表注意區(qū)分 中斷入口地址 中斷服務(wù)程序入口地址 中斷服務(wù)程序 2 3 1程序存儲(chǔ)器結(jié)構(gòu) C語(yǔ)言編程所考慮的問(wèn)題如果用C語(yǔ)言編寫(xiě)程序 不需要考慮以上這些問(wèn)題 即不用考慮引導(dǎo)程序問(wèn)題 中斷入口與跳轉(zhuǎn)問(wèn)題 這些問(wèn)題均由編譯系統(tǒng)安排好 main 函數(shù)起到引導(dǎo)程序的作用 對(duì)于中斷處理 只要按照格式編寫(xiě)中斷處理函數(shù)即可 見(jiàn)第4章 2 3 2片內(nèi)數(shù)據(jù)存儲(chǔ)器結(jié)構(gòu) 片內(nèi)數(shù)據(jù)存儲(chǔ)器按照尋址方式 可以分為三個(gè)部分 低128字節(jié)數(shù)據(jù)區(qū) 高128字節(jié)數(shù)據(jù)區(qū) 特殊功能寄存器區(qū) 如下圖所示 低128BRAMdata區(qū) 特殊功能寄存器 80H FFH 00H 7FH a 89C51片內(nèi)RAM 低128BRAMdata區(qū) 高128BRAMidata區(qū) 特殊功能寄存器 00H 7FH 80H FFH 80H FFH b 增強(qiáng)型單片機(jī)片內(nèi)RAM 2 3 2片內(nèi)數(shù)據(jù)存儲(chǔ)器結(jié)構(gòu) 一 低128字節(jié)RAM地址范圍 00H 7FH 128字節(jié)應(yīng)用特點(diǎn) 有多種用途 且使用最頻繁功能作用 分為三個(gè)區(qū)域 即工作寄存器區(qū) 位尋找區(qū) 通用數(shù)據(jù)區(qū) 尋址方式 直接 間接 位尋址低128字節(jié)RAM的配置如圖2 9所示 圖2 9低128字節(jié)RAM區(qū) 2 3 2片內(nèi)數(shù)據(jù)存儲(chǔ)器結(jié)構(gòu) 1 工作寄存器區(qū)范圍 地址從00H到1FH 共32字節(jié) 分4個(gè)組 第0組 第1組 第2組 第3組工作寄存器名 R0 R1 R7 不同的組對(duì)應(yīng)的8個(gè)寄存器的地址不同 如表2 1所示 工作寄存器組的選擇 決定于程序狀態(tài)字PSW的RS1和RS0位 見(jiàn)表2 1 C語(yǔ)言下選寄存器組 在定義函數(shù)時(shí) 通過(guò)使用關(guān)鍵字 using 來(lái)選擇 如usingm 2 3 2片內(nèi)數(shù)據(jù)存儲(chǔ)器結(jié)構(gòu) 2 位尋址區(qū)范圍 字節(jié)地址從20H到2FH 16字節(jié) 位地址 00H到7FH 128位 用途 既可以做位操作 也可以字節(jié)操作 C語(yǔ)言編程 用關(guān)鍵字 bit 定義的位變量在該區(qū)域 用關(guān)鍵字 bdata 將一般變量定義在該區(qū)域 并且定義的變量還可以進(jìn)行位尋址 2 3 2片內(nèi)數(shù)據(jù)存儲(chǔ)器結(jié)構(gòu) 3 通用數(shù)據(jù)區(qū)范圍 地址從30H到7FH 共80字節(jié) 用途 用于堆棧 存放數(shù)據(jù) 存放程序運(yùn)行時(shí)的中間結(jié)果等 4 尋址方式直接 間接 位尋址方式訪問(wèn)直接 間接范圍 字節(jié)地址從00H到7FH位尋址范圍 字節(jié)地址從20H到2FH 16字節(jié) 位地址00H到7FH 128位 2 3 2片內(nèi)數(shù)據(jù)存儲(chǔ)器結(jié)構(gòu) 二 高128字節(jié)RAM地址范圍 80H FFH 128字節(jié)用途 與低128字節(jié)中的30H到7FH完全一樣 用于堆棧 存放程序運(yùn)行時(shí)的數(shù)據(jù)和中間結(jié)果等 尋址方式 間接訪問(wèn) C語(yǔ)言編程 使用關(guān)鍵字 idata 定義變量 2 3 2片內(nèi)數(shù)據(jù)存儲(chǔ)器結(jié)構(gòu) 三 特殊功能寄存器 SFR 也稱(chēng)為專(zhuān)用寄存器 是單片機(jī)中最重要的部分 地址范圍 80H FFH 128字節(jié)功能作用 控制單片機(jī)各個(gè)部件的運(yùn)行反映各部件的運(yùn)行狀態(tài)存放數(shù)據(jù)或地址尋址方式 直接訪問(wèn) 2 3 2片內(nèi)數(shù)據(jù)存儲(chǔ)器結(jié)構(gòu) 1 具體特殊功能寄存器SFR的數(shù)量 基本型只有21個(gè) 增強(qiáng)型有27個(gè) 分別有11個(gè) 12個(gè)可以按位操作 1 與CPU相關(guān)的 7個(gè) PWS 程序狀態(tài)寄存器A 累加器B 輔助運(yùn)算寄存器SP 堆棧指針PCON 電源控制寄存器DPL DPH 數(shù)據(jù)指針的低字節(jié) 高字節(jié) 2 3 2片內(nèi)數(shù)據(jù)存儲(chǔ)器結(jié)構(gòu) 2 與定時(shí)器相關(guān)的 12個(gè) TMOD 模式寄存器TCON 控制寄存器TL0 TH0 T0低8位 高8位計(jì)數(shù)器TL1 TH1 T1低8位 高8位計(jì)數(shù)器T2MOD T2模式寄存器T2CON T2控制寄存器TL2 TH2 T2低8位 高8位計(jì)數(shù)器RCAP2L RCAP2H T2捕獲寄存器 2 3 2片內(nèi)數(shù)據(jù)存儲(chǔ)器結(jié)構(gòu) 3 與中斷相關(guān)的 2個(gè) IE 中斷允許 控制 寄存器IP 中斷優(yōu)先級(jí)寄存器 4 與串行口相關(guān)的 2個(gè) SCON 串行口控制寄存器SBUF 串行口數(shù)據(jù)緩沖寄存器 2個(gè) 5 與I O口相關(guān)的 4個(gè) P0 P1 P2 P3 4個(gè)并行口映射寄存器 2 3 2片內(nèi)數(shù)據(jù)存儲(chǔ)器結(jié)構(gòu) 2 一些最重要的寄存器在表2 5中有格式的特殊功能寄存器最重要 它們是 9個(gè) PSW IE IP TCON TMODPCON SCON T2CON T2MOD應(yīng)用單片機(jī) 主要就是掌握這9個(gè)有格式的特殊功能寄存器 對(duì)基本型僅有7個(gè) 2 3 2片內(nèi)數(shù)據(jù)存儲(chǔ)器結(jié)構(gòu) 3 特殊功能寄存器在C語(yǔ)言中的表示這些特殊功能寄存器及各位位名在匯編語(yǔ)言中能夠識(shí)別 但在C語(yǔ)言中并不識(shí)別 為了在C語(yǔ)言中使用 必須先做定義 它們多數(shù)在 reg51 h reg52 h 等頭文件做了定義 但有一些未做定義 如4個(gè)并行口P0 P3各位 累加器A 寄存器B等 在使用時(shí)需要用戶(hù)定義 2 3 3片外數(shù)據(jù)存儲(chǔ)器結(jié)構(gòu) 地址范圍 0000H FFFFH容量 共64KB訪問(wèn)指令 MOVX 片內(nèi)用MOV 使用 MOVX 指令對(duì)片外RAM進(jìn)行讀 寫(xiě)操作時(shí) 會(huì)自動(dòng)產(chǎn)生讀 寫(xiě)控制信號(hào)RD和WR 作用于片外RAM實(shí)現(xiàn)讀 寫(xiě)操作 2 3 3片外數(shù)據(jù)存儲(chǔ)器結(jié)構(gòu) 片外RAM的用途 1 沒(méi)有特別的用途 不像片內(nèi)RAM 不劃分區(qū)域 2 片外RAM做通用RAM使用 主要存放大量采集的或接收的數(shù)據(jù) 運(yùn)算的中間數(shù)據(jù) 最后結(jié)果 用作堆棧等 C語(yǔ)言編程 使用關(guān)鍵字 xdata 或 pdata 將變量 數(shù)組 堆棧定義到片外RAM區(qū) 2 4MCS 51單片機(jī)的輸入 輸出端口 主要內(nèi)容2 4 1P1口2 4 2P2口2 4 3P3口2 4 4P0口2 4 5端口的負(fù)載能力和接口要求 I O口概述 MCS 51單片機(jī)的4個(gè)8位端口 均可作一般I O口 都是準(zhǔn)雙向口 每個(gè)端口都可以按位作輸入或輸出端口結(jié)構(gòu) 每個(gè)端口都有一個(gè) 1 輸出鎖存器 2 輸出驅(qū)動(dòng)器 3 輸入緩沖器 輸出時(shí)鎖存數(shù)據(jù) 輸入時(shí)數(shù)據(jù)緩沖 4個(gè)端口的差別 功能不盡相同 內(nèi)部結(jié)構(gòu)有區(qū)別 2 4 1P1口 P1口是唯一的靜態(tài)準(zhǔn)雙向口 用作通用I O口 P1口的結(jié)構(gòu) 主要由 1 輸出鎖存器 2 驅(qū)動(dòng)器場(chǎng)效應(yīng)管 FET 3 兩個(gè)三態(tài)緩緩沖器 4 端口上拉電阻 實(shí)為FET 等部分組成 P1口相對(duì)來(lái)說(shuō)是最簡(jiǎn)單的 其電路結(jié)構(gòu)如圖2 10所示 2 4 1P1口 2 4 1P1口 一 P1口輸出輸出1 將1寫(xiě)入P1口某一位的鎖存器 使輸出驅(qū)動(dòng)器的場(chǎng)效應(yīng)管T截止 該位的引腳由內(nèi)部上拉電阻拉成高電平 輸出為1 輸出0 將0寫(xiě)入鎖存器 使場(chǎng)效應(yīng)管導(dǎo)通 則輸出引腳為低電平 不需要外接上拉電阻 因P1口內(nèi)各位有上拉電阻 所以在輸出高電平時(shí) 能向外提供拉電流負(fù)載 2 4 1P1口 二 P1口輸入輸入通道建立 當(dāng)P1口的某位用作輸入時(shí) 該位的鎖存器必須鎖存輸出1 該位先寫(xiě)1 使輸出場(chǎng)效應(yīng)管T截止 才能夠正確輸入 輸入 這時(shí)從引腳輸入的值決定于外部信號(hào)的高低 引腳狀態(tài)經(jīng) 讀引腳 信號(hào)打開(kāi)的三態(tài)緩沖器2 送入內(nèi)部總線 2 4 1P1口 輸入時(shí)必須向?qū)?yīng)位先寫(xiě)1 因?yàn)橛锌赡芮懊娴牟僮魇挂_輸出0 場(chǎng)效應(yīng)管T處于導(dǎo)通狀態(tài) 引腳被箝位為0 這樣 不管外部信號(hào)為何狀態(tài) 從引腳輸入的永遠(yuǎn)為0 不能夠正確輸入 單片機(jī)端口輸入前必須先向端口輸出1這種特性 稱(chēng)為準(zhǔn)雙向口 MCS 51單片機(jī)的P0 P3口作為通用I O口使用時(shí) 都是準(zhǔn)雙向口 2 4 1P1口 三 P1口作 讀 修改 寫(xiě) 操作 讀 修改 寫(xiě) 操作概念 在CPU執(zhí)行某些指令時(shí) 需要先從P1口讀入數(shù)據(jù) 經(jīng)過(guò)某些操作后 再?gòu)腜1口輸出 這樣的操作稱(chēng)為 讀 修改 寫(xiě) 操作 例如 指令 INCP1 其操作先把P1口原來(lái)的值讀入 讀入的是鎖存器中的值 而不是引腳的值 然后加上1 最后把結(jié)果再?gòu)腜1口輸出 表2 6給出了P0 P3口所有的 讀 修改 寫(xiě) 指令 2 4 1P1口 2 4 2P2口 P2口是一個(gè)雙功能口 一是通用I O口 二是以總線方式訪問(wèn)外存時(shí)的高8位地址口 端口結(jié)構(gòu) 與P1口的結(jié)構(gòu)類(lèi)似 但比P1口多了一個(gè)多路切換開(kāi)關(guān)MUX和反相器3 讀引腳 內(nèi)部總線 寫(xiě)鎖存器 讀鎖存器 1 2 Vcc P2 x T R MUX 地址 控制 3 DQ鎖存器CLQ 2 4 2P2口 一 P2口作通用I O口一般I O讀 寫(xiě)操作指令 如執(zhí)行 MOVA P2 指令 執(zhí)行 MOVP2 B 指令 I O口通道 由內(nèi)部硬件自動(dòng)使開(kāi)關(guān)MUX撥向下邊 與鎖存器的輸出端Q接通 這時(shí)P2口為通用I O口 與P1口一樣 I O口讀 寫(xiě)操作 可以隨時(shí)做輸出 輸入時(shí)要考慮其準(zhǔn)雙向口 先輸出1 2 4 2P2口 二 P2口輸出高8位地址高8位地址輸出通道 當(dāng)進(jìn)行總線讀 寫(xiě)操作 執(zhí)行 MOVX 指令 時(shí) MUX開(kāi)關(guān)在硬件控制下自動(dòng)撥向上邊 P2口輸出高8位地址 總線操作指令 對(duì)于 MOVXA Ri 或 MOVX Ri A 與 MOVXA DPTR MOVX DPTR A 指令也一樣 P2口始終輸出高8位地址 此時(shí) P2口不能作為一般I O口使用 2 4 2P2口 使用片外程序存儲(chǔ)器 CPU從片外程序存儲(chǔ)器每讀一條指令 P2口就輸出一次高8位地址 由于CPU需要一直讀取指令 P2口始終要輸出高8位地址 在這種情況下P2口不能夠作為通用I O口使用 2 4 3P3口 P3口是一個(gè)多功能口 某位結(jié)構(gòu)如圖2 12P3口的結(jié)構(gòu) 與P1口比較 多了 與非門(mén) 3 緩沖器4 正是這兩個(gè)部分 使得P3口具有第2功能 與非門(mén) 3的作用 實(shí)際上是一個(gè)開(kāi)關(guān) 決定是輸出鎖存器Q端數(shù)據(jù) 還是輸出第2功能 W 的信號(hào) 2 4 3P3口 圖2 12P3口某一位的原理結(jié)構(gòu) 第2功能輸入 讀引腳 內(nèi)部總線 寫(xiě)鎖存器 DQ鎖存器CLQ Vcc 讀鎖存器 P3 x T R 第2功能輸出 3 W 1 2 4 2 4 3P3口 一 P3口用作通用I O口輸出通道 與非門(mén) 3的W信號(hào)自動(dòng)變高 為Q信號(hào)輸出打開(kāi) 與非門(mén) 輸出信號(hào)經(jīng)過(guò)FET從P3引腳輸出 輸入通道 其準(zhǔn)雙向的特性應(yīng)該先輸出1 W也自動(dòng)為高 從Q端輸出的高電平信號(hào)經(jīng) 與非門(mén) 輸出使FET截止 輸入 P3口引腳的外部信號(hào) 讀引腳時(shí)打開(kāi)緩沖器2 引腳狀態(tài)經(jīng)緩沖器4 常開(kāi) 緩沖器2后進(jìn)入內(nèi)部總線 2 4 3P3口 二 P3口用作第2功能當(dāng)使用P3口的第2功能時(shí) 8個(gè)引腳有不同的意義 見(jiàn)表2 2 1 第2功能輸出第2功能輸出通道 輸出位的鎖存器被內(nèi)部硬件自動(dòng)置1 使與非門(mén)3對(duì)第2功能的輸出是打開(kāi)的 第2功能輸出可以是 TXD WR RD 例如 P3 7第二功能為RD 2 4 3P3口 2 第2功能輸入第2功能輸入通道 某位作第2功能輸入時(shí) 該位的鎖存器輸出端被硬件自動(dòng)置1 并且W保持為1 則與非門(mén)3輸出低 FET截止 該位引腳為高阻輸入 P3口的第2輸入功能可以是 RXD INT0 INT1 T0 T1 此時(shí)端口不作通用I O口 三態(tài)緩沖器2不導(dǎo)通 2 4 3P3口 表2 2P3口各引腳第二功能定義 2 4 4P0口 P0口的結(jié)構(gòu) 與P1口比較 多了一路 1 總線輸出 地址 數(shù)據(jù) 2 總線輸出控制電路 反相器3和與門(mén)4 3 兩路輸出切換開(kāi)關(guān)MUX及開(kāi)關(guān)控制C 4 上拉電阻換成了場(chǎng)效應(yīng)管T1 P0口兩路輸出切換控制 C 0 MUX撥向Q輸出端 P0口為通用I O口 C 1 開(kāi)關(guān)撥向總線輸出端 P0口作總線使用 分時(shí)地輸出地址和數(shù)據(jù) 2 4 4P0口 圖2 13P0口某一位的原理結(jié)構(gòu) 讀引腳 內(nèi)部總線 寫(xiě)鎖存器 DQ鎖存器CLQ 讀鎖存器 Vcc P0 x T2 MUX 地址數(shù)據(jù) 控制C 3 T1 4 1 2 2 4 4P0口 一 P0口用作通用I O口通用I O口通道 當(dāng)通過(guò)P0口進(jìn)行I O讀 寫(xiě)操作 執(zhí)行MOV等指令 時(shí) 由硬件自動(dòng)使控制線C 0 封鎖與門(mén)4 使T1截止 MUX撥向Q輸出端 把輸出場(chǎng)效應(yīng)管T2與鎖存器的Q端接通 P0口可以作通用I O口使用 但輸出級(jí)是開(kāi)漏電路 外接上拉電阻 才能輸出高電平 P0口作為通用I O口時(shí) 也是準(zhǔn)雙向口 2 4 4P0口 二 P0口作為地址 數(shù)據(jù)總線使用1 總線操作通道當(dāng)CPU對(duì)片外存儲(chǔ)器 程序 數(shù)據(jù) 進(jìn)行讀 寫(xiě) 執(zhí)行MOVX指令 或EA 0時(shí)執(zhí)行MOVC指令 時(shí) 使控制線C 1 MUX撥向總線輸出端 P0口的總線操作 分時(shí)地輸出地址和傳輸數(shù)據(jù) 具體有兩種情況 2 4 4P0口 2 P0口作為總線輸出地址或數(shù)據(jù)在擴(kuò)展的程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器系統(tǒng)中 對(duì)于P0口分時(shí)地輸出地址和輸出數(shù)據(jù) 端口的操作是一樣的 總線輸出通道 MUX開(kāi)關(guān)把CPU內(nèi)部的地址或數(shù)據(jù)經(jīng)反相器3與驅(qū)動(dòng)場(chǎng)效應(yīng)管T2的柵極接通 總線輸出操作 輸出1時(shí) T1導(dǎo)通而T2截止 從引腳輸出高電平 輸出0時(shí) T1截止而T2導(dǎo)通 從引腳輸出低電平 2 4 4P0口 3 P0口作為總線輸入數(shù)據(jù)總線輸入通道 1 控制線C 1 總是將開(kāi)關(guān)MUX撥向反相器3的輸出端 總線輸入時(shí)也是如此 2 為了能夠正確讀入引腳的狀態(tài) 地址 數(shù)據(jù)自動(dòng)輸出1 使T2截止 T1導(dǎo)通 總線輸入操作 讀引腳 信號(hào)有效 三態(tài)緩沖器2打開(kāi) 引腳上的信號(hào)進(jìn)入內(nèi)部總線 2 4 5端口負(fù)載能力和接口要求 一 P0口1 負(fù)載能力 1 一般I O口的負(fù)載能力每一位輸出可以驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載 2 用作總線時(shí)的負(fù)載能力P0口作總線時(shí) 每一位輸出可以驅(qū)動(dòng)8個(gè)LS型TTL負(fù)載 2 4 5端口負(fù)載能力和接口要求 2 接口要求 1 一般I O口的接口要求P0口的輸出級(jí)無(wú)上拉電阻 當(dāng)把它用作通用I O口時(shí) 輸出級(jí)是開(kāi)漏電路 用其輸出驅(qū)動(dòng)NMOS電路時(shí) 要外接上拉電阻 2 用作總線時(shí)的接口要求把P0口用作地址 數(shù)據(jù)總線時(shí) 系統(tǒng)擴(kuò)展有ROM或RAM 則無(wú)須外接上拉電阻 作總線輸入時(shí) 不必先向端口寫(xiě)1 2 4 5端口負(fù)載能力和接口要求 二 P1 P3口1 負(fù)載能力P1 P3口的輸出級(jí)接有上拉電阻 它們的每一位輸出可以驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載 2 接口要求由于P1 P3口的輸出級(jí)接有上拉負(fù)載電阻 無(wú)論是作為輸入口 還是作為輸出口 不管外部電路的類(lèi)型是什么 均無(wú)須外接上拉電阻 2 5MCS 51單片機(jī)的時(shí)鐘及CPU時(shí)序 主要內(nèi)容2 5 1時(shí)鐘電路及時(shí)鐘信號(hào)2 5 2CPU時(shí)序 MCS 51單片機(jī)內(nèi)有一個(gè)節(jié)拍發(fā)生器 即片內(nèi)振蕩器和分頻器 能夠產(chǎn)生單片機(jī)工作的各種時(shí)鐘信號(hào) 2 5 1時(shí)鐘電路及時(shí)鐘信號(hào) 一 時(shí)鐘電路MCS 51單片機(jī)內(nèi)部有產(chǎn)生振蕩信號(hào)的放大電路 可以?xún)煞N方式產(chǎn)生時(shí)鐘信號(hào) 一種是內(nèi)部方式 另一種是外部方式 1 內(nèi)部方式就是利用單片機(jī)內(nèi)部的高增益反向放大器 外接晶振等器件構(gòu)成的振蕩電路 2 5 1時(shí)鐘電路及時(shí)鐘信號(hào) 2 外部方式就是把外部的時(shí)鐘信號(hào)接到XTAL1或XTAL2引腳上 給單片機(jī)提供基本的時(shí)鐘信號(hào) 主要用于多電路時(shí)鐘同步 2 5 1時(shí)鐘電路及時(shí)鐘信號(hào) 二 時(shí)鐘信號(hào)在單片機(jī)中 泛意的時(shí)鐘信號(hào)包括 振蕩信號(hào) 振蕩信號(hào)的2分頻信號(hào) 機(jī)器周期信號(hào) 指令周期信號(hào) 1 節(jié)拍與狀態(tài)周期時(shí)鐘信號(hào) 振蕩頻率的2分頻 是基本時(shí)序信號(hào) 狀態(tài)周期S 時(shí)鐘信號(hào)的周期時(shí)鐘信號(hào)的前后半個(gè)周期稱(chēng)為相位1 記為P1 和相位2 P2 也稱(chēng)為節(jié)拍1 節(jié)拍2 2 5 1時(shí)鐘電路及時(shí)鐘信號(hào) 2 機(jī)器周期機(jī)器周期 指CPU訪問(wèn)一次存儲(chǔ)器所需要的時(shí)間 機(jī)器周期是量度時(shí)間的基本單位機(jī)器周期與時(shí)鐘周期的關(guān)系 1個(gè)機(jī)器周期包含6個(gè)時(shí)鐘周期或狀態(tài)周期機(jī)器周期與振蕩周期的關(guān)系 1個(gè)機(jī)器周期包含12個(gè)振蕩周期機(jī)器周期計(jì)算 設(shè)單片機(jī)的振蕩頻率fosc為12MHz 則機(jī)器周期為1 s 若振蕩頻率為6MHz 則機(jī)器周期為2 s 2 5 1時(shí)鐘電路及時(shí)鐘信號(hào) 3 指令周期指令周期 指CPU執(zhí)行一條指令所需要的時(shí)間 用機(jī)器周期量度 不同的指令有不同的指令周期 有單機(jī)器周期 雙機(jī)器周期 4機(jī)器周期三種 2 5 2CPU時(shí)序 CPU時(shí)序即CPU操作時(shí)序 包括取指令和執(zhí)行指令兩個(gè)階段 指令周期分為 單機(jī)器周期 雙機(jī)器周期 4機(jī)器周期三種 指令字節(jié) 單字節(jié) 雙字節(jié) 三字節(jié)一些典型指令的操作時(shí)序如圖2 15所示 2 5 2CPU時(shí)序 圖2 15MCS 51單片機(jī)的CPU時(shí)序 1 S1S2S3S4S5S6 S1S2S3S4S5S6 讀操作碼 讀下一操作碼 丟棄 讀操作碼 讀第2字節(jié) 時(shí)鐘信號(hào) ALE a 單字節(jié) 單周期指令如 MOVA Rn b 雙字節(jié) 單周期指令如 ADDA data S1P1P2 S2P1P2 S3P1P2 S4P1P2 S5P1P2 S6P1P2 2 5 2CPU時(shí)序 時(shí)鐘信號(hào) 圖2 15MCS 51單片機(jī)的CPU時(shí)序 2 S1S2S3S4S5S6 S1S2S3S4S5S6 讀操作碼 讀下一操作碼 丟棄 讀操作碼 讀下一操作碼 丟棄 ALE c 單字節(jié) 雙周期指令如 INCDPTR d 單字節(jié) 雙周期指令 MOVX S1P1P2 S2P1P2 S3P1P2 S4P1P2 S5P1P2 S6P1P2 2 6MCS 51單片機(jī)的工作方式 主要內(nèi)容2 6 1復(fù)位方式2 6 2程序執(zhí)行方式2 6 3單步執(zhí)行方式2 6 4節(jié)電工作方式2 6 5編程和校驗(yàn)方式 2 6 1復(fù)位方式 復(fù)位電路 復(fù)位狀態(tài)一 復(fù)位電路主要有兩種方式 上電自動(dòng)復(fù)位 手動(dòng)復(fù)位 1 上電自動(dòng)復(fù)位單片機(jī)在正常工作時(shí) 高電平持續(xù)2個(gè)時(shí)鐘即復(fù)位 上電時(shí)高電平要維持10ms以上 2 6 1復(fù)位方式 2 手動(dòng)復(fù)位下面電路具有上電自動(dòng)復(fù)位和手動(dòng)復(fù)位功能 上電時(shí)RST引腳高電平持續(xù)的時(shí)間 決定于復(fù)位電路的時(shí)間常數(shù)R2C之積 大約是0 55R2C左右 2 6 1復(fù)位方式 二 復(fù)位狀態(tài)引腳信號(hào)狀態(tài) ALE PSEN均為高電平寄存器狀態(tài) 如表2 8所示 P0 P3 FFH07HSP 07HSNUF 不確定其余 00H 2 6 2程序執(zhí)行方式 程序執(zhí)行方式是單片機(jī)的基本工作方式 也是單片機(jī)最主要的工作方式 單片機(jī)實(shí)現(xiàn)用戶(hù)的功能通常就是采用這種方式 2 6 3單步執(zhí)行方式 單步執(zhí)行 是指在外部單脈沖的作用下 使單片機(jī)一個(gè)脈沖執(zhí)行一條指令 執(zhí)行后停下來(lái) 下一個(gè)單步脈沖再執(zhí)行一條指令 執(zhí)行后又停下來(lái) 單步執(zhí)行方式的用途 通常用于調(diào)試程序 跟蹤程序的執(zhí)行和了解程序的執(zhí)行過(guò)程 2 6 3單步執(zhí)行方式 MCS 51單片機(jī)沒(méi)有單步運(yùn)行控制位 但可以利用外中斷實(shí)現(xiàn)單步執(zhí)行 實(shí)現(xiàn)單步運(yùn)行的方法 MCS 51的中斷規(guī)定 從中斷服務(wù)程序返回之后 至少要再執(zhí)行一條指令 才能重新進(jìn)入中斷 這樣 將外部脈沖加到 或 引腳 通過(guò)編程使用電平觸發(fā) 利用下面程序 就會(huì)出現(xiàn)一個(gè)脈沖發(fā)生一次中斷 中斷服務(wù)程序如下 2 6 3單步執(zhí)行方式 voidint ex0 void interrupt0 while P3 2 0 P3 2腳為低等待while P3 2 1 P3 2腳為高等待 匯編語(yǔ)言程序?yàn)?JNBP3 2 JBP3 2 RETI 2 6 4節(jié)電工作方式 單片機(jī)節(jié)電工作是某些應(yīng)用的關(guān)鍵 對(duì)于CHMOS工藝的單片機(jī) 有空閑和掉電兩種節(jié)電工作方式 節(jié)電工作方式由電源控制寄存器控制 一 電源控制寄存器PCO

溫馨提示

  • 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)論