單片機(jī)原理及接口技術(shù) 第2章課件_第1頁
單片機(jī)原理及接口技術(shù) 第2章課件_第2頁
單片機(jī)原理及接口技術(shù) 第2章課件_第3頁
單片機(jī)原理及接口技術(shù) 第2章課件_第4頁
單片機(jī)原理及接口技術(shù) 第2章課件_第5頁
已閱讀5頁,還剩121頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第2章80C51的結(jié)構(gòu)和原理教學(xué)目的

了解單片機(jī)的內(nèi)部結(jié)構(gòu)與主要型號。掌握單片機(jī)引腳信號功能定義。掌握單片機(jī)的存儲器空間分配及各I/O口的特點(diǎn)。掌握單片機(jī)的復(fù)位電路、時鐘電路及指令時序。學(xué)習(xí)重點(diǎn)和難點(diǎn)單片機(jī)的結(jié)構(gòu)特點(diǎn)。存儲器配置與空間的分布。程序狀態(tài)寄存器(PSW)。單片機(jī)的指令時序。1第2章80C51的結(jié)構(gòu)和原理教學(xué)目的了解單片機(jī)的內(nèi)部結(jié)第2章80C51的結(jié)構(gòu)和原理2.780C51的并行口結(jié)構(gòu)與操作2.180C51系列概述2.280C51的基本結(jié)構(gòu)及內(nèi)部結(jié)構(gòu)2.380C51典型產(chǎn)品資源配置與引腳封裝2.480C51的時鐘與時序2.680C51的存儲器組織2.580C51的復(fù)位2第2章80C51的結(jié)構(gòu)和原理2.780C51的并行口2.180C51系列概述2.1.1MCS-51系列(1)MCS-51是Intel公司生產(chǎn)的一個單片機(jī)系列名稱。(2)該系列生產(chǎn)工藝有兩種:型號中凡帶有字母“C”的即為CHMOS芯片HMOS工藝(高密度短溝道MOS工藝)。H:高速度和高密度;與TTL電平兼容CHMOS工藝(互補(bǔ)金屬氧化物的HMOS工藝)。C:低功耗;CHMOS與TTL和COMS電平都兼容80C51和MCS-51的關(guān)系8051是MCS-51系列單片機(jī)的典型品種。以8051為基核開發(fā)出的CHMOS工藝單片機(jī)產(chǎn)品統(tǒng)稱為80C51。8051的功耗為630mW,而80C51的功耗只有120mW。32.180C51系列概述2.1.1MCS-51系列((3)在功能上,該系列單片機(jī)有基本型和增強(qiáng)型兩大類:基本型:1增強(qiáng)型:2﹡80C51有4K字節(jié)的掩膜ROM;﹡87C51有4K字節(jié)的EPROM;﹡80C31在芯片內(nèi)無程序存儲器。(4)在片內(nèi)程序存儲器的配置上,該系列單片機(jī)有三種形式,即掩膜ROM、EPROM和ROMLess(無片內(nèi)程序存儲器)。如:4(3)在功能上,該系列單片機(jī)有基本型和增強(qiáng)型兩大類:基本型:2.1.280C51系列以8051為基核開發(fā)出的CMOS工藝單片機(jī)產(chǎn)品統(tǒng)稱為80C51系列。

﹡Intel的:80C31、80C51、87C51,80C32、80C52、87C52等;

﹡ATMEL的:89C51、89C52、89C2051等;52.1.280C51系列以8051為基核開發(fā)出2.280C51的基本結(jié)構(gòu)及內(nèi)部結(jié)構(gòu)2.2.180C51的基本結(jié)構(gòu)框圖62.280C51的基本結(jié)構(gòu)及內(nèi)部結(jié)構(gòu)2.2.180C8051單片機(jī)的結(jié)構(gòu)框圖如圖所示,可以看出,在一塊芯片上集成了一個微型計算機(jī)的主要部件,它包括以下幾部分:1個8位微處理器(CPU)。1個時鐘電路。4KB程序存儲器。256B數(shù)據(jù)存儲器。2個16位定時/計數(shù)器。64KB擴(kuò)展總線控制電路。4個8位并行I/O接口P0~P3。1個全雙工串行I/O接口。5個中斷源,其中包括2個優(yōu)先級嵌套中斷。

78051單片機(jī)的結(jié)構(gòu)框圖如圖所示,可以看出,在一塊芯片上集成2.2.280C51的內(nèi)部結(jié)構(gòu)82.2.280C51的內(nèi)部結(jié)構(gòu)8一、80C51微處理器(CPU)二、80C51片內(nèi)存儲器(ROM、RAM)三、80C51的I/O口及功能單元2.2.280C51的內(nèi)部結(jié)構(gòu)四、80C51特殊功能寄存器(SFR)9一、80C51微處理器(CPU)二、80C51片內(nèi)存儲器(R一、80C51微處理器(CPU)

CPU即中央處理器,是單片機(jī)的核心部件,是計算機(jī)的控制指揮中心。由運(yùn)算器和控制器兩部分組成。運(yùn)算器電路以算術(shù)邏輯單元(ALU,ArithmeticLogicUnit)為核心,由暫存器1、暫存器2、累加器(A,Accumulator)、寄存器B、程序狀態(tài)寄存器(PSW,ProgramStatusWord)及布爾處理機(jī)共同組成。它的主要任務(wù)是完成算術(shù)運(yùn)算、邏輯運(yùn)算、位運(yùn)算和數(shù)據(jù)傳送等操作,運(yùn)算結(jié)果的狀態(tài)由程序狀態(tài)寄存器(PSW)保存??刂破麟娐钒ǔ绦蛴嫈?shù)器(PC)、PC增1寄存器、指令寄存器(IR)、指令譯碼器(ID)、數(shù)據(jù)指針(DPTR)、堆棧指針(SP)、緩沖器及定時控制電路等??刂破麟娐吠瓿芍笓]控制工作,協(xié)調(diào)單片機(jī)各部分正常工作。10一、80C51微處理器(CPU)CPU即中央運(yùn)算器CPU算術(shù)/邏輯部件ALU(ArithmeticLogicUnit)累加器ACC

