




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第二章第二章 MCS-51單片機(jī)的內(nèi)部結(jié)構(gòu)及單片機(jī)的內(nèi)部結(jié)構(gòu)及工作原理工作原理lMCS-51單片機(jī)的基本結(jié)構(gòu)及工作原理單片機(jī)的基本結(jié)構(gòu)及工作原理u 2-1u 2-2u 2-3l主要內(nèi)容主要內(nèi)容的的內(nèi)部結(jié)構(gòu)、存儲(chǔ)器結(jié)構(gòu)、內(nèi)部結(jié)構(gòu)、存儲(chǔ)器結(jié)構(gòu)、工作原理、引腳功能、工作方式、時(shí)序和最小工作原理、引腳功能、工作方式、時(shí)序和最小應(yīng)用系統(tǒng)應(yīng)用系統(tǒng)l本章要點(diǎn):本章要點(diǎn):l掌握掌握 uMCS-51單片機(jī)的單片機(jī)的內(nèi)部結(jié)構(gòu)內(nèi)部結(jié)構(gòu)、存儲(chǔ)器結(jié)構(gòu)存儲(chǔ)器結(jié)構(gòu) 、PSW特殊功能寄存器的使用特殊功能寄存器的使用、引腳功能、最小引腳功能、最小應(yīng)用系統(tǒng)的設(shè)計(jì)應(yīng)用系統(tǒng)的設(shè)計(jì);l了解了解u工作時(shí)序及工作方式。工作時(shí)序及工作方式。
2、 第一節(jié)第一節(jié) 內(nèi)部結(jié)構(gòu)和引腳功能內(nèi)部結(jié)構(gòu)和引腳功能l教學(xué)內(nèi)容:教學(xué)內(nèi)容:MCS-MCS-5151系列單片機(jī)配置一覽表系列單片機(jī)配置一覽表系列片內(nèi)存儲(chǔ)器(字節(jié))定時(shí)器計(jì)數(shù)器并行I/O串行I/O中斷源片內(nèi)ROM片內(nèi)RAM無有ROM有EPROMIntelMCS-51子系列803180C31805180C51(4K字節(jié))875187C51(4K字節(jié))128字節(jié)2x164x8位15IntelMCS-52子系列803280C32805280C52(8K字節(jié))875287C52(8K字節(jié))256字節(jié)3x164x8位16ATEMLATEML89C89C系列系列( (常用型常用型) )10511051(1(1
3、K)K)/ / 20512051(2K)(2K)/ / 40514051(4K)(4K)(2020條引腳條引腳DIPDIP封裝)封裝)1281282 215151 15 58989C51C51(4K)(4K)/ / 89C5289C52(8K)(8K)(4040條引腳條引腳DIPDIP封裝)封裝)128/128/2562562/32/332321 15/65/6一、一、MCS-51內(nèi)部結(jié)構(gòu)內(nèi)部結(jié)構(gòu)ROM 4KB時(shí)鐘電路RAM 128計(jì)數(shù)器/定時(shí)器8051CPU控制邏輯可編程I/O口可編程全雙工串行口圖圖2-1 8051的功能部件圖的功能部件圖二二 、 CPUl主要功能:主要功能:產(chǎn)生各種控制信
4、號(hào),去控制存儲(chǔ)產(chǎn)生各種控制信號(hào),去控制存儲(chǔ)器、輸入輸出端口的數(shù)據(jù)傳送、數(shù)據(jù)的算器、輸入輸出端口的數(shù)據(jù)傳送、數(shù)據(jù)的算術(shù)運(yùn)算、邏輯運(yùn)算以及位操作處理等。術(shù)運(yùn)算、邏輯運(yùn)算以及位操作處理等。 (一)運(yùn)算器(一)運(yùn)算器 組成:組成:運(yùn)算器由算術(shù)邏運(yùn)算部件運(yùn)算器由算術(shù)邏運(yùn)算部件ALU、累加累加器器Acc、暫存器、程序狀態(tài)字寄存器暫存器、程序狀態(tài)字寄存器PSW、BCD碼運(yùn)算調(diào)整電路等組成碼運(yùn)算調(diào)整電路等組成 。對(duì)數(shù)據(jù)完成對(duì)數(shù)據(jù)完成算術(shù)運(yùn)算算術(shù)運(yùn)算,邏輯運(yùn)算邏輯運(yùn)算、循環(huán)移位循環(huán)移位、位處理位處理。(二)控制器(二)控制器組成:組成:由程序計(jì)數(shù)器由程序計(jì)數(shù)器PC、指令寄存器、指令指令寄存器、指令譯碼器、定時(shí)控
5、制與條件轉(zhuǎn)移邏輯電路等組成。譯碼器、定時(shí)控制與條件轉(zhuǎn)移邏輯電路等組成。功能:功能:對(duì)來自存儲(chǔ)器中的對(duì)來自存儲(chǔ)器中的指令進(jìn)行譯碼指令進(jìn)行譯碼,通,通過定時(shí)控制電路,過定時(shí)控制電路,在規(guī)定的時(shí)刻發(fā)出各種操作在規(guī)定的時(shí)刻發(fā)出各種操作所需的全部內(nèi)部和外部控制信號(hào)所需的全部內(nèi)部和外部控制信號(hào),協(xié)調(diào)各功能,協(xié)調(diào)各功能元件的工作,完成指令所規(guī)定的功能。元件的工作,完成指令所規(guī)定的功能。 特點(diǎn):特點(diǎn):它是它是1616位位的按機(jī)器周期的按機(jī)器周期自動(dòng)加自動(dòng)加1 1計(jì)數(shù)器計(jì)數(shù)器一切一切分支分支/ /跳轉(zhuǎn)跳轉(zhuǎn)/ /調(diào)用調(diào)用/ /中斷中斷/ /復(fù)位復(fù)位 等操作等操作的的本質(zhì)本質(zhì)就是就是: :改變改變 PC PC 值值
6、總指向下一條指令所在首地址總指向下一條指令所在首地址( (當(dāng)前當(dāng)前PCPC值值) ) 1程序計(jì)數(shù)器程序計(jì)數(shù)器PC(Program Counter) 一個(gè)一個(gè)16位的專用寄存器,用來存放下一位的專用寄存器,用來存放下一條指令的地址。它具有條指令的地址。它具有自動(dòng)加自動(dòng)加1的功能。的功能。 l2指令寄存器指令寄存器 一個(gè)一個(gè)8位的寄存器,用于暫存待執(zhí)行的指位的寄存器,用于暫存待執(zhí)行的指令,等待譯碼。令,等待譯碼。l3指令譯碼器指令譯碼器 對(duì)指令寄存器中的指令進(jìn)行譯碼,分析它對(duì)指令寄存器中的指令進(jìn)行譯碼,分析它的功能,并根據(jù)功能產(chǎn)生相應(yīng)的電信號(hào)。的功能,并根據(jù)功能產(chǎn)生相應(yīng)的電信號(hào)。4 4. 定時(shí)控制
7、部件與時(shí)序定時(shí)控制部件與時(shí)序 功能:功能:在規(guī)定的時(shí)刻發(fā)出各種操作所需的全部在規(guī)定的時(shí)刻發(fā)出各種操作所需的全部內(nèi)部和外部的控制信號(hào),協(xié)調(diào)各功能元件工作,內(nèi)部和外部的控制信號(hào),協(xié)調(diào)各功能元件工作,完成指令所規(guī)定的功能。完成指令所規(guī)定的功能。主要任務(wù):主要任務(wù):產(chǎn)生一個(gè)工作時(shí)序,其工作需要時(shí)產(chǎn)生一個(gè)工作時(shí)序,其工作需要時(shí)鐘電路提供一個(gè)工作頻率。鐘電路提供一個(gè)工作頻率。 三、三、MCS-51單片機(jī)的引腳及其功能單片機(jī)的引腳及其功能AT89S52MCS-51MCS-51單片機(jī)單片機(jī)4040腳腳Vcc, GND Vcc, GND 2 2XTAL1, XTAL2 XTAL1, XTAL2 2 2RESET
8、 RESET 1 1EAEA/Vpp /Vpp 1 1ALE/ALE/PROG PROG 1 1PSENPSEN 1 1P0.0P0.0P0.7P0.7 8 8 P1.0P1.0P1.7 P1.7 8 8 P2.0P2.0P2.7 P2.7 8 8 P3.0P3.0P3.7 P3.7 8 8l(1)Vcc(40腳)腳), GND(20腳)腳) u正電源端與接地端正電源端與接地端u不同的單片機(jī)可以允許不同的工作電壓不同的單片機(jī)可以允許不同的工作電壓(+5V / 3.3V / 2.7V) ,不同的單片機(jī)表現(xiàn),不同的單片機(jī)表現(xiàn)出的功耗也不同。出的功耗也不同。l(2)XTAL1(19腳)腳), XTA
9、L2(18腳)腳)u 片內(nèi)振蕩電路輸入片內(nèi)振蕩電路輸入/輸出端輸出端對(duì)對(duì)A AT89S51/S52T89S51/S52單片機(jī),通常外接一個(gè)晶振兩個(gè)單片機(jī),通常外接一個(gè)晶振兩個(gè)2020或或30p30pF F電容,一個(gè)電容,一個(gè)12M12M或或11.0592MHz11.0592MHz的晶振的晶振l(3)RST/VPD(9腳腳)、ALE/PROG (30腳腳) 、 EA/Vpp (31腳腳) PSEN (29腳腳)控制信號(hào)引腳??刂菩盘?hào)引腳。lRST/VPD:復(fù)位(正脈沖有效復(fù)位(正脈沖有效)/備用電源引腳備用電源引腳u復(fù)位使單片機(jī)進(jìn)入某種確定的復(fù)位使單片機(jī)進(jìn)入某種確定的初始狀態(tài)初始狀態(tài) u退出處于
10、節(jié)電工作方式的停頓狀態(tài)、退出一退出處于節(jié)電工作方式的停頓狀態(tài)、退出一切程序進(jìn)程、退出程序的死循環(huán),切程序進(jìn)程、退出程序的死循環(huán),從頭開始從頭開始。uVcc掉電期間,此引腳可接備用電源,能保掉電期間,此引腳可接備用電源,能保護(hù)片內(nèi)護(hù)片內(nèi)RAM中的內(nèi)容不丟失。中的內(nèi)容不丟失。RST2個(gè)機(jī)器周期個(gè)機(jī)器周期高電平高電平lMCS-51單片機(jī)通常采用的簡單復(fù)位電路有:單片機(jī)通常采用的簡單復(fù)位電路有:上電自動(dòng)復(fù)位上電自動(dòng)復(fù)位、外部脈沖復(fù)位、上電外部脈沖復(fù)位、上電+按鈕按鈕電平復(fù)位電平復(fù)位、程序運(yùn)行監(jiān)視復(fù)位程序運(yùn)行監(jiān)視復(fù)位等方式。等方式。簡單復(fù)位電路簡單復(fù)位電路+5V10uF10kVccRSTGND上電復(fù)位上
11、電復(fù)位10uF10kVccRSTGND上電上電+按鈕復(fù)位按鈕復(fù)位1k+5Vl程序運(yùn)行監(jiān)視復(fù)位程序運(yùn)行監(jiān)視復(fù)位WDT看門狗看門狗l“看門狗看門狗”工作原理:工作原理:喂狗喂狗否則否則“看門狗看門狗”電路將電路將復(fù)位單片機(jī)。復(fù)位單片機(jī)。l實(shí)現(xiàn):實(shí)現(xiàn):lWDT通常有幾種實(shí)現(xiàn)方法供用戶選擇:通常有幾種實(shí)現(xiàn)方法供用戶選擇:l1)單片機(jī)內(nèi)部帶有的單片機(jī)內(nèi)部帶有的WDT功能功能單元單元(如:(如:S51)l2 )選擇選擇P (microprocessor)監(jiān)視控制監(jiān)視控制器件,這些器件中大多有器件,這些器件中大多有WDT電路,如電路,如Max705芯片等。芯片等。P 監(jiān)視控制器件監(jiān)視控制器件lMAX705/
12、706、 DS1232等等微機(jī)監(jiān)控電路芯片微機(jī)監(jiān)控電路芯片l主要功能:主要功能:TD 引腳連接至引腳連接至定時(shí)時(shí)間定時(shí)時(shí)間看門狗定時(shí)器定時(shí)時(shí)間設(shè)置看門狗定時(shí)器定時(shí)時(shí)間設(shè)置Tol:電源檢測選擇端:電源檢測選擇端Tol接地接地,電源電壓跌至,電源電壓跌至4.75V以下產(chǎn)生復(fù)位信號(hào)以下產(chǎn)生復(fù)位信號(hào)Tol接接VCC,電源電壓跌至,電源電壓跌至4.5V以下產(chǎn)生復(fù)位信號(hào)以下產(chǎn)生復(fù)位信號(hào)注意注意:保證看門狗定時(shí)器計(jì)數(shù)溢出前復(fù)位看:保證看門狗定時(shí)器計(jì)數(shù)溢出前復(fù)位看門狗定時(shí)器定時(shí)時(shí)間門狗定時(shí)器定時(shí)時(shí)間89S51看門狗功能的使用方法看門狗功能的使用方法WDTRST寄存器寄存器SFR地址為地址為0A6H#01EH#
13、0E1Hl AJMP MAINl ;啟動(dòng)看門狗啟動(dòng)看門狗lMAIN: MOV 0A6H, #01EH ; 先送先送1E MOV0A6H, #0E1H ; 后送后送E1l ;主程序主程序 START: .l ACALL WDT ; 調(diào)用復(fù)位看門狗子程序調(diào)用復(fù)位看門狗子程序 . AJMP START ; 主程序主程序*l ;復(fù)位看門狗子程序復(fù)位看門狗子程序lWDT: MOV 0A6H, #01EH ; 先送先送1E MOV 0A6H, #0E1H ; 后送后送E1RET END注意事項(xiàng):注意事項(xiàng):必須保證必須保證CPUCPU有可靠的上電復(fù)位有可靠的上電復(fù)位當(dāng)晶振為當(dāng)晶振為12M12M時(shí)每時(shí)每161
14、6個(gè)毫秒需喂狗一次。個(gè)毫秒需喂狗一次。 lALE/PROGALE/PROG(下降沿有效下降沿有效)(3030腳)腳): : 地址鎖存允許地址鎖存允許/ /編程脈沖輸入端。編程脈沖輸入端。 u P0P0口尋址外部低口尋址外部低8 8位地址時(shí)接位地址時(shí)接外部鎖存器外部鎖存器74ls37374ls373的的G G端;端;u ALEALE端端平時(shí)會(huì)輸出周期正脈沖平時(shí)會(huì)輸出周期正脈沖: f f foscfosc/6/6 ;u 對(duì)片內(nèi)對(duì)片內(nèi)ROMROM編程時(shí)編程脈沖由此端加入。編程時(shí)編程脈沖由此端加入。 (指并行編程模式)(指并行編程模式) lEA/Vpp(31腳)腳): 尋址外部尋址外部ROM控制端控制
15、端 / 編編程電源輸入端。程電源輸入端。u低電平有效低電平有效,u片內(nèi)片內(nèi)無無ROM時(shí)時(shí)必須必須接地接地;u片內(nèi)片內(nèi)有有ROM時(shí)時(shí)可以可以接高電平接高電平 ,也可以,也可以接低電平接低電平;u接低電平時(shí),只訪問片外接低電平時(shí),只訪問片外ROM,接高電平時(shí),訪問片內(nèi),接高電平時(shí),訪問片內(nèi)ROM,超范圍時(shí),訪問片外,超范圍時(shí),訪問片外ROMu對(duì)對(duì)S51/S52單片機(jī),若不擴(kuò)展單片機(jī),若不擴(kuò)展ROM,/EA要接要接+5Vl 對(duì)片內(nèi)對(duì)片內(nèi)ROM編程時(shí)編程正電源加到此端。編程時(shí)編程正電源加到此端。 (指并行編程模式)(指并行編程模式)PSENPSEN(2929腳):腳):尋址外部程序存儲(chǔ)器時(shí)選通外部尋址
16、外部程序存儲(chǔ)器時(shí)選通外部EPROMEPROM的的讀控讀控制端制端(OEOE),低電平有效。低電平有效。單片機(jī)單片機(jī)鎖存器鎖存器74LS373P0.0-P0.7ALEPSENP2.0-P2.48D8QOEA8-A12A0-A7D0-D7GEAOECEEPROM無固定上拉電阻,無固定上拉電阻,有兩個(gè)有兩個(gè)MOSMOS管串接。管串接。有固定的上拉電阻。有固定的上拉電阻。無高阻無高阻“浮空浮空”狀狀態(tài)。態(tài)。注意:注意:準(zhǔn)雙向口與雙向口的差別準(zhǔn)雙向口與雙向口的差別。準(zhǔn)雙向口僅有兩。準(zhǔn)雙向口僅有兩個(gè)狀態(tài)。而個(gè)狀態(tài)。而P0P0口作為總線使用,口線內(nèi)無上拉電阻,口作為總線使用,口線內(nèi)無上拉電阻,處于高阻處于高
17、阻“懸浮懸浮”態(tài)。故態(tài)。故P0P0口為雙向三態(tài)口為雙向三態(tài)I/OI/O口。口。為什么為什么P0P0口要有高阻口要有高阻“懸浮懸浮”態(tài)?態(tài)?準(zhǔn)雙向準(zhǔn)雙向I/OI/O口則無高阻的口則無高阻的“懸浮懸浮”狀態(tài)。狀態(tài)。另外,另外,準(zhǔn)雙向口準(zhǔn)雙向口作通用作通用I/OI/O的輸入口使用時(shí),的輸入口使用時(shí),一定一定要向該口先寫入要向該口先寫入“1 1”。P3第二功能:第二功能: 串行口:串行口: P3.0:RXD 串行輸入口。串行輸入口。 P3.1:TXD 串行輸出口。串行輸出口。 中斷:中斷: P3.2:INT0 外部中斷外部中斷0輸入。輸入。 P3.3:INT1外部中斷外部中斷1輸入。輸入。 定時(shí)器計(jì)數(shù)
18、器:定時(shí)器計(jì)數(shù)器: P3.4:T0 的外部輸入。的外部輸入。 P3.5:T1的外部輸入。的外部輸入。 數(shù)據(jù)存儲(chǔ)器選通:數(shù)據(jù)存儲(chǔ)器選通: P3.6:WR ,片外數(shù)據(jù)存儲(chǔ)器或,片外數(shù)據(jù)存儲(chǔ)器或I/O端口寫選通。端口寫選通。 P3.7: RD ,片外數(shù)據(jù)存儲(chǔ)器或,片外數(shù)據(jù)存儲(chǔ)器或I/O端口讀選通。端口讀選通。小結(jié)小結(jié)單片機(jī)的引腳u電源引腳:Vcc(40)、 GND(20)uXTAL1(19)、 XTAL2(18) u控制引腳:控制引腳: RST/VPD(9)、ALE/PROG (30) 、 EA/Vpp (31) PSEN (29)u輸入輸出引腳:輸入輸出引腳:P0、P1、P2、P3l2、常用的復(fù)位
19、電路、控制引腳的功能80518051在物理結(jié)構(gòu)上有在物理結(jié)構(gòu)上有 4 4個(gè)存儲(chǔ)空間:個(gè)存儲(chǔ)空間: 片內(nèi)程序存儲(chǔ)器片內(nèi)程序存儲(chǔ)器 片外程序存儲(chǔ)器片外程序存儲(chǔ)器 片內(nèi)數(shù)據(jù)存儲(chǔ)器片內(nèi)數(shù)據(jù)存儲(chǔ)器 片外數(shù)據(jù)存儲(chǔ)器片外數(shù)據(jù)存儲(chǔ)器 8051在邏輯結(jié)構(gòu)(用戶角度)在邏輯結(jié)構(gòu)(用戶角度)有有5個(gè)存儲(chǔ)空間:個(gè)存儲(chǔ)空間: 特殊功能寄存器特殊功能寄存器 片內(nèi)程序存儲(chǔ)器片內(nèi)程序存儲(chǔ)器 片外程序存儲(chǔ)器片外程序存儲(chǔ)器 片內(nèi)數(shù)據(jù)存儲(chǔ)器片內(nèi)數(shù)據(jù)存儲(chǔ)器 片外數(shù)據(jù)存儲(chǔ)器片外數(shù)據(jù)存儲(chǔ)器 1、 地址的重疊性地址的重疊性 存在存在3 3處處重疊性,但是盡管有這些重疊,卻不重疊性,但是盡管有這些重疊,卻不會(huì)產(chǎn)生操作的混亂。這是因?yàn)闀?huì)產(chǎn)生操
20、作的混亂。這是因?yàn)镸CS-51MCS-51采用了不同的采用了不同的操作指令及操作指令及EAEA的控制選擇來自動(dòng)區(qū)分這些重疊的空的控制選擇來自動(dòng)區(qū)分這些重疊的空間間(1 1)程序存儲(chǔ)器片內(nèi)和片外低程序存儲(chǔ)器片內(nèi)和片外低4KB4KB重疊重疊 EAEA接高電平接高電平, , 執(zhí)行片內(nèi)執(zhí)行片內(nèi)ROMROM中的程序,中的程序,PCPC0FFFH0FFFH,CPUCPU自動(dòng)訪問片外。自動(dòng)訪問片外。 EAEA接低電平,只執(zhí)行片外程序存儲(chǔ)器中的程序。接低電平,只執(zhí)行片外程序存儲(chǔ)器中的程序。 (2 2)程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器全部程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器全部64k64k重疊重疊。 訪問程序存儲(chǔ)器使用訪問程序存儲(chǔ)器使
21、用MOVCMOVC類指令。類指令。 訪問數(shù)據(jù)存儲(chǔ)器使用訪問數(shù)據(jù)存儲(chǔ)器使用MOVMOV和和MOVXMOVX類指令。類指令。 (3 3)數(shù)據(jù)存儲(chǔ)器片內(nèi)和片外低數(shù)據(jù)存儲(chǔ)器片內(nèi)和片外低128B128B重疊重疊 訪問片內(nèi)數(shù)據(jù)存儲(chǔ)器使用訪問片內(nèi)數(shù)據(jù)存儲(chǔ)器使用MOVMOV類指令。類指令。 訪問片外數(shù)據(jù)存儲(chǔ)器使用訪問片外數(shù)據(jù)存儲(chǔ)器使用MOVXMOVX類指令。類指令。2.2. 程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器在使用上的嚴(yán)格區(qū)分程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器在使用上的嚴(yán)格區(qū)分 程序存儲(chǔ)器存放指令及常數(shù)表格,其操作指令不程序存儲(chǔ)器存放指令及常數(shù)表格,其操作指令不分片內(nèi)與片外。分片內(nèi)與片外。 數(shù)據(jù)存儲(chǔ)器存放數(shù)據(jù),訪問片內(nèi)與片外的指令是
22、數(shù)據(jù)存儲(chǔ)器存放數(shù)據(jù),訪問片內(nèi)與片外的指令是不同的。不同的。3.3. 位地址共有位地址共有2 2個(gè)區(qū)域。個(gè)區(qū)域。一個(gè)為一個(gè)為20H-2FH20H-2FH單元中單元中128128位位, ,另一個(gè)為另一個(gè)為SFRSFR中被中被8 8整除的字節(jié)地址單元中的位整除的字節(jié)地址單元中的位. .4.4. 片外數(shù)據(jù)存儲(chǔ)區(qū)中,片外數(shù)據(jù)存儲(chǔ)區(qū)中,RAMRAM存儲(chǔ)單元存儲(chǔ)單元與與MCS-51MCS-51外擴(kuò)的外擴(kuò)的I/OI/O口口是是統(tǒng)一統(tǒng)一編址的。因此,應(yīng)用系統(tǒng)中所有外圍編址的。因此,應(yīng)用系統(tǒng)中所有外圍I/OI/O端口的地址均占用端口的地址均占用RAMRAM地址單元。地址單元。 2.4.1 2.4.1 程序存儲(chǔ)器程
23、序存儲(chǔ)器 存放存放應(yīng)用程序應(yīng)用程序和和表格表格之類的固定常數(shù)。之類的固定常數(shù)。分為片內(nèi)和片外兩部分,由分為片內(nèi)和片外兩部分,由EAEA引腳引腳上所上所接的電平確定。接的電平確定。程序存儲(chǔ)器中的程序存儲(chǔ)器中的0000H0000H地址是系統(tǒng)地址是系統(tǒng)程序程序的啟動(dòng)地址的啟動(dòng)地址 l ( (2)2)程序存儲(chǔ)器的某些單元被固定用于各中斷源程序存儲(chǔ)器的某些單元被固定用于各中斷源的中斷服務(wù)程序的中斷服務(wù)程序(ISR-Interrupt Service (ISR-Interrupt Service Routine)Routine)的入口地址。的入口地址。 1 1 工作寄存器區(qū)工作寄存器區(qū)用寄存器直接尋址的區(qū)
24、用寄存器直接尋址的區(qū)域。從域。從00H00H1FH1FH,共,共 3232個(gè)單元,是個(gè)單元,是 4 4個(gè)通用工個(gè)通用工作寄存器組(作寄存器組(表表2l2l),),每個(gè)組包含每個(gè)組包含 8 8個(gè)個(gè) 8 8位寄位寄存器,編號(hào)為存器,編號(hào)為 R0R0R7R7。表表21 工作寄存器組工作寄存器組表表2-3 內(nèi)部內(nèi)部RAM的可尋址位及位地址的可尋址位及位地址3 通用通用RAM30H7FH 按字節(jié)訪問按字節(jié)訪問表表2-4 SFR中的位地址分布中的位地址分布3 3 特殊功能寄存器(特殊功能寄存器(Special Function Special Function Registers Registers 簡稱
25、簡稱SFRSFR) 1.1.在在80518051單片機(jī)中設(shè)置了單片機(jī)中設(shè)置了2121個(gè)特殊功能個(gè)特殊功能寄存器寄存器, ,它們不連續(xù)地分布在地址為它們不連續(xù)地分布在地址為80H-80H-FFHFFH的的128128個(gè)字節(jié)的存儲(chǔ)空間中。個(gè)字節(jié)的存儲(chǔ)空間中。 2.2.在這在這2121個(gè)個(gè)SFRSFR中,凡是字節(jié)地址中,凡是字節(jié)地址能被能被8 8整除整除(即(即1616進(jìn)制的地址碼尾數(shù)為進(jìn)制的地址碼尾數(shù)為0 0或或8 8)的的1111個(gè)單元均具有位尋址能力個(gè)單元均具有位尋址能力, ,有效的位有效的位地址共有地址共有8282個(gè)。個(gè)。表表2-2 SFR2-2 SFR的名稱及其分布的名稱及其分布對(duì)于尚未定
26、義的字對(duì)于尚未定義的字節(jié)地址單元,用戶節(jié)地址單元,用戶不能作普通寄存器不能作普通寄存器使用,若訪問沒有使用,若訪問沒有定義的單元,將得定義的單元,將得到一個(gè)不確定的隨到一個(gè)不確定的隨機(jī)數(shù)。機(jī)數(shù)。 增加不經(jīng)過累加器增加不經(jīng)過累加器A的傳送指令,既的傳送指令,既可以加快數(shù)據(jù)的傳送速度,同時(shí)又可減可以加快數(shù)據(jù)的傳送速度,同時(shí)又可減少少“瓶頸瓶頸”現(xiàn)象的發(fā)生?,F(xiàn)象的發(fā)生。1)累加器累加器A(ACC) 8位的累加器,也是位的累加器,也是CPU中使用中使用最頻繁最頻繁的的寄存器。它的進(jìn)位標(biāo)志寄存器。它的進(jìn)位標(biāo)志Cy是特殊的,因?yàn)槭翘厥獾?,因?yàn)樗瑫r(shí)是位處理器的一位累加器。它同時(shí)是位處理器的一位累加器。思考
27、:如何減少思考:如何減少“瓶頸瓶頸”現(xiàn)象的發(fā)生?現(xiàn)象的發(fā)生?2)寄存器寄存器B3) 程序狀態(tài)寄存器程序狀態(tài)寄存器PSW(Program Status Word)8位可讀寫的寄存器。其各位的定義如下:位可讀寫的寄存器。其各位的定義如下:( (1)Cy:1)Cy:進(jìn)位標(biāo)志位進(jìn)位標(biāo)志位. .在執(zhí)行算數(shù)和邏輯指令時(shí),可被硬、軟件置在執(zhí)行算數(shù)和邏輯指令時(shí),可被硬、軟件置位或清除,在位處理器中,它是位累加器。位或清除,在位處理器中,它是位累加器。( (2)AC2)AC:輔助進(jìn)位標(biāo)志位輔助進(jìn)位標(biāo)志位當(dāng)進(jìn)行加法或減法操作而產(chǎn)生由低當(dāng)進(jìn)行加法或減法操作而產(chǎn)生由低4 4位進(jìn)位位進(jìn)位或借位時(shí),或借位時(shí),ACAC被硬
28、件置被硬件置1 1,否則被清除。,否則被清除。( (3)F03)F0: 標(biāo)志位標(biāo)志位( (4)RS14)RS1、RS0:RS0: 寄存器區(qū)選擇控制位寄存器區(qū)選擇控制位(5)(5)OVOV(PSW.2PSW.2)溢出標(biāo)志位)溢出標(biāo)志位: :當(dāng)執(zhí)行算術(shù)指令當(dāng)執(zhí)行算術(shù)指令時(shí),由硬件置時(shí),由硬件置1 1或清或清0 0,以指示是否溢出。,以指示是否溢出。 (6) (6)P P(PSW.0PSW.0)奇偶標(biāo)志位)奇偶標(biāo)志位: :每個(gè)指令周期都每個(gè)指令周期都由由硬件硬件來置位或清除,以表示累加器來置位或清除,以表示累加器A A中值為中值為1 1的位數(shù)的奇偶數(shù)。的位數(shù)的奇偶數(shù)。 P=1P=1,則,則A A中中
29、1 1的個(gè)數(shù)為奇數(shù)。的個(gè)數(shù)為奇數(shù)。 P=0P=0,則,則A A中中1 1的個(gè)數(shù)為偶數(shù)。的個(gè)數(shù)為偶數(shù)。 此標(biāo)志位對(duì)串行口通訊中的數(shù)據(jù)傳輸有意義,此標(biāo)志位對(duì)串行口通訊中的數(shù)據(jù)傳輸有意義,常用奇偶檢驗(yàn)的方法來檢驗(yàn)數(shù)據(jù)傳輸?shù)某S闷媾紮z驗(yàn)的方法來檢驗(yàn)數(shù)據(jù)傳輸?shù)目煽靠煽啃孕浴?(A)=10101011(A)=10101011P=1P=1還是還是0?0?4)4) 堆棧指針堆棧指針SPSP SP SP是一個(gè)是一個(gè)8 8位的位的SFR, SFR, 堆棧的實(shí)質(zhì)是一個(gè)特殊的堆棧的實(shí)質(zhì)是一個(gè)特殊的RAMRAM區(qū),主要功能是暫放數(shù)據(jù)和地址。堆棧的具體功區(qū),主要功能是暫放數(shù)據(jù)和地址。堆棧的具體功能為:能為: (1 1)保
30、護(hù)斷點(diǎn):保護(hù)斷點(diǎn):子程序調(diào)用以及中斷時(shí),最終子程序調(diào)用以及中斷時(shí),最終都要返回主程序。為了保證程序能正確返回,應(yīng)該都要返回主程序。為了保證程序能正確返回,應(yīng)該在堆棧中預(yù)先將主程序的斷點(diǎn)保護(hù)起來。在堆棧中預(yù)先將主程序的斷點(diǎn)保護(hù)起來。 (2 2) 現(xiàn)場保護(hù):現(xiàn)場保護(hù): 單片機(jī)執(zhí)行子程序或單片機(jī)執(zhí)行子程序或ISRISR之后,之后,很可能要用到單片機(jī)中的一些寄存器,為了不破壞很可能要用到單片機(jī)中的一些寄存器,為了不破壞寄存器中的原有內(nèi)容,可以把有關(guān)寄存器的內(nèi)容保寄存器中的原有內(nèi)容,可以把有關(guān)寄存器的內(nèi)容保存起來,送入堆棧。存起來,送入堆棧。堆棧的操作有兩種方式:堆棧的操作有兩種方式:l(1 1)指令方
31、式,使用堆棧操作指令進(jìn)行進(jìn)棧)指令方式,使用堆棧操作指令進(jìn)行進(jìn)棧/ /出出棧操作。棧操作。l(2 2)自動(dòng)方式,在調(diào)用子程序或產(chǎn)生中斷時(shí),返)自動(dòng)方式,在調(diào)用子程序或產(chǎn)生中斷時(shí),返回地址(斷點(diǎn))自動(dòng)進(jìn)棧。程序返回時(shí),斷點(diǎn)地回地址(斷點(diǎn))自動(dòng)進(jìn)棧。程序返回時(shí),斷點(diǎn)地址再自動(dòng)彈回址再自動(dòng)彈回PCPC。這種堆棧操作不需要干預(yù),是。這種堆棧操作不需要干預(yù),是通過硬件自動(dòng)實(shí)現(xiàn)的。通過硬件自動(dòng)實(shí)現(xiàn)的。l 提示:系統(tǒng)復(fù)位后提示:系統(tǒng)復(fù)位后,SP,SP初始化為初始化為07H07H,使得堆棧,使得堆棧事實(shí)上由事實(shí)上由08H08H開始。因?yàn)殚_始。因?yàn)?8H-1FH08H-1FH單元為工作寄單元為工作寄存器區(qū)存器區(qū)
32、1-3, 20H-2FH1-3, 20H-2FH為位尋址區(qū),在程序設(shè)為位尋址區(qū),在程序設(shè)計(jì)很可能要用到這些區(qū),所以用戶在編程時(shí)最好計(jì)很可能要用到這些區(qū),所以用戶在編程時(shí)最好把把SPSP初值設(shè)為初值設(shè)為2FH2FH或更大值,當(dāng)然同時(shí)還要顧及其或更大值,當(dāng)然同時(shí)還要顧及其允許的深度。要防止設(shè)置不當(dāng),引起內(nèi)部允許的深度。要防止設(shè)置不當(dāng),引起內(nèi)部RAMRAM單元單元沖突。沖突。 l堆棧的特點(diǎn):堆棧的特點(diǎn): 先進(jìn)后出。先進(jìn)后出。l堆 棧 的 操 作 : 進(jìn) 棧 (堆 棧 的 操 作 : 進(jìn) 棧 ( PUSH) , 出 棧) , 出 棧(POP)。第一個(gè)進(jìn)棧的數(shù)據(jù)所在的單元)。第一個(gè)進(jìn)棧的數(shù)據(jù)所在的單元稱
33、為棧底,然后逐次進(jìn)棧,最后進(jìn)棧的數(shù)稱為棧底,然后逐次進(jìn)棧,最后進(jìn)棧的數(shù)據(jù)所在的存儲(chǔ)單元稱為棧頂。據(jù)所在的存儲(chǔ)單元稱為棧頂。5) 數(shù)據(jù)指針數(shù)據(jù)指針DPTR 是一個(gè)是一個(gè)16位的位的地址指針寄存器。它主要地址指針寄存器。它主要用來存放用來存放16位地址,作間址寄存器使用。位地址,作間址寄存器使用??煽捎脕碓L問用來訪問64K外部數(shù)據(jù)存儲(chǔ)器和外部數(shù)據(jù)存儲(chǔ)器和I/O端口端口。 DPTR也可以拆成兩個(gè)獨(dú)立也可以拆成兩個(gè)獨(dú)立8位寄存器,位寄存器,即即DPH(高(高8位字節(jié))和位字節(jié))和DPL(低(低8位字節(jié))位字節(jié)),分別占據(jù)分別占據(jù)83H和和82H兩個(gè)地址。兩個(gè)地址。PC與與DPTR: 都是與地址有關(guān)的都
34、是與地址有關(guān)的16位的寄存器。位的寄存器。PC與程與程序存儲(chǔ)器的地址有關(guān),序存儲(chǔ)器的地址有關(guān), DPTR與數(shù)據(jù)存儲(chǔ)器或與數(shù)據(jù)存儲(chǔ)器或I/O的的地址有關(guān)。作為地址寄存器使用時(shí),地址有關(guān)。作為地址寄存器使用時(shí),PC與與DPTR都都是通過是通過P0和和P2口輸出的??谳敵龅?。PC的輸出與的輸出與ALE及及PSEN信號(hào)有關(guān);信號(hào)有關(guān);DPTR的輸出,則與的輸出,則與ALE、WR、RD信信號(hào)有關(guān)。號(hào)有關(guān)。 PC只能作為只能作為16位寄存器對(duì)待,是不可以訪位寄存器對(duì)待,是不可以訪問的。問的。DPTR可以作為可以作為16位寄存器,也可以作為兩個(gè)位寄存器,也可以作為兩個(gè)8位特殊功能寄存器,位特殊功能寄存器,D
35、PTR是可以訪問的是可以訪問的。 6) I/O端口端口P0-P3l 特殊功能寄存器特殊功能寄存器P0-P3分別為分別為I/O端口端口P0-P3的鎖存器。的鎖存器。l 在在MCS-51中,中,I/O端口和端口和RAM是統(tǒng)一編址的,所有訪問是統(tǒng)一編址的,所有訪問RAM單元的指令,都可用來訪問單元的指令,都可用來訪問I/O端口。端口。7) 串行數(shù)據(jù)緩沖器串行數(shù)據(jù)緩沖器SBUF 由由兩個(gè)獨(dú)立的寄存器兩個(gè)獨(dú)立的寄存器組成:發(fā)送緩沖器,接收緩沖器。組成:發(fā)送緩沖器,接收緩沖器。存放欲發(fā)送或已接收的數(shù)據(jù),存放欲發(fā)送或已接收的數(shù)據(jù),一個(gè)字節(jié)地址一個(gè)字節(jié)地址,物理上是,物理上是兩個(gè)兩個(gè)獨(dú)立寄存器。獨(dú)立寄存器。8
36、) 定時(shí)器定時(shí)器/計(jì)數(shù)器計(jì)數(shù)器 兩個(gè)兩個(gè)1616位位定時(shí)器定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器T1T1和和T0T0,各由兩個(gè)獨(dú)立的各由兩個(gè)獨(dú)立的8 8位寄位寄存器組成存器組成: TH1TH1、TL1TL1、TH0TH0、TL0TL0,只能字節(jié)尋址,但,只能字節(jié)尋址,但不能把不能把T1T1或或T0T0當(dāng)作一個(gè)當(dāng)作一個(gè)1616位位寄存器來尋址訪問。寄存器來尋址訪問。 80C51共有共有4個(gè)個(gè) 8位的并行雙向口,計(jì)有位的并行雙向口,計(jì)有 32根輸入輸出(根輸入輸出(I/O)口線。各口的每一位均)口線。各口的每一位均由鎖存器、輸出驅(qū)動(dòng)器和輸入緩沖器所組成。由鎖存器、輸出驅(qū)動(dòng)器和輸入緩沖器所組成。由于它們在結(jié)構(gòu)上的
37、一些差異,故各口的性由于它們在結(jié)構(gòu)上的一些差異,故各口的性質(zhì)和功能也就有了差異。質(zhì)和功能也就有了差異。 多功能的多功能的8位口,字節(jié)訪問地址為位口,字節(jié)訪問地址為80H,位訪,位訪問地址為問地址為80H87H。 位結(jié)構(gòu)位結(jié)構(gòu) P0口位結(jié)構(gòu)原理圖見圖口位結(jié)構(gòu)原理圖見圖2-5。 0 P0口中一個(gè)多路開關(guān):多路開關(guān)的輸口中一個(gè)多路開關(guān):多路開關(guān)的輸入有兩個(gè),地址數(shù)據(jù)輸出;輸出鎖存器的入有兩個(gè),地址數(shù)據(jù)輸出;輸出鎖存器的輸出輸出/Q。多路開關(guān)的輸出用于控制輸出。多路開關(guān)的輸出用于控制輸出FET Q0的導(dǎo)通和截止。多路開關(guān)的切換由內(nèi)部控的導(dǎo)通和截止。多路開關(guān)的切換由內(nèi)部控制信號(hào)控制。制信號(hào)控制。 P0口
38、的輸出上拉電路導(dǎo)通和截止受內(nèi)部口的輸出上拉電路導(dǎo)通和截止受內(nèi)部控制信號(hào)和地址數(shù)據(jù)信號(hào)共同(相控制信號(hào)和地址數(shù)據(jù)信號(hào)共同(相“與與”)來控制。來控制。 當(dāng)內(nèi)部信號(hào)置當(dāng)內(nèi)部信號(hào)置1時(shí),多路開關(guān)接通地址時(shí),多路開關(guān)接通地址數(shù)據(jù)輸出端。數(shù)據(jù)輸出端。 輸出狀態(tài)隨地址數(shù)據(jù)線而變,輸出狀態(tài)隨地址數(shù)據(jù)線而變,P0口可口可以作為地址以作為地址/數(shù)據(jù)復(fù)用總線使用。這時(shí)上下兩數(shù)據(jù)復(fù)用總線使用。這時(shí)上下兩個(gè)個(gè)FET處于反相,構(gòu)成了推拉式的輸出電路,處于反相,構(gòu)成了推拉式的輸出電路,其負(fù)載能力大大增加。此時(shí)的其負(fù)載能力大大增加。此時(shí)的P0口相當(dāng)一個(gè)口相當(dāng)一個(gè)雙向口。雙向口。 作數(shù)據(jù)總線輸入時(shí),作數(shù)據(jù)總線輸入時(shí),CPU自
39、動(dòng)使自動(dòng)使上下上下FET截止,截止,P0口處于懸浮狀態(tài)??谔幱趹腋顟B(tài)。當(dāng)內(nèi)部信號(hào)置當(dāng)內(nèi)部信號(hào)置0時(shí),多路開關(guān)接通輸出鎖存器時(shí),多路開關(guān)接通輸出鎖存器的的Q端端 由于內(nèi)部控制信號(hào)為由于內(nèi)部控制信號(hào)為0,與門關(guān)閉,上拉,與門關(guān)閉,上拉FET截止,截止,形成形成P0口的輸出電路為口的輸出電路為漏極開路漏極開路輸出。輸出。 輸出鎖存器的輸出鎖存器的Q端引至下拉端引至下拉FET柵極,柵極,P0口的輸出口的輸出狀態(tài)由下拉電路決定。狀態(tài)由下拉電路決定。 在在P0口作輸出口用時(shí),若口作輸出口用時(shí),若P0i輸出輸出1,輸出鎖,輸出鎖存器的存器的Q端為端為0,下拉,下拉FET截止,這時(shí)截止,這時(shí)P0i為漏極為漏
40、極開路輸出;若開路輸出;若P0i輸出輸出0,輸出鎖存器的,輸出鎖存器的Q端為端為1,下拉下拉FET導(dǎo)通,導(dǎo)通,P0i輸出低電平。輸出低電平。在在P0口作輸入口用時(shí),為了使口作輸入口用時(shí),為了使P0i能正確讀入能正確讀入數(shù)據(jù),必須先使數(shù)據(jù),必須先使P0.i置置1。這樣,下拉。這樣,下拉FET也截止,也截止,P0i處于懸浮狀態(tài)。處于懸浮狀態(tài)。A點(diǎn)的電平由外設(shè)的電平而點(diǎn)的電平由外設(shè)的電平而定,通過輸入緩沖器讀入定,通過輸入緩沖器讀入CPU,P0口相當(dāng)于一個(gè)口相當(dāng)于一個(gè)高阻抗的輸入口。高阻抗的輸入口。 P0口的功能口的功能 作作IO口使用口使用 此時(shí)此時(shí)P0口為一個(gè)準(zhǔn)雙向口。口為一個(gè)準(zhǔn)雙向口。 與其它
41、口的區(qū)別是,輸出時(shí)為漏極開路輸出,與與其它口的區(qū)別是,輸出時(shí)為漏極開路輸出,與NMOS的電路接口時(shí)的電路接口時(shí)必須要用電阻上拉必須要用電阻上拉,才能有高電,才能有高電平輸出;輸入時(shí)需先將口置平輸出;輸入時(shí)需先將口置1;但是有上拉電阻,作;但是有上拉電阻,作數(shù)據(jù)輸入時(shí),口不是懸浮狀態(tài)。每根口線可以獨(dú)立定數(shù)據(jù)輸入時(shí),口不是懸浮狀態(tài)。每根口線可以獨(dú)立定義為輸入或輸出。義為輸入或輸出。 作地址數(shù)據(jù)復(fù)用總線用(作地址數(shù)據(jù)復(fù)用總線用(需外接地址鎖存器需外接地址鎖存器) 相當(dāng)于一個(gè)真正的雙向口:輸出鎖存、輸入緩相當(dāng)于一個(gè)真正的雙向口:輸出鎖存、輸入緩沖,作地址數(shù)據(jù)復(fù)用總線用。作數(shù)據(jù)總線用時(shí),沖,作地址數(shù)據(jù)復(fù)
42、用總線用。作數(shù)據(jù)總線用時(shí),輸入輸出輸入輸出8位數(shù)據(jù)位數(shù)據(jù)D0D7;作地址總線用時(shí),輸;作地址總線用時(shí),輸出低出低8位地址位地址A0A7。當(dāng)。當(dāng)P0口作地址數(shù)據(jù)復(fù)用總口作地址數(shù)據(jù)復(fù)用總線用之后,就再也不能作線用之后,就再也不能作IO口使用了。它具有雙口使用了。它具有雙向口的一切特點(diǎn)。輸入時(shí)為懸浮狀態(tài),為一個(gè)高阻向口的一切特點(diǎn)。輸入時(shí)為懸浮狀態(tài),為一個(gè)高阻抗的輸入口。抗的輸入口。 8位口,字節(jié)訪問地址為位口,字節(jié)訪問地址為90H,位訪問地址為,位訪問地址為90H97H。 位結(jié)構(gòu)和工作原理位結(jié)構(gòu)和工作原理 P1口的位結(jié)構(gòu)如圖口的位結(jié)構(gòu)如圖2-6所示。所示。 、 P1口的特點(diǎn)口的特點(diǎn) 輸出鎖存器,輸出
43、時(shí)沒有條件;輸出鎖存器,輸出時(shí)沒有條件; 輸入緩沖,輸入時(shí)有條件,即需要先將該口設(shè)為輸輸入緩沖,輸入時(shí)有條件,即需要先將該口設(shè)為輸入狀態(tài),先輸出入狀態(tài),先輸出1; 工作過程中無高阻懸浮狀態(tài),也就是該口不是輸入工作過程中無高阻懸浮狀態(tài),也就是該口不是輸入態(tài)就是輸出態(tài)。態(tài)就是輸出態(tài)。 具有這種特性的口不屬于具有這種特性的口不屬于“真正真正”的雙向口,而被的雙向口,而被稱為稱為“準(zhǔn)準(zhǔn)”雙向口。雙向口。 P1口的操作口的操作 字節(jié)操作和位操作字節(jié)操作和位操作 CPU對(duì)于對(duì)于 P1口可以作為一個(gè)口可以作為一個(gè) 8位口來操作,也可以位口來操作,也可以按位來操作。按位來操作。 有關(guān)字節(jié)操作的指令有:有關(guān)字節(jié)
44、操作的指令有: 輸出:輸出: MOV P1,A ;P1A MOV P1,data ;P1data MOV P1,direct ;P1direct 輸入:輸入: MOV A,P1 ;AP1 MOV direct,P1 ;directP1 有關(guān)位操作的指令有有關(guān)位操作的指令有: 置位、清除:置位、清除:SETB P1.i ;P1.i1 CLR Pli ;P1i0 輸入、輸出:輸入、輸出:MOV P1i,C ;P1iCY MOV C,P1i ;CYP1.i 判跳:判跳: JBP1i,rel ;P1.i=1,跳轉(zhuǎn),跳轉(zhuǎn) JBC P1i,rel ;P1.i1,跳轉(zhuǎn)且,跳轉(zhuǎn)且;清;清P1.i0 邏輯運(yùn)算:
45、邏輯運(yùn)算: ANL C,P1i ;CY(P1.iCY) ORL C,P1i ;CY(P1.iCY) P1i中的中的i0,7。 P1口不僅可以以口不僅可以以8位一組進(jìn)行輸入、輸出操作,位一組進(jìn)行輸入、輸出操作,還可以逐位分別定義各口線為輸入線或輸出線。還可以逐位分別定義各口線為輸入線或輸出線。例如:例如:ORL P1,0 0 0 0 0 0 1 0 B使使P11位口線輸出位口線輸出l,而使其余各位不變。,而使其余各位不變。 ANL P1,1 1 1 1 1 1 0 1 B使使P11位線輸出位線輸出0,而使其余各位不變。,而使其余各位不變。 讀引腳操作和讀鎖存器操作讀引腳操作和讀鎖存器操作 從從P
46、1口的位結(jié)構(gòu)圖中可以看出,有兩種讀口的操口的位結(jié)構(gòu)圖中可以看出,有兩種讀口的操作:一種是讀引腳操作,一種是讀鎖存器操作。作:一種是讀引腳操作,一種是讀鎖存器操作。 在響應(yīng)在響應(yīng)CPU輸出的讀引腳信號(hào)時(shí),端口本身引腳輸出的讀引腳信號(hào)時(shí),端口本身引腳的電平值通過緩沖器的電平值通過緩沖器BUF1進(jìn)入內(nèi)部總線。這種類型進(jìn)入內(nèi)部總線。這種類型的指令,執(zhí)行之前必須先將端口鎖存器置的指令,執(zhí)行之前必須先將端口鎖存器置1,使,使A點(diǎn)點(diǎn)處于高電平,否則會(huì)損壞引腳,而且也使信號(hào)無法處于高電平,否則會(huì)損壞引腳,而且也使信號(hào)無法讀出。讀出。這種類型的指令有:這種類型的指令有: MOV A,P1 ;AP1 MOV di
47、rect,P1 ;directP1 在執(zhí)行讀鎖存器的指令時(shí),在執(zhí)行讀鎖存器的指令時(shí),CPU首先完成將鎖存首先完成將鎖存器的值通過緩沖器器的值通過緩沖器BUF2讀入內(nèi)部,進(jìn)行修改,然讀入內(nèi)部,進(jìn)行修改,然后重新寫到鎖存器中去,這就是后重新寫到鎖存器中去,這就是“讀讀修改修改寫寫”指令。指令。 這種類型的指令包含這種類型的指令包含所有的口的邏輯操作所有的口的邏輯操作(ANL、ORL、XRL)和)和位操作位操作(JBC、CPL、MOV、SETB、CLR等)指令。等)指令。 P1口的多功能線口的多功能線 在在80C52中,中,P10和和P11口線是多功口線是多功能的,即除作一般雙向能的,即除作一般雙向
48、I/O口線之外,還具口線之外,還具有下列功能:有下列功能: P10:T2的外部輸入端的外部輸入端T2; P11:T2的外部控制端的外部控制端T2EX。 多功能的多功能的8位口,字節(jié)訪問地址為位口,字節(jié)訪問地址為A0H,位訪問地,位訪問地址為址為A0HA7H。 P2口位結(jié)構(gòu)和工作原理口位結(jié)構(gòu)和工作原理 P2口位結(jié)構(gòu)原理圖示于圖口位結(jié)構(gòu)原理圖示于圖2-7。 多路開關(guān)的輸入有兩個(gè):一個(gè)是口輸出鎖存器的輸多路開關(guān)的輸入有兩個(gè):一個(gè)是口輸出鎖存器的輸出端出端Q;一個(gè)是地址寄存器(;一個(gè)是地址寄存器(PC或或DPTR)的高位輸)的高位輸出端。多路開關(guān)的輸出經(jīng)反相器反相后去控制輸出出端。多路開關(guān)的輸出經(jīng)反相
49、器反相后去控制輸出FET的的 Q0。多路開關(guān)的切換由內(nèi)部控制信號(hào)控制。多路開關(guān)的切換由內(nèi)部控制信號(hào)控制。輸出鎖存器的輸出端是輸出鎖存器的輸出端是Q而不是而不是Q,多路開關(guān)之后需接,多路開關(guān)之后需接反相器。反相器。 P2口的功能口的功能 作作IO口使用時(shí),口使用時(shí),P2口為一準(zhǔn)雙向口??跒橐粶?zhǔn)雙向口。 作地址輸出時(shí),作地址輸出時(shí),P2口可以輸出程序存儲(chǔ)器或片外口可以輸出程序存儲(chǔ)器或片外數(shù)據(jù)存儲(chǔ)器的高數(shù)據(jù)存儲(chǔ)器的高8位地址,與位地址,與P0輸出的低地址一起構(gòu)輸出的低地址一起構(gòu)成成16位地址線,從而可分別尋址位地址線,從而可分別尋址64KB的程序存儲(chǔ)器的程序存儲(chǔ)器或片外數(shù)據(jù)存儲(chǔ)器。地址線是或片外數(shù)據(jù)
50、存儲(chǔ)器。地址線是8位一起自動(dòng)輸出的。位一起自動(dòng)輸出的。 P2口使用中注意的問題口使用中注意的問題 由于由于P2口的輸出鎖存功能,在取指周期內(nèi)或外部口的輸出鎖存功能,在取指周期內(nèi)或外部數(shù)據(jù)存儲(chǔ)器讀、寫選通期間,輸出的高數(shù)據(jù)存儲(chǔ)器讀、寫選通期間,輸出的高8位地址是鎖位地址是鎖存的,故無需外加地址鎖存器。存的,故無需外加地址鎖存器。 在系統(tǒng)中如果外接有程序存儲(chǔ)器,由于訪問片外在系統(tǒng)中如果外接有程序存儲(chǔ)器,由于訪問片外程序存儲(chǔ)器的連續(xù)不斷的取指操作,程序存儲(chǔ)器的連續(xù)不斷的取指操作,P2口需要不斷口需要不斷送出高位地址,這時(shí)送出高位地址,這時(shí)P2口的全部口線均不宜再作口的全部口線均不宜再作I/O口使用。
51、口使用。 多功能的多功能的8位口,字節(jié)訪問地址為位口,字節(jié)訪問地址為B0H,位訪問地,位訪問地址為址為B0HB7H。 位結(jié)構(gòu)與工作原理位結(jié)構(gòu)與工作原理 P3口的位結(jié)構(gòu)原理如圖口的位結(jié)構(gòu)原理如圖2-8所示。所示。 與非門有兩個(gè)輸入端:一個(gè)為口輸出鎖存器的與非門有兩個(gè)輸入端:一個(gè)為口輸出鎖存器的Q端,端,另一個(gè)為替代功能的控制輸出。與非門的輸出端控制另一個(gè)為替代功能的控制輸出。與非門的輸出端控制輸出輸出FET管管Q0。 有兩個(gè)輸入緩沖器,替代輸入功能取自第一個(gè)緩沖有兩個(gè)輸入緩沖器,替代輸入功能取自第一個(gè)緩沖器的輸出端;器的輸出端;I/O口的通用輸入信號(hào)取自第二個(gè)緩沖口的通用輸入信號(hào)取自第二個(gè)緩沖器
52、的輸出端。器的輸出端。輸出工作過程:輸出工作過程: 當(dāng)替代輸出功能當(dāng)替代輸出功能B點(diǎn)置點(diǎn)置1時(shí),輸出鎖存器的輸出時(shí),輸出鎖存器的輸出可以順利通到引腳可以順利通到引腳P3.i。其工作狀況與。其工作狀況與P1口相類口相類似。這時(shí)似。這時(shí)P3口的工作狀態(tài)為口的工作狀態(tài)為I/O口,顯然此時(shí)該口口,顯然此時(shí)該口具有準(zhǔn)雙向口的性質(zhì)。具有準(zhǔn)雙向口的性質(zhì)。 當(dāng)輸出鎖存器的輸出置當(dāng)輸出鎖存器的輸出置1時(shí),替代輸出功能可以時(shí),替代輸出功能可以順利通到引腳順利通到引腳P3.i。 若替代輸出為若替代輸出為0時(shí),因與非門的時(shí),因與非門的C點(diǎn)已置點(diǎn)已置l,現(xiàn),現(xiàn)B點(diǎn)為點(diǎn)為0,故與非門的輸出為,故與非門的輸出為l,使,使Q
53、0導(dǎo)通,從而導(dǎo)通,從而使使A點(diǎn)也為點(diǎn)也為0。若替代輸出為。若替代輸出為1時(shí),與非門的輸出時(shí),與非門的輸出為為0,Q0截止,從而使截止,從而使A點(diǎn)也為高電平。這時(shí)點(diǎn)也為高電平。這時(shí)P3口口的工作狀態(tài)處于替代輸出功能狀態(tài)。的工作狀態(tài)處于替代輸出功能狀態(tài)。 P3口的功能口的功能 可作可作I/O口使用,為準(zhǔn)雙向口??谑褂茫瑸闇?zhǔn)雙向口。 既可以字節(jié)操作,也可以位操作;既可以既可以字節(jié)操作,也可以位操作;既可以8位口位口操作,也可以逐位定義口線為輸入線或輸出線;操作,也可以逐位定義口線為輸入線或輸出線;既可以讀引腳,也可以讀鎖存器,實(shí)現(xiàn)既可以讀引腳,也可以讀鎖存器,實(shí)現(xiàn)“讀一修讀一修改一輸出改一輸出”操作
54、。操作。 可以作為替代功能的輸入、輸出??梢宰鳛樘娲δ艿妮斎搿⑤敵?。 替代輸入功能:替代輸入功能: P3.0: RXD,串行輸入口。,串行輸入口。 P3.2:INT0,外部中斷,外部中斷0的請求。的請求。 P3.3:INT1,外部中斷,外部中斷1的請求。的請求。 P3.4:T0,T0外部計(jì)數(shù)脈沖輸入。外部計(jì)數(shù)脈沖輸入。 P3.5:T1,T1外部計(jì)數(shù)脈沖輸入。外部計(jì)數(shù)脈沖輸入。 替代輸出功能:替代輸出功能: P3.l:TXD,串行輸出口。,串行輸出口。 P3.6:WR外部數(shù)據(jù)存儲(chǔ)器或外部數(shù)據(jù)存儲(chǔ)器或I/O端口寫選通。端口寫選通。 P3.7:RD 外部數(shù)據(jù)存儲(chǔ)器外部數(shù)據(jù)存儲(chǔ)器或或I/O端口端口讀
55、選通。讀選通。 地址總線地址總線(Address Bus,Address Bus,簡寫簡寫ABAB) 地址線地址線A0A0A15 A15 共共1616位,位,P2P2口提供高口提供高8 8位地址位地址A8A8A15A15,P0P0口經(jīng)地址鎖存器提供低口經(jīng)地址鎖存器提供低8 8位地址位地址A0A0A7 A7 。片外存儲(chǔ)器可尋址范圍。片外存儲(chǔ)器可尋址范圍達(dá)達(dá)64KB64KB(即(即=65536=65536個(gè)字節(jié))。個(gè)字節(jié))。 數(shù)據(jù)總線數(shù)據(jù)總線(Data Bus(Data Bus,簡寫,簡寫DB)DB) 地址線地址線D0-D7D0-D7共共8 8位,由位,由P0P0口提供,分時(shí)口提供,分時(shí)輸送低輸送低8 8位地址(通過地址鎖存器鎖存)和位地址(通過地址鎖存器鎖存)和8 8位數(shù)據(jù)信息。位數(shù)據(jù)信息。 控制總線控制總線(Control Bus(Control Bus,簡寫,簡寫CB)CB) 控制總線由控制總線由P3P3口的第二功能口的第二功能/WR /WR (P3.6P3
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 產(chǎn)品銷售許可合同范本
- 2025年度中文圖書銷售合同
- 湘潭大學(xué)興湘學(xué)院《密碼學(xué)進(jìn)展》2023-2024學(xué)年第二學(xué)期期末試卷
- 臨時(shí)活動(dòng)場所租賃協(xié)議2025
- 山東省諸城市市級(jí)名校2025屆初三第一次中考適應(yīng)性統(tǒng)考化學(xué)試題試卷含解析
- 山東省濟(jì)南市濟(jì)鋼高中2025年5月月考試卷語文試題試卷含解析
- 三亞學(xué)院《工程造價(jià)控制》2023-2024學(xué)年第二學(xué)期期末試卷
- 山西省孝義市九校2024-2025學(xué)年高三下學(xué)期定位考試(4月)英語試題含解析
- 遼寧省沈陽市東北育才實(shí)驗(yàn)學(xué)校2025年三下數(shù)學(xué)期末質(zhì)量檢測試題含解析
- 四川汽車職業(yè)技術(shù)學(xué)院《數(shù)字圖像處理》2023-2024學(xué)年第二學(xué)期期末試卷
- 束管監(jiān)測管理制度管理辦法及崗位責(zé)任制
- 裸子植物課件
- 安徽中醫(yī)藥大學(xué)專升本(語文)科目考試題庫(含歷年重點(diǎn)題)
- 后勤管理安全生產(chǎn)培訓(xùn)內(nèi)容122頁P(yáng)PT課件
- 直銷人必備—目標(biāo)與計(jì)劃
- 等離子體光譜診斷實(shí)驗(yàn)報(bào)告
- COMMERCIAL INVOICE 商業(yè)發(fā)票
- 永磁吸盤使用方法及安全事項(xiàng)
- 哈薩克斯坦2050戰(zhàn)略總統(tǒng)國情咨文(中文版)
- 接待手冊(范本)
- 還款證明(四種格式)
評(píng)論
0/150
提交評(píng)論