(Accumulator)程序狀態(tài)字寄存器PSW(ProgramStatusWord)暫存寄存器寄存器B控制器堆棧指針SP數(shù)據(jù)指針DPTR程序計數(shù)器PC指令寄存器IR指令譯碼器ID11運(yùn)算器CPU算術(shù)/邏輯部件ALU(ArithmeticLo二、80C51的片內(nèi)存儲器

80C51單片機(jī)與一般微機(jī)的存儲器配置方式很不相同。一般微機(jī)通常只有一個邏輯空間,可以隨意安排數(shù)據(jù)或程序。訪問存儲器時,同一地址對應(yīng)唯一的存儲單元,可以是ROM也可以是RAM,并用同類訪問指令。而MCS-51則不同:80C51在物理結(jié)構(gòu)上設(shè)計成程序存儲器與數(shù)據(jù)存儲器獨(dú)立分開的哈佛結(jié)構(gòu)。在芯片內(nèi)部有:程序存儲器4KB(ROM0000H~0FFFH);數(shù)據(jù)存儲器128B(RAM00H~7FH);21字節(jié)的特殊功能寄存器(SFR);在芯片外還可以擴(kuò)展ROM、RAM最多可達(dá)到64KB。12二、80C51的片內(nèi)存儲器80C51單片機(jī)與一般微機(jī)的存儲三、80C51的I/O口及功能單元四個8位的并行口,即P0~P3。它們均為雙向口,既可作為輸入,又可作為輸出。每個口各有8條I/O線。

有一個全雙工的串行口(利用P3口的兩個引腳P3.0和P3.1);有2個16位的定時/計數(shù)器;有1套完善的中斷系統(tǒng)。

13三、80C51的I/O口及功能單元四個8位的并行口,即P0~四、80C51特殊功能寄存器(SFR)21個特殊功能寄存器單元,地址范圍是只用到了80H~FFH中的21個字節(jié)單元,且這些單元是離散分布的。14四、80C51特殊功能寄存器(SFR)21個特殊功能寄存器單2.380C51典型產(chǎn)品資源配置與引腳2.3.180C51典型產(chǎn)品資源配置152.380C51典型產(chǎn)品資源配置與引腳2.3.18﹡無ROM(即ROMLess)型,應(yīng)用時要在片外擴(kuò)展程序存儲器;﹡掩膜ROM(即MaskROM)型,用戶程序由芯片生產(chǎn)廠寫入;﹡EPROM型,用戶程序通過寫入裝置寫入,通過紫外線照射擦除;﹡FlashROM型,用戶程序可以電寫入或擦除(當(dāng)前常用方式)。還有OTPROM型(一次性編程寫入ROM)產(chǎn)品,具有較高的環(huán)境適應(yīng)性和可靠性。16﹡無ROM(即ROMLess)型,應(yīng)用時要在片外擴(kuò)展程序存儲2.3.280C51的引腳封裝總線型非總線型172.3.280C51的引腳封裝總線型非總線型178051的40個引腳可分為:電源引腳2根時鐘引腳2根控制引腳4根I/O引腳32根由于8051單片機(jī)是高性能的單片機(jī),同時受到引腳數(shù)目的限制,所以有部分引腳具有第二功能。

188051的40個引腳可分為:188051引腳的功能描述(一)

電源引腳(2根)

VCC(40腳):電源端,接+5V電源。VSS(20腳):接地端。時鐘引腳(2根)XTAL1(19腳):接外部晶振和微調(diào)電容的一端。采用外部時鐘電路時,對HMOS型工藝的單片機(jī),此引腳應(yīng)接地;對CHMOS型而言,此引腳應(yīng)接外部時鐘的輸入端。XTAL2(18腳):接外部晶振和微調(diào)電容的另一端。使用外部時鐘時,對HMOS型工藝的單片機(jī),此引腳應(yīng)接外部時鐘的輸入端;對CHMOS型而言,此引腳懸空。198051引腳的功能描述(一)電源引腳(2根)198051引腳的功能描述(二)控制引腳(4根)

RST/VPD(9腳):復(fù)位信號/備用電源輸入引腳。當(dāng)RST引腳保持兩個機(jī)器周期的高電平后,就可以使8051完成復(fù)位操作。該引腳的第二功能是VPD,即備用電源的輸入端,具有掉電保護(hù)功能。若在該引腳接+5V備用電源,在使用中若主電源VCC掉電,可保護(hù)片內(nèi)RAM中的信息不丟失。ALE/PROG(30腳):地址鎖存允許信號輸出/編程脈沖輸入引腳。當(dāng)CPU訪問片外存儲器時,ALE輸出信號控制鎖存P0口輸出的低8位地址,從而實(shí)現(xiàn)P0口數(shù)據(jù)與低位地址的分時復(fù)用。當(dāng)8051上電正常工作后,自動在ALE端輸出頻率為fosc/6的脈沖序列(fosc代表振蕩器的頻率)。該引腳的第二功能PROG是對8751內(nèi)部4KBEPROM編程寫入時,作為編程脈沖的輸入端208051引腳的功能描述(二)控制引腳(4根)20

EA/VPP(31腳):外部程序存儲器地址允許輸入端/編程電壓輸入端。當(dāng)EA接高電平時,CPU執(zhí)行片內(nèi)ROM指令,但當(dāng)PC值超過0FFFH時,將自動轉(zhuǎn)去執(zhí)行片外ROM指令;當(dāng)EA接低電平時,CPU只執(zhí)行片外ROM指令。對于8031,由于其無片內(nèi)ROM,故其EA必須接低電平。該引腳的第二功能VPP是對8751片內(nèi)EPROM編程寫入時,作為21V編程電壓的輸入端。PSEN(29腳):片外ROM讀選通信號端。在讀片外ROM時,PSEN有效,為低電平,以實(shí)現(xiàn)對片外ROM的讀操作。

控制引腳(4根)21EA/VPP(31腳):外部程序存儲器地址允許輸入端/編程8051引腳的功能描述(三)I/O引腳(4×8=32根)

P0.0~P0.7(39~32腳):P0口的8位雙向I/O口線。P0口即可作地址/數(shù)據(jù)總線使用,又可作通用的I/O口使用。當(dāng)CPU訪問片外存儲器時,P0口分時先作低8位地址總線,后作雙向數(shù)據(jù)總線,此時,P0口就不能再作I/O口使用了。P1.0~P1.7(1~8腳):P1口的8位準(zhǔn)雙向I/O口線。

P1口作為通用的I/O口使用。P2.0~P2.7(21~28腳):P2口的8位準(zhǔn)雙向I/O口線。

P2口即可作為通用的I/O口使用,也可作為片外存儲器的高8位地址總線,與P0口配合,組成16位片外存儲器單元地址。P3.0~P3.7(10~17腳):P3口的8位準(zhǔn)雙向I/O口線。

P3口除了作為通用的I/O口使用之外,每個引腳還具有第二功能。

228051引腳的功能描述(三)I/O引腳(4×8=32根)2.480C51的時鐘與時序一、80C51的時鐘產(chǎn)生方式內(nèi)部時鐘

外部時鐘時鐘:用來為單片機(jī)芯片內(nèi)部各種微操作提供時間基準(zhǔn)時序:微操作的時間次序232.480C51的時鐘與時序一、80C51的時鐘產(chǎn)生方式在8051單片機(jī)內(nèi)部有一個高增益的反相放大器,用于構(gòu)成振蕩器,反相放大器的輸入端為XTAL1,輸出端為XTAL2。內(nèi)部振蕩方式是在XTAL1和XTAL2引腳兩端跨接石英晶體振蕩器和兩個電容構(gòu)成穩(wěn)定的自激振蕩電路。電容C1和C2通常取30pF,對振蕩頻率有微調(diào)作用。晶振頻率范圍是1.2MHz~12MHz。1.內(nèi)部振蕩方式241.內(nèi)部振蕩方式242.外部時鐘方式外部時鐘方式是把外部已有的時鐘信號引入到單片機(jī)內(nèi)。8051:外部時鐘由XTAL2輸入,直接送入內(nèi)部時鐘電路,XTAL1接地;80C51:外部時鐘由XTAL1輸入,XTAL2懸空。外部時鐘信號為高電平持續(xù)時間要大于20ns,且頻率低于12MHz的方波。

252.外部時鐘方式外部時鐘方式是把外部已有的時鐘信號引入到單二、80C51的時鐘信號一個機(jī)器周期包含12個晶蕩周期或6個時鐘周期

指令的執(zhí)行時間稱作指令周期(單、雙、四周期)26二、80C51的時鐘信號一個機(jī)器周期包含12個晶蕩周期或6個3.機(jī)器周期:一個機(jī)器周期包括12個振蕩周期。4.指令周期:執(zhí)行一條指令的時間,1~4個機(jī)器周期。1.振蕩周期:振蕩源周期。2.狀態(tài)周期:又叫時鐘周期,振蕩周期2分頻,P1、

P2節(jié)拍。273.機(jī)器周期:一個機(jī)器周期包括12個振蕩周期。1.振蕩周期典型指令的取指、執(zhí)行時序

振蕩周期為單片機(jī)提供定時信號的振蕩源的周期或外部輸入時鐘信號的周期時鐘周期

(或狀態(tài)周期S)是振蕩周期的兩倍,它分為P1節(jié)拍和P2節(jié)拍。一條指令的執(zhí)行過程分作幾個基本操作,完成一個基本操作所需的時間稱作機(jī)器周期。執(zhí)行一條指令所需的時間稱為指令周期。

28典型指令的取指、執(zhí)行時序振蕩周期為單片機(jī)提供定時信號的振蕩2.580C51的復(fù)位復(fù)位是單片機(jī)的初始化操作。復(fù)位功能是把PC初始化為0000H,使CPU從0000H單元開始執(zhí)行程序;復(fù)位操作同時還對其他一些寄存器有影響,但內(nèi)部RAM的數(shù)據(jù)是不變的。除了進(jìn)入系統(tǒng)的正常初始化之外,當(dāng)由于程序運(yùn)行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,為擺脫困境,也需要按復(fù)位鍵重新啟動。2.5.1復(fù)位功能292.580C51的復(fù)位復(fù)位是單片機(jī)的初始化操作。2.5.1單片機(jī)的復(fù)位引腳RST出現(xiàn)2個機(jī)器周期以上的高電平時,單片機(jī)就執(zhí)行復(fù)位操作。常見的復(fù)位操作有上電自動復(fù)位和按鍵手動復(fù)位兩種方式。上電自動復(fù)位是通過外部復(fù)位電路的電容充電來實(shí)現(xiàn)的。按鍵手動復(fù)位是通過復(fù)位端經(jīng)電阻與電源VCC接通而實(shí)現(xiàn)的,它兼?zhèn)渖想姀?fù)位功能。

(a)上電自動復(fù)位(b)按鍵手動復(fù)位

2.5.2復(fù)位電路30單片機(jī)的復(fù)位引腳RST出現(xiàn)2個機(jī)器周期以上的高電平時,單片機(jī)PC=0000H,所以程序從0000H地址單元開始執(zhí)行;啟動后,片內(nèi)RAM為隨機(jī)值,運(yùn)行中的復(fù)位操作不改變片內(nèi)RAM的內(nèi)容;特殊功能寄存器復(fù)位后的狀態(tài)是確定的:P0~P3=FFH,各口可用于輸出,也可用于輸入;SP=07H,第一個入棧內(nèi)容將寫入08H單元;IP、IE和PCON的有效位為0,各中斷源處于低優(yōu)先級且均被關(guān)斷、串行通訊的波特率不加倍;PSW=00H,當(dāng)前工作寄存器為0組。2.5.3復(fù)位狀態(tài)31PC=0000H,所以程序從0000H地址單元開始執(zhí)行;特殊2.680C51的存儲器組織﹡RAM,在關(guān)閉電源時,其所存儲的信息將丟失。它用來存放暫時性的輸入輸出數(shù)據(jù)、運(yùn)算的中間結(jié)果或用作堆棧。﹡ROM,斷電后,ROM中的信息保留不變。用來存放固定的程序或數(shù)據(jù),如系統(tǒng)監(jiān)控程序、常數(shù)表格等。

322.680C51的存儲器組織﹡RAM,在關(guān)閉電源時,2.6.180C51的程序存儲器ROM程序存儲器ROM用來存放程序、常數(shù)或表格等。

80C51:4KB的掩膜ROM,87C51:4KB的EPROM,80C31:沒有ROM(使用時必須使EA接低電平)。

PC是16位的計數(shù)器,所以能尋址64KB的ROM。實(shí)例觀察332.6.180C51的程序存儲器ROM程序存儲器ROM用來2.6.280C51的數(shù)據(jù)存儲器配置

片內(nèi)片外0000H~007FH重疊區(qū)域訪問需要采用不同的尋址方式片外RAM不能進(jìn)行堆棧操作342.6.280C51的數(shù)據(jù)存儲器配置片內(nèi)片外0000H數(shù)據(jù)存儲器RAM主要用來存放運(yùn)算的中間結(jié)果和數(shù)據(jù)等。在80C51中,其存儲空間分布如下:片內(nèi)RAM為128B存儲單元,地址范圍為00H~7FH。片外RAM最多可擴(kuò)至64KB存儲單元,地址范圍為0000H~FFFFH。35數(shù)據(jù)存儲器RAM主要用來存放運(yùn)算的中間結(jié)果和數(shù)據(jù)等。35一、工作寄存器區(qū)通用RAM區(qū)

(80B)位地址區(qū)

(16B)寄存器區(qū)4組(32B)7FH寄存器3組寄存器2組寄存器1組寄存器0組寄存器區(qū)4組(32B).........①由PSW中的2位RS1、RS0來決定選哪一組為當(dāng)前工作寄存器:

RS1、RS0=00選0組

RS1、RS0=01選1組

RS1、RS0=10選2組

RS1、RS0=11選3組00H30H2FH20H1FH...36一、工作寄存器區(qū)通用RAM區(qū)位地址區(qū)寄存器區(qū)7FH寄存器3組通用RAM區(qū)

(80B)位地址區(qū)

(16B)7FH寄存器3組寄存器2組寄存器1組寄存器0組寄存器0組寄存器區(qū)4組(32B).........RS1、RS0=00R7R6R5R4R3R2R1R000H01H02H03H04H05H06H07H00H30H2FH20H1FH...37通用RAM區(qū)位地址區(qū)7FH寄存器3組寄存器0組寄存器區(qū).RS通用RAM區(qū)

(80B)位地址區(qū)

(16B)7FH寄存器3組寄存器2組寄存器1組寄存器0組寄存器1組R7R6R5R4R3R2R1R008H09H0AH0BH0CH0DH0EH0FH寄存器區(qū)4組(32B).........RS1、RS0=0100H30H2FH20H1FH...38通用RAM區(qū)位地址區(qū)7FH寄存器3組寄存器1組R708H09通用RAM區(qū)

(80B)位地址區(qū)

(16B)7FH寄存器3組寄存器2組寄存器1組寄存器0組寄存器2組R7R6R5R4R3R2R1R010H11H12H13H14H15H16H17H寄存器區(qū)4組(32B).........RS1、RS0=1000H30H2FH20H1FH...39通用RAM區(qū)位地址區(qū)7FH寄存器3組寄存器2組R710H11通用RAM區(qū)

(80B)位地址區(qū)

(16B)7FH寄存器3組寄存器2組寄存器1組寄存器0組寄存器3組R7R6R5R4R3R2R1R018H19H1AH1BH1CH1DH1EH1FH寄存器區(qū)4組(32B).........RS1、RS0=1100H30H2FH20H1FH...40通用RAM區(qū)位地址區(qū)7FH寄存器3組寄存器3組R718H1941通用RAM區(qū)

(80B)位地址區(qū)

(16B)7FH寄存器3組寄存器2組寄存器1組寄存器0組位地址區(qū)20H21H22H23H24H25H26H27H28H29H2AH2BH2CH2DH2EH2FH00H01H02H03H04H05H06H07H08H0FH10H7FH78H70H68H60H58H50H48H40H38H30H28H20H77H6FH67H18H5FH57H4FH47H3FH37H2FH27H1FH17H........................D7D6D5D4D3D2D1D0.........00H30H2FH20H1FH...二、位尋址區(qū)(20H~2FH)4141通用RAM區(qū)位地址區(qū)7FH寄存器3組位地址區(qū)20H21H通用RAM區(qū)

(80B)位地址區(qū)

(16B)00H30H2FH20H1FH7FH寄存器3組寄存器2組寄存器1組寄存器0組通用RAM區(qū)............共80個字節(jié),作為一般的數(shù)據(jù)緩沖區(qū)并可設(shè)置堆棧區(qū),棧頂?shù)奈恢糜蒘P寄存器指示。復(fù)位時SP的初值為07H,在系統(tǒng)初始化時可以重新設(shè)置。三、通用RAM區(qū)實(shí)例觀察42通用RAM區(qū)位地址區(qū)00H30H7FH寄存器3組通用RAM區(qū)2.6.380C51的特殊功能寄存器一、與運(yùn)算器相關(guān)的寄存器(3個)二、指針類寄存器(3個)三、與口相關(guān)的寄存器(7個)四、與中斷相關(guān)的寄存器(2個)五、與定時器/計數(shù)器相關(guān)的寄存器(6個)432.6.380C51的特殊功能寄存器一、與運(yùn)算器相關(guān)的寄存ARegister(Accumulator):累加器,通常用A或ACC表示??勺止?jié)尋址(E0H),也可位尋址(E0H~E7H)

它是一個寄存器,而不是一個做加法的部件。在運(yùn)算器做運(yùn)算時其中一個數(shù)一定是在ACC中。BRegister:暫存寄存器。暫存寄存器。在做乘、除法時放乘數(shù)或除數(shù)及結(jié)果。PSW(ProgramStatusWord):

PSW是8位寄存器,用于作為程序運(yùn)行狀態(tài)的標(biāo)志。這是一個很重要的部件,里面存放了CPU工作時的很多狀態(tài),借此,我們可以了解CPU的當(dāng)前狀態(tài),并作出相應(yīng)的處理。一、與運(yùn)算器相關(guān)的寄存器(3個)44ARegister(Accumulator):一、與運(yùn)算

當(dāng)CPU進(jìn)行各種邏輯操作或算術(shù)運(yùn)算時,為反映操作或運(yùn)算結(jié)果的狀態(tài),把相應(yīng)的標(biāo)志位置1或清0。這些標(biāo)志的狀態(tài),可由專門的指令來測試,也可通過指令來讀出。它為計算機(jī)確定程序的下一步進(jìn)行方向提供依據(jù)。PSW寄存器中各位的名稱、位置及各標(biāo)志位的作用說明如下:D7HD6HD5HD4HD3HD2HD1HD0HCYACF0RS1RS0OVPPSW位地址PSW45當(dāng)CPU進(jìn)行各種邏輯操作或算術(shù)運(yùn)算時,為反映操作或運(yùn)

CY:進(jìn)位標(biāo)志。

加減運(yùn)算時,保存最高位進(jìn)位、借位狀態(tài)。

AC:半進(jìn)位標(biāo)志。

例:78H+97H01111000+10010111100001111

D7HD6HD5HD4HD3HD2HD1H

D0H

CY

ACF0RS1RS0OVPPSW位地址有進(jìn)位CY=1沒有半進(jìn)位AY=046CY:進(jìn)位標(biāo)志。D7HD6HD5HD4HD3HD2HD1H

RS1、RS0:工作寄存器組選擇位。

00選擇工作寄存器0組

01選擇工作寄存器1組

10選擇工作寄存器2組

11選擇工作寄存器3組

P:奇偶校驗(yàn)位,它用來表示累加器A內(nèi)容中二進(jìn)制數(shù)位“1”的個數(shù)的奇偶性。若為奇數(shù),則P=1,否則為0。例:某運(yùn)算結(jié)果是78H(01111000),P=0。D7HD6HD5HD4HD3HD2HD1H

D0HCY

ACF0

RS1

RS0OV

PPSW位地址47RS1、RS0:工作寄存器組選擇位。D7HD6HD5HD4F0:用戶標(biāo)志位。作為軟件標(biāo)志,由編程人員決定何時使用。OV:溢出標(biāo)志位。有符號數(shù)運(yùn)算時,如果發(fā)生溢出,OV置“1”,否則清“0”。D7HD6HD5HD4HD3HD2HD1H

D0HCY

AC

F0RS1RS0

OVPPSW位地址48F0:用戶標(biāo)志位。作為軟件標(biāo)志,由編程人員決定D7HD6HDSP(StackPointer):

堆棧指針,8位寄存器,用來指定堆棧的棧頂位置,初值為07H。它是加1計數(shù)。堆棧操作遵循“后進(jìn)先出”的原則入棧操作時:SP先加1,數(shù)據(jù)再壓入SP指向的單元。出棧操作時:先將SP指向的單元的數(shù)據(jù)彈出,SP再減1,這時SP指向的單元是新的棧頂。80C51單片機(jī)的堆棧區(qū)是向地址增大的方向生成的。DPTR(DataPointer)(分成DPH、DPL兩個):數(shù)據(jù)指針可以用它來訪問外部數(shù)據(jù)存儲器中的任一單元,也可以作為通用寄存器來用,由我們自已決定如何使用。二、指針類寄存器(3個)49SP(StackPointer):二、指針類寄存器(3個P0、P1、P2、P3:四個并行輸入/輸出口的寄存器。它里面的內(nèi)容對應(yīng)著管腳的輸出。SCON(SerialControlRegister)SBUF(SerialDateBuffer)

PCON(PowerControlRegister)

三、與口相關(guān)的寄存器(7個)四、與中斷相關(guān)的寄存器(2個)IP(InterruptPriorityRegister)IE(InterruptEnableRegister)50P0、P1、P2、P3:三、與口相關(guān)的寄存器(7個)四、與中TMOD

(Timer/Counter

ModeRegister)

定時器工作模式寄存器。TCON(Timer/Counter

ControlRegister)

定時器控制寄存器。TH0、TL0、TH1、TL1:分別是T0、T1的記數(shù)初值寄存器。五、與定時器/計數(shù)器相關(guān)的寄存器(6個)51TMOD(Timer/CounterModeRegis2.780C51的并行口結(jié)構(gòu)與操作8051單片機(jī)有4個8位并行I/O端口,稱為P0、P1、P2和P3口,每個端口都各有8條I/O口線,每條I/O口線都能獨(dú)立地用作輸入或輸出。在無片外擴(kuò)展存儲器的系統(tǒng)中,這四個I/O口都可以作為通用I/O口使用。在有片外擴(kuò)展存儲器的系統(tǒng)中,P2口送出高8位地址,P0口分時送出低8位地址和8位數(shù)據(jù)。

522.780C51的并行口結(jié)構(gòu)與操作8051單片機(jī)有4個2.6.1P0口、P2口的結(jié)構(gòu)

一、

P0口的結(jié)構(gòu)當(dāng)不需要外部ROM和外部RAM時,P0、P2口做I/O口用;當(dāng)需要外部ROM和外部RAM時,P0低8為地址、數(shù)據(jù)總線,P2高8位地址532.6.1P0口、P2口的結(jié)構(gòu)一、P0口的結(jié)構(gòu)當(dāng)不需二、

P2口的結(jié)構(gòu)圖中的控制信號C決定轉(zhuǎn)換開關(guān)MUX的位置:當(dāng)C=0時,MUX撥向下方,P0口為通用I/O口;當(dāng)控制信號C=1時,MUX撥向上方,P0口作為地址總線使用。在實(shí)際應(yīng)用中,P2口通常作為高8位地址總線使用。

54二、P2口的結(jié)構(gòu)圖中的控制信號C決定轉(zhuǎn)換開關(guān)MUX的位置2.6.2P1口、P3口的結(jié)構(gòu)

一、

P1口的結(jié)構(gòu)

P1口是唯一的單功能口,僅能作為通用I/O口使用。由于在其輸出端接有上拉電阻,故可以直接輸出而無需外接上拉電阻。同P0口一樣,當(dāng)作輸入口時,必須先向鎖存器寫“1”,使場效應(yīng)管T截止。

552.6.2P1口、P3口的結(jié)構(gòu)一、P1口的結(jié)構(gòu)P1二、

P3口的結(jié)構(gòu)

P3口用作通用I/O口時,第二輸出功能信號W=1,P3口的每一位都可定義為輸入或輸出,其工作原理同P1口類似。在真正的應(yīng)用電路中,P3口的第二功能顯得更為重要。56二、P3口的結(jié)構(gòu)P3口用作通用I/O口時,第二輸出功能信

P3口的第二功能

引腳第二功能功能說明P3.0RXD串行口輸入P3.1TXD串行口輸出P3.2外部中斷0輸入P3.3外部中斷1輸入P3.4T0定時器/計數(shù)器0計數(shù)輸入P3.5T1定時器/計數(shù)器1計數(shù)輸入P3.6片外RAM寫選通信號(輸出)P3.7片外RAM讀選通信號(輸出)57P3口的第二功能引腳第二功能功能說明P3.0RXD2.7.3并行口的負(fù)載能力

P0、P1、P2、P3口的電平與CMOS和TTL電平兼容。P0口的每一位口線可以驅(qū)動8個LSTTL負(fù)載。在作為通用I/O口時,由于輸出驅(qū)動電路是開漏方式,由集電極開路(OC門)電路或漏極開路電路驅(qū)動時需外接上拉電阻;當(dāng)作為地址/數(shù)據(jù)總線使用時,口線輸出不是開漏的,無須外接上拉電阻。P1、P2、P3口的每一位能驅(qū)動4個LSTTL負(fù)載。它們的輸出驅(qū)動電路設(shè)有內(nèi)部上拉電阻,所以可以方便地由集電極開路(OC門)電路或漏極開路電路所驅(qū)動,而無須外接上拉電阻。

由于單片機(jī)口線僅能提供幾毫安的電流,當(dāng)作為輸出驅(qū)動一般的晶體管的基極時,應(yīng)在口與晶體管的基極之間串接限流電阻。

582.7.3并行口的負(fù)載能力P0、P1、P2、P3口的電P1口輸出功能應(yīng)用實(shí)例【例1】

P1口做輸出口,控制八只發(fā)光二極管循環(huán)點(diǎn)亮(P1口輸出低電平時發(fā)光二極管被點(diǎn)亮)。

解:由于發(fā)光二極管低電平點(diǎn)亮,所以,需要哪個發(fā)光二極管點(diǎn)亮,只需在相應(yīng)的端口輸出邏輯0即可。由于每個發(fā)光二極管點(diǎn)亮后要持續(xù)一段時間才熄滅,再使下個發(fā)光二極管點(diǎn)亮,因此需要編寫延時子程序,供主程序反復(fù)調(diào)用。本例中,延時子程序采用指令循環(huán)來實(shí)現(xiàn)。59P1口輸出功能應(yīng)用實(shí)例【例1】P1口做輸出口,控制八只發(fā)地址機(jī)器碼程序注釋ORG0000H0000H021000LJMPMAINORG1000H1000H74FEMAIN:MOVA,#0FEH1002HF590LOOP:MOVP1,A1004H12100ALCALLDELAY;延時1007H23RLA;左移位1008H80F8SJMPLOOP;循環(huán)100AH7FFFDELAY:MOVR7,#0FFH;延時子程序100CH7EFAL1:MOVR6,#0FAH100EHDEFEDJNZR6,$1010HDFFADJNZR7,L11012H22RETEND60地址機(jī)器碼程序注釋ORG0000H00P3口輸入功能應(yīng)用實(shí)例

【例2】P3口的P3.0連接一個開關(guān),作為輸入端;P1口的P1.0~P1.7連接八只發(fā)光二極管,作為輸出端。要求用P3.0來控制P1輸出的循環(huán)燈,即當(dāng)P3.0輸出高電平時,控制P1口的發(fā)光二極管左循環(huán)點(diǎn)亮;當(dāng)P3.0輸出低電平時,控制P1口的發(fā)光二極管右循環(huán)點(diǎn)亮(P1口輸出低電平時發(fā)光二極管被點(diǎn)亮)。

解:在主程序中要對P3.0的狀態(tài)進(jìn)行判斷。如果P3.0為高電平,則使用循環(huán)左移指令。如果P3.0為低電平,則使用循環(huán)右移指令。延時子程序同例1。61P3口輸入功能應(yīng)用實(shí)例【例2】P3口的P3.0連接一個開參考程序:地址機(jī)器碼程序注釋ORG0000H0000H023000 LJMPMAIN ORG3000H3000H74FEMAIN:MOVA,#0FEH3002HF590LOOP:MOVP1,A3004H123010 LCALLDELAY;延時3007H20B003 JBP3.0,L1300AH03 RRA;右移位300BH80F5 SJMPLOOP;循環(huán)300DH23L1:RLA;左移位300EH80F2 SJMPLOOP;循環(huán)3010H7FFFDELAY: MOVR7,#0FFH;延時子程序3012H7EFAL2:MOVR6,#0FAH3014HDEFEDJNZR6,$3016HDFFADJNZR7,L23018H22RETEND62參考程序:地址機(jī)器碼程序注釋ORG00思考題與習(xí)題1、80C51在功能、工藝、程序存儲器的配置上有哪些種類?2、80C51的存儲器組織采用何種結(jié)構(gòu)?存儲器地址空間如何劃分?各地址空間的地址范圍和容量如何?在使用上有何特點(diǎn)?3、80C51的P0~P3口在結(jié)構(gòu)上有何不同?在使用上有何特點(diǎn)?4、80C51晶振頻率為12MHz,時鐘周期、機(jī)器周期為多少?5、80C51復(fù)位后的狀態(tài)如何?復(fù)位方法有幾種?6、80C51的片內(nèi)、片外存儲器如何選擇?7、80C51的PSW寄存器各位標(biāo)志的意義如何?8、80C51的當(dāng)前工作寄存器組如何選擇?9、80C51的控制總線信號有哪些?各信號的作用如何?10、80C51的程序存儲器低端的幾個特殊單元的用途如何?63思考題與習(xí)題63第2章80C51的結(jié)構(gòu)和原理教學(xué)目的

了解單片機(jī)的內(nèi)部結(jié)構(gòu)與主要型號。掌握單片機(jī)引腳信號功能定義。掌握單片機(jī)的存儲器空間分配及各I/O口的特點(diǎn)。掌握單片機(jī)的復(fù)位電路、時鐘電路及指令時序。學(xué)習(xí)重點(diǎn)和難點(diǎn)單片機(jī)的結(jié)構(gòu)特點(diǎn)。存儲器配置與空間的分布。程序狀態(tài)寄存器(PSW)。單片機(jī)的指令時序。64第2章80C51的結(jié)構(gòu)和原理教學(xué)目的了解單片機(jī)的內(nèi)部結(jié)第2章80C51的結(jié)構(gòu)和原理2.780C51的并行口結(jié)構(gòu)與操作2.180C51系列概述2.280C51的基本結(jié)構(gòu)及內(nèi)部結(jié)構(gòu)2.380C51典型產(chǎn)品資源配置與引腳封裝2.480C51的時鐘與時序2.680C51的存儲器組織2.580C51的復(fù)位65第2章80C51的結(jié)構(gòu)和原理2.780C51的并行口2.180C51系列概述2.1.1MCS-51系列(1)MCS-51是Intel公司生產(chǎn)的一個單片機(jī)系列名稱。(2)該系列生產(chǎn)工藝有兩種:型號中凡帶有字母“C”的即為CHMOS芯片HMOS工藝(高密度短溝道MOS工藝)。H:高速度和高密度;與TTL電平兼容CHMOS工藝(互補(bǔ)金屬氧化物的HMOS工藝)。C:低功耗;CHMOS與TTL和COMS電平都兼容80C51和MCS-51的關(guān)系8051是MCS-51系列單片機(jī)的典型品種。以8051為基核開發(fā)出的CHMOS工藝單片機(jī)產(chǎn)品統(tǒng)稱為80C51。8051的功耗為630mW,而80C51的功耗只有120mW。662.180C51系列概述2.1.1MCS-51系列((3)在功能上,該系列單片機(jī)有基本型和增強(qiáng)型兩大類:基本型:1增強(qiáng)型:2﹡80C51有4K字節(jié)的掩膜ROM;﹡87C51有4K字節(jié)的EPROM;﹡80C31在芯片內(nèi)無程序存儲器。(4)在片內(nèi)程序存儲器的配置上,該系列單片機(jī)有三種形式,即掩膜ROM、EPROM和ROMLess(無片內(nèi)程序存儲器)。如:67(3)在功能上,該系列單片機(jī)有基本型和增強(qiáng)型兩大類:基本型:2.1.280C51系列以8051為基核開發(fā)出的CMOS工藝單片機(jī)產(chǎn)品統(tǒng)稱為80C51系列。

﹡Intel的:80C31、80C51、87C51,80C32、80C52、87C52等;

﹡ATMEL的:89C51、89C52、89C2051等;682.1.280C51系列以8051為基核開發(fā)出2.280C51的基本結(jié)構(gòu)及內(nèi)部結(jié)構(gòu)2.2.180C51的基本結(jié)構(gòu)框圖692.280C51的基本結(jié)構(gòu)及內(nèi)部結(jié)構(gòu)2.2.180C8051單片機(jī)的結(jié)構(gòu)框圖如圖所示,可以看出,在一塊芯片上集成了一個微型計算機(jī)的主要部件,它包括以下幾部分:1個8位微處理器(CPU)。1個時鐘電路。4KB程序存儲器。256B數(shù)據(jù)存儲器。2個16位定時/計數(shù)器。64KB擴(kuò)展總線控制電路。4個8位并行I/O接口P0~P3。1個全雙工串行I/O接口。5個中斷源,其中包括2個優(yōu)先級嵌套中斷。

708051單片機(jī)的結(jié)構(gòu)框圖如圖所示,可以看出,在一塊芯片上集成2.2.280C51的內(nèi)部結(jié)構(gòu)712.2.280C51的內(nèi)部結(jié)構(gòu)8一、80C51微處理器(CPU)二、80C51片內(nèi)存儲器(ROM、RAM)三、80C51的I/O口及功能單元2.2.280C51的內(nèi)部結(jié)構(gòu)四、80C51特殊功能寄存器(SFR)72一、80C51微處理器(CPU)二、80C51片內(nèi)存儲器(R一、80C51微處理器(CPU)

CPU即中央處理器,是單片機(jī)的核心部件,是計算機(jī)的控制指揮中心。由運(yùn)算器和控制器兩部分組成。運(yùn)算器電路以算術(shù)邏輯單元(ALU,ArithmeticLogicUnit)為核心,由暫存器1、暫存器2、累加器(A,Accumulator)、寄存器B、程序狀態(tài)寄存器(PSW,ProgramStatusWord)及布爾處理機(jī)共同組成。它的主要任務(wù)是完成算術(shù)運(yùn)算、邏輯運(yùn)算、位運(yùn)算和數(shù)據(jù)傳送等操作,運(yùn)算結(jié)果的狀態(tài)由程序狀態(tài)寄存器(PSW)保存??刂破麟娐钒ǔ绦蛴嫈?shù)器(PC)、PC增1寄存器、指令寄存器(IR)、指令譯碼器(ID)、數(shù)據(jù)指針(DPTR)、堆棧指針(SP)、緩沖器及定時控制電路等??刂破麟娐吠瓿芍笓]控制工作,協(xié)調(diào)單片機(jī)各部分正常工作。73一、80C51微處理器(CPU)CPU即中央運(yùn)算器CPU算術(shù)/邏輯部件ALU(ArithmeticLogicUnit)累加器ACC

(Accumulator)程序狀態(tài)字寄存器PSW(ProgramStatusWord)暫存寄存器寄存器B控制器堆棧指針SP數(shù)據(jù)指針DPTR程序計數(shù)器PC指令寄存器IR指令譯碼器ID74運(yùn)算器CPU算術(shù)/邏輯部件ALU(ArithmeticLo二、80C51的片內(nèi)存儲器

80C51單片機(jī)與一般微機(jī)的存儲器配置方式很不相同。一般微機(jī)通常只有一個邏輯空間,可以隨意安排數(shù)據(jù)或程序。訪問存儲器時,同一地址對應(yīng)唯一的存儲單元,可以是ROM也可以是RAM,并用同類訪問指令。而MCS-51則不同:80C51在物理結(jié)構(gòu)上設(shè)計成程序存儲器與數(shù)據(jù)存儲器獨(dú)立分開的哈佛結(jié)構(gòu)。在芯片內(nèi)部有:程序存儲器4KB(ROM0000H~0FFFH);數(shù)據(jù)存儲器128B(RAM00H~7FH);21字節(jié)的特殊功能寄存器(SFR);在芯片外還可以擴(kuò)展ROM、RAM最多可達(dá)到64KB。75二、80C51的片內(nèi)存儲器80C51單片機(jī)與一般微機(jī)的存儲三、80C51的I/O口及功能單元四個8位的并行口,即P0~P3。它們均為雙向口,既可作為輸入,又可作為輸出。每個口各有8條I/O線。

有一個全雙工的串行口(利用P3口的兩個引腳P3.0和P3.1);有2個16位的定時/計數(shù)器;有1套完善的中斷系統(tǒng)。

76三、80C51的I/O口及功能單元四個8位的并行口,即P0~四、80C51特殊功能寄存器(SFR)21個特殊功能寄存器單元,地址范圍是只用到了80H~FFH中的21個字節(jié)單元,且這些單元是離散分布的。77四、80C51特殊功能寄存器(SFR)21個特殊功能寄存器單2.380C51典型產(chǎn)品資源配置與引腳2.3.180C51典型產(chǎn)品資源配置782.380C51典型產(chǎn)品資源配置與引腳2.3.18﹡無ROM(即ROMLess)型,應(yīng)用時要在片外擴(kuò)展程序存儲器;﹡掩膜ROM(即MaskROM)型,用戶程序由芯片生產(chǎn)廠寫入;﹡EPROM型,用戶程序通過寫入裝置寫入,通過紫外線照射擦除;﹡FlashROM型,用戶程序可以電寫入或擦除(當(dāng)前常用方式)。還有OTPROM型(一次性編程寫入ROM)產(chǎn)品,具有較高的環(huán)境適應(yīng)性和可靠性。79﹡無ROM(即ROMLess)型,應(yīng)用時要在片外擴(kuò)展程序存儲2.3.280C51的引腳封裝總線型非總線型802.3.280C51的引腳封裝總線型非總線型178051的40個引腳可分為:電源引腳2根時鐘引腳2根控制引腳4根I/O引腳32根由于8051單片機(jī)是高性能的單片機(jī),同時受到引腳數(shù)目的限制,所以有部分引腳具有第二功能。

818051的40個引腳可分為:188051引腳的功能描述(一)

電源引腳(2根)

VCC(40腳):電源端,接+5V電源。VSS(20腳):接地端。時鐘引腳(2根)XTAL1(19腳):接外部晶振和微調(diào)電容的一端。采用外部時鐘電路時,對HMOS型工藝的單片機(jī),此引腳應(yīng)接地;對CHMOS型而言,此引腳應(yīng)接外部時鐘的輸入端。XTAL2(18腳):接外部晶振和微調(diào)電容的另一端。使用外部時鐘時,對HMOS型工藝的單片機(jī),此引腳應(yīng)接外部時鐘的輸入端;對CHMOS型而言,此引腳懸空。828051引腳的功能描述(一)電源引腳(2根)198051引腳的功能描述(二)控制引腳(4根)

RST/VPD(9腳):復(fù)位信號/備用電源輸入引腳。當(dāng)RST引腳保持兩個機(jī)器周期的高電平后,就可以使8051完成復(fù)位操作。該引腳的第二功能是VPD,即備用電源的輸入端,具有掉電保護(hù)功能。若在該引腳接+5V備用電源,在使用中若主電源VCC掉電,可保護(hù)片內(nèi)RAM中的信息不丟失。ALE/PROG(30腳):地址鎖存允許信號輸出/編程脈沖輸入引腳。當(dāng)CPU訪問片外存儲器時,ALE輸出信號控制鎖存P0口輸出的低8位地址,從而實(shí)現(xiàn)P0口數(shù)據(jù)與低位地址的分時復(fù)用。當(dāng)8051上電正常工作后,自動在ALE端輸出頻率為fosc/6的脈沖序列(fosc代表振蕩器的頻率)。該引腳的第二功能PROG是對8751內(nèi)部4KBEPROM編程寫入時,作為編程脈沖的輸入端838051引腳的功能描述(二)控制引腳(4根)20

EA/VPP(31腳):外部程序存儲器地址允許輸入端/編程電壓輸入端。當(dāng)EA接高電平時,CPU執(zhí)行片內(nèi)ROM指令,但當(dāng)PC值超過0FFFH時,將自動轉(zhuǎn)去執(zhí)行片外ROM指令;當(dāng)EA接低電平時,CPU只執(zhí)行片外ROM指令。對于8031,由于其無片內(nèi)ROM,故其EA必須接低電平。該引腳的第二功能VPP是對8751片內(nèi)EPROM編程寫入時,作為21V編程電壓的輸入端。PSEN(29腳):片外ROM讀選通信號端。在讀片外ROM時,PSEN有效,為低電平,以實(shí)現(xiàn)對片外ROM的讀操作。

控制引腳(4根)84EA/VPP(31腳):外部程序存儲器地址允許輸入端/編程8051引腳的功能描述(三)I/O引腳(4×8=32根)

P0.0~P0.7(39~32腳):P0口的8位雙向I/O口線。P0口即可作地址/數(shù)據(jù)總線使用,又可作通用的I/O口使用。當(dāng)CPU訪問片外存儲器時,P0口分時先作低8位地址總線,后作雙向數(shù)據(jù)總線,此時,P0口就不能再作I/O口使用了。P1.0~P1.7(1~8腳):P1口的8位準(zhǔn)雙向I/O口線。

P1口作為通用的I/O口使用。P2.0~P2.7(21~28腳):P2口的8位準(zhǔn)雙向I/O口線。

P2口即可作為通用的I/O口使用,也可作為片外存儲器的高8位地址總線,與P0口配合,組成16位片外存儲器單元地址。P3.0~P3.7(10~17腳):P3口的8位準(zhǔn)雙向I/O口線。

P3口除了作為通用的I/O口使用之外,每個引腳還具有第二功能。

858051引腳的功能描述(三)I/O引腳(4×8=32根)2.480C51的時鐘與時序一、80C51的時鐘產(chǎn)生方式內(nèi)部時鐘

外部時鐘時鐘:用來為單片機(jī)芯片內(nèi)部各種微操作提供時間基準(zhǔn)時序:微操作的時間次序862.480C51的時鐘與時序一、80C51的時鐘產(chǎn)生方式在8051單片機(jī)內(nèi)部有一個高增益的反相放大器,用于構(gòu)成振蕩器,反相放大器的輸入端為XTAL1,輸出端為XTAL2。內(nèi)部振蕩方式是在XTAL1和XTAL2引腳兩端跨接石英晶體振蕩器和兩個電容構(gòu)成穩(wěn)定的自激振蕩電路。電容C1和C2通常取30pF,對振蕩頻率有微調(diào)作用。晶振頻率范圍是1.2MHz~12MHz。1.內(nèi)部振蕩方式871.內(nèi)部振蕩方式242.外部時鐘方式外部時鐘方式是把外部已有的時鐘信號引入到單片機(jī)內(nèi)。8051:外部時鐘由XTAL2輸入,直接送入內(nèi)部時鐘電路,XTAL1接地;80C51:外部時鐘由XTAL1輸入,XTAL2懸空。外部時鐘信號為高電平持續(xù)時間要大于20ns,且頻率低于12MHz的方波。

882.外部時鐘方式外部時鐘方式是把外部已有的時鐘信號引入到單二、80C51的時鐘信號一個機(jī)器周期包含12個晶蕩周期或6個時鐘周期

指令的執(zhí)行時間稱作指令周期(單、雙、四周期)89二、80C51的時鐘信號一個機(jī)器周期包含12個晶蕩周期或6個3.機(jī)器周期:一個機(jī)器周期包括12個振蕩周期。4.指令周期:執(zhí)行一條指令的時間,1~4個機(jī)器周期。1.振蕩周期:振蕩源周期。2.狀態(tài)周期:又叫時鐘周期,振蕩周期2分頻,P1、

P2節(jié)拍。903.機(jī)器周期:一個機(jī)器周期包括12個振蕩周期。1.振蕩周期典型指令的取指、執(zhí)行時序

振蕩周期為單片機(jī)提供定時信號的振蕩源的周期或外部輸入時鐘信號的周期時鐘周期

(或狀態(tài)周期S)是振蕩周期的兩倍,它分為P1節(jié)拍和P2節(jié)拍。一條指令的執(zhí)行過程分作幾個基本操作,完成一個基本操作所需的時間稱作機(jī)器周期。執(zhí)行一條指令所需的時間稱為指令周期。

91典型指令的取指、執(zhí)行時序振蕩周期為單片機(jī)提供定時信號的振蕩2.580C51的復(fù)位復(fù)位是單片機(jī)的初始化操作。復(fù)位功能是把PC初始化為0000H,使CPU從0000H單元開始執(zhí)行程序;復(fù)位操作同時還對其他一些寄存器有影響,但內(nèi)部RAM的數(shù)據(jù)是不變的。除了進(jìn)入系統(tǒng)的正常初始化之外,當(dāng)由于程序運(yùn)行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,為擺脫困境,也需要按復(fù)位鍵重新啟動。2.5.1復(fù)位功能922.580C51的復(fù)位復(fù)位是單片機(jī)的初始化操作。2.5.1單片機(jī)的復(fù)位引腳RST出現(xiàn)2個機(jī)器周期以上的高電平時,單片機(jī)就執(zhí)行復(fù)位操作。常見的復(fù)位操作有上電自動復(fù)位和按鍵手動復(fù)位兩種方式。上電自動復(fù)位是通過外部復(fù)位電路的電容充電來實(shí)現(xiàn)的。按鍵手動復(fù)位是通過復(fù)位端經(jīng)電阻與電源VCC接通而實(shí)現(xiàn)的,它兼?zhèn)渖想姀?fù)位功能。

(a)上電自動復(fù)位(b)按鍵手動復(fù)位

2.5.2復(fù)位電路93單片機(jī)的復(fù)位引腳RST出現(xiàn)2個機(jī)器周期以上的高電平時,單片機(jī)PC=0000H,所以程序從0000H地址單元開始執(zhí)行;啟動后,片內(nèi)RAM為隨機(jī)值,運(yùn)行中的復(fù)位操作不改變片內(nèi)RAM的內(nèi)容;特殊功能寄存器復(fù)位后的狀態(tài)是確定的:P0~P3=FFH,各口可用于輸出,也可用于輸入;SP=07H,第一個入棧內(nèi)容將寫入08H單元;IP、IE和PCON的有效位為0,各中斷源處于低優(yōu)先級且均被關(guān)斷、串行通訊的波特率不加倍;PSW=00H,當(dāng)前工作寄存器為0組。2.5.3復(fù)位狀態(tài)94PC=0000H,所以程序從0000H地址單元開始執(zhí)行;特殊2.680C51的存儲器組織﹡RAM,在關(guān)閉電源時,其所存儲的信息將丟失。它用來存放暫時性的輸入輸出數(shù)據(jù)、運(yùn)算的中間結(jié)果或用作堆棧。﹡ROM,斷電后,ROM中的信息保留不變。用來存放固定的程序或數(shù)據(jù),如系統(tǒng)監(jiān)控程序、常數(shù)表格等。

952.680C51的存儲器組織﹡RAM,在關(guān)閉電源時,2.6.180C51的程序存儲器ROM程序存儲器ROM用來存放程序、常數(shù)或表格等。

80C51:4KB的掩膜ROM,87C51:4KB的EPROM,80C31:沒有ROM(使用時必須使EA接低電平)。

PC是16位的計數(shù)器,所以能尋址64KB的ROM。實(shí)例觀察962.6.180C51的程序存儲器ROM程序存儲器ROM用來2.6.280C51的數(shù)據(jù)存儲器配置

片內(nèi)片外0000H~007FH重疊區(qū)域訪問需要采用不同的尋址方式片外RAM不能進(jìn)行堆棧操作972.6.280C51的數(shù)據(jù)存儲器配置片內(nèi)片外0000H數(shù)據(jù)存儲器RAM主要用來存放運(yùn)算的中間結(jié)果和數(shù)據(jù)等。在80C51中,其存儲空間分布如下:片內(nèi)RAM為128B存儲單元,地址范圍為00H~7FH。片外RAM最多可擴(kuò)至64KB存儲單元,地址范圍為0000H~FFFFH。98數(shù)據(jù)存儲器RAM主要用來存放運(yùn)算的中間結(jié)果和數(shù)據(jù)等。35一、工作寄存器區(qū)通用RAM區(qū)

(80B)位地址區(qū)

(16B)寄存器區(qū)4組(32B)7FH寄存器3組寄存器2組寄存器1組寄存器0組寄存器區(qū)4組(32B).........①由PSW中的2位RS1、RS0來決定選哪一組為當(dāng)前工作寄存器:

RS1、RS0=00選0組

RS1、RS0=01選1組

RS1、RS0=10選2組

RS1、RS0=11選3組00H30H2FH20H1FH...99一、工作寄存器區(qū)通用RAM區(qū)位地址區(qū)寄存器區(qū)7FH寄存器3組通用RAM區(qū)

(80B)位地址區(qū)

(16B)7FH寄存器3組寄存器2組寄存器1組寄存器0組寄存器0組寄存器區(qū)4組(32B).........RS1、RS0=00R7R6R5R4R3R2R1R000H01H02H03H04H05H06H07H00H30H2FH20H1FH...100通用RAM區(qū)位地址區(qū)7FH寄存器3組寄存器0組寄存器區(qū).RS通用RAM區(qū)

(80B)位地址區(qū)

(16B)7FH寄存器3組寄存器2組寄存器1組寄存器0組寄存器1組R7R6R5R4R3R2R1R008H09H0AH0BH0CH0DH0EH0FH寄存器區(qū)4組(32B).........RS1、RS0=0100H30H2FH20H1FH...101通用RAM區(qū)位地址區(qū)7FH寄存器3組寄存器1組R708H09通用RAM區(qū)

(80B)位地址區(qū)

(16B)7FH寄存器3組寄存器2組寄存器1組寄存器0組寄存器2組R7R6R5R4R3R2R1R010H11H12H13H14H15H16H17H寄存器區(qū)4組(32B).........RS1、RS0=1000H30H2FH20H1FH...102通用RAM區(qū)位地址區(qū)7FH寄存器3組寄存器2組R710H11通用RAM區(qū)

(80B)位地址區(qū)

(16B)7FH寄存器3組寄存器2組寄存器1組寄存器0組寄存器3組R7R6R5R4R3R2R1R018H19H1AH1BH1CH1DH1EH1FH寄存器區(qū)4組(32B).........RS1、RS0=1100H30H2FH20H1FH...103通用RAM區(qū)位地址區(qū)7FH寄存器3組寄存器3組R718H19104通用RAM區(qū)

(80B)位地址區(qū)

(16B)7FH寄存器3組寄存器2組寄存器1組寄存器0組位地址區(qū)20H21H22H23H24H25H26H27H28H29H2AH2BH2CH2DH2EH2FH00H01H02H03H04H05H06H07H08H0FH10H7FH78H70H68H60H58H50H48H40H38H30H28H20H77H6FH67H18H5FH57H4FH47H3FH37H2FH27H1FH17H........................D7D6D5D4D3D2D1D0.........00H30H2FH20H1FH...二、位尋址區(qū)(20H~2FH)10441通用RAM區(qū)位地址區(qū)7FH寄存器3組位地址區(qū)20H21H通用RAM區(qū)

(80B)位地址區(qū)

(16B)00H30H2FH20H1FH7FH寄存器3組寄存器2組寄存器1組寄存器0組通用RAM區(qū)............共80個字節(jié),作為一般的數(shù)據(jù)緩沖區(qū)并可設(shè)置堆棧區(qū),棧頂?shù)奈恢糜蒘P寄存器指示。復(fù)位時SP的初值為07H,在系統(tǒng)初始化時可以重新設(shè)置。三、通用RAM區(qū)實(shí)例觀察105通用RAM區(qū)位地址區(qū)00H30H7FH寄存器3組通用RAM區(qū)2.6.380C51的特殊功能寄存器一、與運(yùn)算器相關(guān)的寄存器(3個)二、指針類寄存器(3個)三、與口相關(guān)的寄存器(7個)四、與中斷相關(guān)的寄存器(2個)五、與定時器/計數(shù)器相關(guān)的寄存器(6個)1062.6.380C51的特殊功能寄存器一、與運(yùn)算器相關(guān)的寄存ARegister(Accumulator):累加器,通常用A或ACC表示??勺止?jié)尋址(E0H),也可位尋址(E0H~E7H)

它是一個寄存器,而不是一個做加法的部件。在運(yùn)算器做運(yùn)算時其中一個數(shù)一定是在ACC中。BRegister:暫存寄存器。暫存寄存器。在做乘、除法時放乘數(shù)或除數(shù)及結(jié)果。PSW(ProgramStatusWord):

PSW是8位寄存器,用于作為程序運(yùn)行狀態(tài)的標(biāo)志。這是一個很重要的部件,里面存放了CPU工作時的很多狀態(tài),借此,我們可以了解CPU的當(dāng)前狀態(tài),并作出相應(yīng)的處理。一、與運(yùn)算器相關(guān)的寄存器(3個)107ARegister(Accumulator):一、與運(yùn)算

當(dāng)CPU進(jìn)行各種邏輯操作或算術(shù)運(yùn)算時,為反映操作或運(yùn)算結(jié)果的狀態(tài),把相應(yīng)的標(biāo)志位置1或清0。這些標(biāo)志的狀態(tài),可由專門的指令來測試,也可通過指令來讀出。它為計算機(jī)確定程序的下一步進(jìn)行方向提供依據(jù)。PSW寄存器中各位的名稱、位置及各標(biāo)志位的作用說明如下:D7HD6HD5HD4HD3HD2HD1HD0HCYACF0RS1RS0OVPPSW位地址PSW108當(dāng)CPU進(jìn)行各種邏輯操作或算術(shù)運(yùn)算時,為反映操作或運(yùn)

CY:進(jìn)位標(biāo)志。

加減運(yùn)算時,保存最高位進(jìn)位、借位狀態(tài)。

AC:半進(jìn)位標(biāo)志。

例:78H+97H01111000+10010111100001111

D7HD6HD5HD4HD3HD2HD1H

D0H

CY

ACF0RS1RS0OVPPSW位地址有進(jìn)位CY=1沒有半進(jìn)位AY=0109CY:進(jìn)位標(biāo)志。D7HD6HD5HD4HD3HD2HD1H

RS1、RS0:工作寄存器組選擇位。

00選擇工作寄存器0組

01選擇工作寄存器1組

10選擇工作寄存器2組

11選擇工作寄存器3組

P:奇偶校驗(yàn)位,它用來表示累加器A內(nèi)容中二進(jìn)制數(shù)位“1”的個數(shù)的奇偶性。若為奇數(shù),則P=1,否則為0。例:某運(yùn)算結(jié)果是78H(01111000),P=0。D7HD6HD5HD4HD3HD2HD1H

D0HCY

ACF0

RS1

RS0OV

PPSW位地址110RS1、RS0:工作寄存器組選擇位。D7HD6HD5HD4F0:用戶標(biāo)志位。作為軟件標(biāo)志,由編程人員決定何時使用。OV:溢出標(biāo)志位。有符號數(shù)運(yùn)算時,如果發(fā)生溢出,OV置“1”,否則清“0”。D7HD6HD5HD4HD3HD2HD1H

D0HCY

AC

F0RS1RS0

OVPPSW位地址111F0:用戶標(biāo)志位。作為軟件標(biāo)志,由編程人員決定D7HD6HDSP(StackPointer):

堆棧指針,8位寄存器,用來指定堆棧的棧頂位置,初值為07H。它是加1計數(shù)。堆棧操作遵循“后進(jìn)先出”的原則入棧操作時:SP先加1,數(shù)據(jù)再壓入SP指向的單元。出棧操作時:先將SP指向的單元的數(shù)據(jù)彈出,SP再減1,這時

溫馨提示

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

評論

0/150

提交評論