MCS51單片機(jī)的結(jié)構(gòu)和工作原理課件_第1頁(yè)
MCS51單片機(jī)的結(jié)構(gòu)和工作原理課件_第2頁(yè)
MCS51單片機(jī)的結(jié)構(gòu)和工作原理課件_第3頁(yè)
MCS51單片機(jī)的結(jié)構(gòu)和工作原理課件_第4頁(yè)
MCS51單片機(jī)的結(jié)構(gòu)和工作原理課件_第5頁(yè)
已閱讀5頁(yè),還剩94頁(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)介

1、MCS-51單片機(jī)的結(jié)構(gòu)和工作原理第1頁(yè),共99頁(yè)。復(fù)習(xí)提問(wèn)1、各進(jìn)制的特點(diǎn)和應(yīng)用場(chǎng)合?2、如何理解機(jī)器數(shù)與真值?3、原碼、反碼、補(bǔ)碼三者之間如何換算?4、補(bǔ)碼的作用?作業(yè): P12 一、二題;下周二上課之前交作業(yè)第2頁(yè),共99頁(yè)。2.1單片機(jī)內(nèi)部組成及引腳功能2.4 并行I/O口電路結(jié)構(gòu)及應(yīng)用特征2.6MCS-51單片機(jī)的工作方式第二章MCS-51單片機(jī)的結(jié)構(gòu)和工作原理2.5 時(shí)鐘電路與CPU時(shí)序2.3 存儲(chǔ)器組織第3頁(yè),共99頁(yè)。MCS-51 系列單片機(jī)分類(lèi)51 系列單片機(jī)以HMOS工藝制造8051以CHMOS工藝制造80C5151子系列52子系列內(nèi)ROM中斷數(shù)T/C 數(shù)內(nèi)RAM80318

2、0518751無(wú)4K ROM4K EPROM128B128B128B55522252子系列80C3280C5287C52無(wú)8K ROM8K EPROM256B256B256B66633351子系列80C3180C5187C51無(wú)4K ROM4K EPROM128B128B128B555222803280528752無(wú)8K ROM8K EPROM256B256B256B666333第4頁(yè),共99頁(yè)。2.1MCS-51單片機(jī)引腳功能及內(nèi)部組成2.1.1 MCS-51單片機(jī)的引腳功能2.1.2 MCS-51單片機(jī)的內(nèi)部結(jié)構(gòu)第5頁(yè),共99頁(yè)。 HMOS工藝制造的芯片為40個(gè)引腳,均采用雙列直插式封裝(

3、DIP) 2.1.1 MCS-51的引腳功能 CHMOS工藝制造的芯片有采用如下封裝:雙列直插(DIP),方形:(PLCC),扁平封裝:(QFP)第6頁(yè),共99頁(yè)。2.1.1 MCS-51的引腳功能2.31、電源和時(shí)鐘晶振引腳:Vcc、Vss、XTAL2、XTAL12、控制信號(hào)引腳(1)、 RST/VPD(2)、 EA/VPP(3)、 ALE/PROG(4) 、 PSEN3、輸入/輸出端口引腳-32P0、P1、P2、P3第7頁(yè),共99頁(yè)。2.1.1 MCS-51的引腳功能2.31、電源和時(shí)鐘晶振引腳:Vcc、Vss、XTAL2、XTAL1Vcc:電源端,接5V。 Vss:接地端。 通常在Vcc

4、和Vss引腳之間接0.1高頻濾波電容。 XTAL1:接外部晶振和微調(diào)電容的一端,在片內(nèi)它是振蕩器倒相放大器的輸入; P29若使用外部時(shí)鐘時(shí),對(duì)于HMOS單片機(jī),該引腳必須接地,但對(duì)于CMOS單片機(jī)而言,該引腳為外部時(shí)鐘的輸入端。 XTAL2:接外部晶振和微調(diào)電容的另一端,在片內(nèi)它是振蕩器倒相放大器的輸出;若使用外部時(shí)鐘時(shí),對(duì)于HMOS單片機(jī),該引腳為外部時(shí)鐘的輸入端,但對(duì)于CMOS單片機(jī)而言,該引腳應(yīng)懸空。 第8頁(yè),共99頁(yè)。2.1.1 MCS-51的引腳功能2.32、控制信號(hào)引腳(1)、 RST/VPD(2)、 EA/VPP(3)、 ALE/PROG(4) 、 PSEN(1).復(fù)位信號(hào)RST

5、 該信號(hào)高電平有效,在輸入端保持兩個(gè)機(jī)器周期的高電平后,就可以完成復(fù)位操作。該引腳還有掉電保護(hù)功能,若在該端接備用電源,在使用中若Vcc掉電,可保護(hù)片內(nèi)RAM中信息不丟失。 (2)外部程序存儲(chǔ)器地址允許使能端/EA /EA當(dāng)為高電平時(shí),CPU執(zhí)行片內(nèi)程序存儲(chǔ)器指令,但當(dāng)PC中的值超過(guò)內(nèi)部ROM的最高地址(8051為0FFFH)時(shí),將自動(dòng)轉(zhuǎn)向執(zhí)行片外程序存儲(chǔ)器指令; /EA當(dāng)為低電平時(shí),CPU只執(zhí)行片外程序存儲(chǔ)器指令。 對(duì)于8031,由于其無(wú)片內(nèi)ROM,故/EA必須接低電平。第9頁(yè),共99頁(yè)。2.1.1 MCS-51的引腳功能2.32、控制信號(hào)引腳(1)、 RST/VPD(2)、 EA/VPP(

6、3)、 ALE/PROG(4) 、 PSEN(3)、地址鎖存允許ALE 在系統(tǒng)擴(kuò)展時(shí),ALE用于控制地址鎖存器鎖存P0口輸出的低8位地址,從而實(shí)現(xiàn)數(shù)據(jù)與低位地址的分時(shí)復(fù)用。當(dāng)單片機(jī)上電正常工作后,ALE端就周期性地以時(shí)鐘頻率的1/6的固定頻率向外輸出正脈沖信號(hào),但當(dāng)訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器是會(huì)丟失一個(gè)脈沖。ALE的負(fù)載能力為8個(gè)LSTTL器件。 (4)外部程序存儲(chǔ)器讀選通信號(hào) 低電平有效。CPU從外部程序存儲(chǔ)器取指令時(shí),它在每個(gè)機(jī)器周期中兩次有效。負(fù)載能力為8個(gè)LSTTL器件。 第10頁(yè),共99頁(yè)。2.1.1 MCS-51的引腳功能3、輸入/輸出端口引腳-32P0、P1、P2、P3P0口(P0.0P

7、0.7):該端口為漏極開(kāi)路的8位準(zhǔn)雙向口,負(fù)載能力位8高LSTTL負(fù)載,它為8位地址線(xiàn)和8位數(shù)據(jù)線(xiàn)的復(fù)用端口。P1口(P1.0P1.7):它是一個(gè)內(nèi)部帶上拉電阻的8位準(zhǔn)雙向I/O口,P1口的驅(qū)動(dòng)能力為4個(gè)LSTTL負(fù)載。 P2口(P2.0P2.7):它為一個(gè)內(nèi)部帶上拉電阻的8位準(zhǔn)雙向I/O口,P2口的驅(qū)動(dòng)能力也為4個(gè)LSTTL負(fù)載。在訪(fǎng)問(wèn)外部存儲(chǔ)器時(shí),它作存儲(chǔ)器的高8位地址線(xiàn)。 P3口(P3.0P3.7):P3口同樣是內(nèi)部帶上拉電阻的8位準(zhǔn)雙向I/O口,P3口除了作為一般的I/O口使用之外,其還具有特殊功能。第11頁(yè),共99頁(yè)。P3.0RxD串行數(shù)據(jù)接受P3.1TxD串行數(shù)據(jù)發(fā)送P3.2INT

8、0外部中斷0申請(qǐng)P3.3INT1外部中斷1申請(qǐng)P3.4T0定時(shí)器/計(jì)數(shù)器0計(jì)數(shù)輸入P3.5T1定時(shí)器/計(jì)數(shù)器1計(jì)數(shù)輸入P3.6WR外部RAM寫(xiě)選通P3.7RD外部RAM讀選通P3口引腳信號(hào)的第二功能第12頁(yè),共99頁(yè)。程序存儲(chǔ)器ROM數(shù)據(jù)存儲(chǔ)器RAMSFRT/C微處理器運(yùn)算器控制器CPU (80C51) 存儲(chǔ)器中斷系統(tǒng)串行接口UART基本功能單元XTAL2XTAL1RSTALEEAPSEN并行I/O接口P0P1P2P351基本組成框圖2.32.1.2單片機(jī)的內(nèi)部結(jié)構(gòu)第13頁(yè),共99頁(yè)。2.1.2單片機(jī)的內(nèi)部結(jié)構(gòu)1、中央處理單元CPU (1)運(yùn)算器電路: 用于數(shù)據(jù)處理、位操作(位測(cè)試、置位、復(fù)位

9、) (2)控制器電路:指揮控制工作,協(xié)調(diào)單片機(jī)各部分正常工作。2、存儲(chǔ)器 只讀存儲(chǔ)器ROM(4KB或8KB) 用于永久性存儲(chǔ)應(yīng)用程序、原始數(shù)據(jù)或表格常數(shù) 隨機(jī)存取存取器RAM(256B) 用于程序運(yùn)行中存儲(chǔ)工作變量和數(shù)據(jù)3、并行輸入/輸出口 用作系統(tǒng)總線(xiàn)、I / O接口芯片。MCS51單片機(jī)共有4個(gè)8位的I/O口(P0、P1、P2和P3),每一條I/O線(xiàn)都能獨(dú)立地用作輸入或輸出。 MCS51系列單片機(jī)的存儲(chǔ)器包括數(shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器,其主要特點(diǎn)是尋址空間是相互獨(dú)立的,物理結(jié)構(gòu)也不相同。第14頁(yè),共99頁(yè)。2.1.2單片機(jī)的內(nèi)部結(jié)構(gòu)4. 定時(shí)器/計(jì)數(shù)器 T(16位增量可編程)MCS51單片機(jī)片

10、內(nèi)有兩個(gè)16位的定時(shí)/計(jì)數(shù)器,即定時(shí)器0和定時(shí)器1。它與CPU之間各自獨(dú)立工作,當(dāng)它計(jì)數(shù)滿(mǎn)時(shí)向CPU中斷。它們可以用于定時(shí)控制、延時(shí)以及對(duì)外部事件的計(jì)數(shù)和檢測(cè)等5. 串行I/O口 UART (二線(xiàn))MCS51單片機(jī)具有一個(gè)采用通用異步工作方式的全雙工串行通信接口,可以同時(shí)發(fā)送和接收數(shù)據(jù)。它具有兩個(gè)相互獨(dú)立的接收、發(fā)送數(shù)據(jù)緩沖器,兩個(gè)緩沖器共用一個(gè)地址(99H),發(fā)送緩沖器只能寫(xiě)入,不能讀出,接收緩沖器只能讀出,不能寫(xiě)入。它可以用于串行通信、擴(kuò)展I / O接口芯片。6、中斷系統(tǒng) 五源中斷、兩級(jí)優(yōu)先,可編程進(jìn)行控制第15頁(yè),共99頁(yè)。2.1.2單片機(jī)的內(nèi)部結(jié)構(gòu)7. 時(shí)鐘電路 MCS51芯片內(nèi)部有時(shí)

11、鐘電路,但晶體振蕩器和微調(diào)電容必須外接。時(shí)鐘電路為單片機(jī)產(chǎn)生時(shí)鐘脈沖序列,振蕩器的頻率范圍為1.2MHz12MHz,典型取值為6MHz。 80C51可高達(dá)40MHz8. 總線(xiàn) 以上所有組成部分都是通過(guò)總線(xiàn)連接起來(lái),從而構(gòu)成一個(gè)完整的單片機(jī)。系統(tǒng)的地址信號(hào)、數(shù)據(jù)信號(hào)和控制信號(hào)都是通過(guò)總線(xiàn)傳送的,總線(xiàn)結(jié)構(gòu)減少了單片機(jī)的連線(xiàn)和引腳,提高了集成度和可靠性。 內(nèi)部采用單總線(xiàn);外部采用三總線(xiàn)。第16頁(yè),共99頁(yè)。2.3 存儲(chǔ)器組織馮諾依曼結(jié)構(gòu):程序和數(shù)據(jù)共用一個(gè)存儲(chǔ)器邏輯空間,統(tǒng)一編址;公用相同的尋址方式、尋址空間和控制系統(tǒng)。哈佛結(jié)構(gòu):程序與數(shù)據(jù)分為兩個(gè)獨(dú)立存儲(chǔ)器邏輯空間,分開(kāi)編址;各有自己的尋址方式、尋

12、址空間和控制系統(tǒng)。2.3第17頁(yè),共99頁(yè)。2.3.1、80C51 存儲(chǔ)器特點(diǎn)物理結(jié)構(gòu)上4個(gè)存儲(chǔ)器地址空間:片內(nèi)程序存儲(chǔ)器空間,片內(nèi)數(shù)據(jù)存儲(chǔ)器空間片外程序存儲(chǔ)器空間,片外數(shù)據(jù)存儲(chǔ)器空間從用戶(hù)使用的角度,即邏輯上3個(gè)存儲(chǔ)器地址空間:256B 片內(nèi)數(shù)據(jù)存儲(chǔ)器00HFFH MOV64KB 片外數(shù)據(jù)存儲(chǔ)器0000HFFFFH MOVX64KB 片內(nèi)、片外統(tǒng)一程序存儲(chǔ)器 MOVC0000HFFFFH第18頁(yè),共99頁(yè)。2.3.1、80C51 存儲(chǔ)器特點(diǎn)第19頁(yè),共99頁(yè)。 數(shù)據(jù)存儲(chǔ)器的總體結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)器用來(lái)存放運(yùn)算的中間結(jié)果、標(biāo)志位,及數(shù)據(jù)的暫存和緩沖等。數(shù)據(jù)存儲(chǔ)器也分為片內(nèi)RAM和片外RAM兩部分:相

13、對(duì)獨(dú)立,分別編址;片內(nèi)RAM(256B)地址總線(xiàn)寬度為8位地址范圍為00HFFH地址指針用R0 R1訪(fǎng)問(wèn)時(shí)用“MOV”指令可分為數(shù)據(jù)RAM區(qū)和SFR區(qū)片外RAM(64K ) 參見(jiàn)第七章地址總線(xiàn)寬度為16位地址范圍為0000HFFFFH地址指針用DPTR R0 R1訪(fǎng)問(wèn)時(shí)只能用“MOVX”指令與擴(kuò)展I/O接口共用RAM2.32.3.2、片內(nèi)數(shù)據(jù)存儲(chǔ)器第20頁(yè),共99頁(yè)。 2.3.2、片內(nèi)數(shù)據(jù)存儲(chǔ)器 片外數(shù)據(jù)存儲(chǔ)器第21頁(yè),共99頁(yè)。1、片內(nèi)RAM(256B)片內(nèi)RAM在物理上又分為兩個(gè)獨(dú)立的功能不同的區(qū)域:(1)片內(nèi)數(shù)據(jù)RAM區(qū)51子系列地址空間為低128B 地址范圍為00H7FH52子系列地址

14、空間為256B 地址范圍為00HFFH00H7FH可直接、間接尋址80HFFH只能可用間接尋址(2)特殊功能寄存器區(qū)(SFR)地址空間為高128B 地址范圍為80HFFH只能用直接尋址訪(fǎng)問(wèn)第22頁(yè),共99頁(yè)。(1)、片內(nèi)數(shù)據(jù)RAM區(qū)工作寄存器區(qū):分四個(gè)R組字節(jié)地址:00H1FH每組由R0 R1 R2 R3 R4 R5 R6 R7組成R0、R1可作間接尋址的地址指針由PWS的RS1 RS0決定當(dāng)前工作R組位尋址區(qū):片內(nèi)數(shù)據(jù)RAM區(qū)字節(jié)地址:20H2FH位地址為:00H7FHSFR區(qū)字節(jié)地址能被8整除的12個(gè)SFR位地址為:80HFFH用戶(hù)RAM區(qū)數(shù)據(jù)緩沖區(qū)/堆棧區(qū):字節(jié)地址:00H7FH( FF

15、H)一般使用 30H7FH( FFH)FFH2552.330H48組組組組第23頁(yè),共99頁(yè)。表22 工作寄存器和RAM地址對(duì)照表 地址寄存器地址寄存器地址寄存器地址寄存器00HR008HR010HR018HR001HE109HR111HR119HR102HR20AHR212HR21AHR203HR30BHR313HR31BHR304HR40CHR414HR41CHR405HR50DHR515HR51DHR506HR60EHR616HR61EHR607HR70FHR717HR71FHR7工作寄存區(qū)0組RS1=0、RS0=0工作寄存區(qū)1組RS1=0、RS0=1工作寄存區(qū)2組RS1=1、RS0=0

16、工作寄存區(qū)3組RS1=1、RS0=1第24頁(yè),共99頁(yè)。復(fù)習(xí)提問(wèn)1、8051單片機(jī)內(nèi)部組成?2、畫(huà)出8051單片機(jī)引腳分布圖;3、畫(huà)出8052單片機(jī)內(nèi)部RAM的結(jié)構(gòu)圖;第25頁(yè),共99頁(yè)。第26頁(yè),共99頁(yè)。(2)、特殊功能寄存器SFRSFR:是一個(gè)具有特殊功能的RAM區(qū),占用字節(jié)地址:80HFFH 是用來(lái)對(duì)80C51片內(nèi)各功能模塊進(jìn)行集中管理、控制、監(jiān)視的控制寄存器和狀態(tài)寄存器。除PC和4組工作R組外,其余所有的R均在此地址范圍內(nèi)。2.3占用字節(jié)地址:離散分布于80HFFH位尋址寄存器:其字節(jié)地址可被8整除。占用位地址:離散分布于80HFFH第27頁(yè),共99頁(yè)。(2)、特殊功能寄存器SFR如

17、何掌握SFR:a、必須清楚SFR的字節(jié)地址、位地址、位定義;b、嚴(yán)格區(qū)分控制位和標(biāo)志位控制位:是編程人員按要求寫(xiě)入的控制操作位,如何控制?標(biāo)志位:是系統(tǒng)運(yùn)行時(shí)自動(dòng)形成的標(biāo)志,如何形成?c、了解標(biāo)志位的清除特性有的標(biāo)志位可由硬件自動(dòng)清除,集中在T0、T1、INT0、INT1有的標(biāo)志位則必須通過(guò)軟件指令清除,集中在串行、T280C51的功能模塊:I/O鎖存器: P0、P1、P2、P3定時(shí)/計(jì)數(shù)器: TCON、TMOD 、T0、 T1、T2串行通訊: PCON、SCON、SBUF中斷系統(tǒng): IE、IP專(zhuān)用寄存器:A、B、PSW、DPTR、SP第28頁(yè),共99頁(yè)。(1)累加器Acc (Accumula

18、tor)字節(jié)地址:E0H;位地址: E0HE7HA是CPU中使用最頻繁的一個(gè)8位寄存器A是專(zhuān)門(mén)存放操作數(shù)或運(yùn)算結(jié)果。即是ALU的一個(gè)輸入端,也是ALU的一個(gè)輸出端A相當(dāng)于一個(gè)數(shù)據(jù)中轉(zhuǎn)站CPU中的大多數(shù)數(shù)據(jù)傳送都要通過(guò)A這就造成計(jì)算機(jī)的瓶頸效應(yīng),產(chǎn)生堵塞現(xiàn)象在80C51中,增加一部分可以不經(jīng)過(guò)A的操作指令既加快運(yùn)算速度,有減少A的堵塞現(xiàn)象MOV R2,30HMOV R0,30HMOV R2,#3第29頁(yè),共99頁(yè)。返回(2)寄存器B字節(jié)地址:F0H;位地址: F0HF7H寄存器B(8位):專(zhuān)門(mén)為乘除法而設(shè)置的寄存器; 參見(jiàn)P53與A累加器配合執(zhí)行乘、除運(yùn)算;在乘除法指令中作為ALU的一個(gè)輸入端和

19、一個(gè)輸出端。1、乘法 MUL AB;積的高八位B,積的低八位A若(A)= 0A0H(160) (B)=50H(80), 則執(zhí)行MUL AB;結(jié)果乘積3200H(12800)(B)=32H , (A)=00H2、除法 DIV AB;被除數(shù)A,除數(shù)B,余數(shù)B,商A(B)=00H , (A)=02H3、也可用作通用寄存器。注意:其尋址方式為直接尋址MOV B,#30第30頁(yè),共99頁(yè)。(3)、堆棧指針SP(Stack Pointer)地址:81H 堆棧區(qū):是片內(nèi)RAM區(qū)中,數(shù)據(jù)按“先進(jìn)后出”或“后進(jìn)先出”方式組織的特殊區(qū)域堆棧指針SP:是存放當(dāng)前堆棧棧頂?shù)牡刂返囊粋€(gè)8位SFR堆棧操作:進(jìn)棧 PUSH

20、 A;SP自動(dòng)加1,將數(shù)據(jù)壓人SP所指向的單元出棧 POP A; 將SP所指向單元的內(nèi)容彈出,然后SP自動(dòng)減1;故SP始終指向棧頂。堆棧建立時(shí) :棧底=棧頂,堆棧內(nèi)容無(wú)效復(fù)位后(SP=07H) ,堆棧棧底為07H程序運(yùn)行時(shí),可以通過(guò)SP任意設(shè)定堆棧棧底MOV SP, #30H2.3第31頁(yè),共99頁(yè)。堆棧定義:是數(shù)據(jù)存儲(chǔ)器RAM中的一個(gè)特殊的區(qū)域;是一組按照“先進(jìn)后出”的方式工作的;是用來(lái)暫存信息的存儲(chǔ)單元。堆棧指針(SP):是一個(gè)8位地址寄存器,用來(lái)專(zhuān)門(mén)存放棧頂?shù)牡刂?;是?zhuān)門(mén)用來(lái)管理和控制堆棧的操作的指針。 堆棧的操作:壓棧;將數(shù)據(jù)壓入棧頂?shù)牟僮?PUSH Acc彈棧:把棧頂中的數(shù)據(jù)彈出來(lái)的

21、操作 POP B第32頁(yè),共99頁(yè)。堆棧的作用保留斷點(diǎn)地址、恢復(fù)斷點(diǎn)地址進(jìn)入子程序時(shí),將PC的當(dāng)前值壓入堆棧; PUSH PCL(執(zhí)行CALL sub或響應(yīng)中斷子程序) PUSH PCH子程序返回時(shí),將斷點(diǎn)地址彈出到PC中; POP PCH (執(zhí)行RET或IRET) POP PCL均由硬件自動(dòng)完成,無(wú)需軟件參與。保護(hù)現(xiàn)場(chǎng)、恢復(fù)現(xiàn)場(chǎng)進(jìn)入子程序后,首先將 A、B、R、SFR、PSW等壓入堆棧子程序返回之前,先彈出PSW 、SFR 、R 、B 、 A全靠軟件實(shí)現(xiàn) PUSH AccPOP PSW PUSH BPOP Ri PUSH RiPOP B PUSH PSWPOP Acc第33頁(yè),共99頁(yè)。(4

22、)程序狀態(tài)字PSW(Program Status Word)字節(jié)地址:D0HPSW:是一個(gè)8位SFR,存放指令執(zhí)行后的有關(guān)狀態(tài)。供查詢(xún)和判斷之用,用戶(hù)可按字節(jié)訪(fǎng)問(wèn),也可按位訪(fǎng)問(wèn)。D7HD6HD5HD4HD3HD2HD1HD0HCyACF0RS1RS0OVF1PCy進(jìn)(借)位標(biāo)志位,執(zhí)行加減運(yùn)算-由硬件置位或復(fù)位。保存算術(shù)運(yùn)算產(chǎn)生的進(jìn)位或借位 (1進(jìn)位 0無(wú)進(jìn)位)位操作的累加器C。AC輔助進(jìn)位標(biāo)志位,執(zhí)行加減運(yùn)算-由硬件置位或復(fù)位。運(yùn)算結(jié)果從D3產(chǎn)生進(jìn)位或借位時(shí)AC=1。主要用于BCD碼調(diào)整。F0 F1用戶(hù)標(biāo)志位,開(kāi)機(jī)時(shí)為0可以使用的位變量,該位可以隨PSW被保存。第34頁(yè),共99頁(yè)。D7D6D

23、5D4D3D2D1D0CyACF0RS1RS0OVF1POV溢出標(biāo)志位,當(dāng)執(zhí)行算術(shù)運(yùn)算指令時(shí),由硬件置位或復(fù)位。運(yùn)算結(jié)果超出A允許范圍時(shí),OV=1,否則OV=0 。帶符號(hào)數(shù)加(減)運(yùn)算:ADD A,#55H當(dāng)結(jié)果超出目的寄存器A所表示的帶符號(hào)數(shù)的范圍(-128+127)時(shí),OV=1,否則OV=0。判斷方法如下:最高位和次高位不同時(shí)產(chǎn)生進(jìn)(借)位時(shí),OV=1,否則OV=0。無(wú)符號(hào)數(shù)乘法時(shí):MUL AB若乘積超過(guò)A所表示的無(wú)符號(hào)數(shù)的范圍255時(shí),OV=1,否則OV=0。因此:若OV=0,則只需從A中取積即可。 若OV=1,則需從BA中取積。無(wú)符號(hào)數(shù)除法時(shí): DIV AB若除數(shù)B為零時(shí),OV=1,否

24、則OV=0。2.3第35頁(yè),共99頁(yè)。D7HD6HD5HD4HD3HD2HD1HD0HCyACF0RS1RS0OVF1PRS1,RS0寄存器組選擇位,只有軟件置位或復(fù)位 0 0 組0R0R7對(duì)應(yīng)的地址為00H07H 0 1 組1R0R7對(duì)應(yīng)的地址為08H0FH 1 0 組2R0R7對(duì)應(yīng)的地址為10H17H 1 1 組3R0R7對(duì)應(yīng)的地址為18H1FHP奇偶標(biāo)志位每個(gè)指令周期跟蹤累加器A中的內(nèi)容的奇偶性由硬件置位或復(fù)位。A中的1的個(gè)數(shù)為奇數(shù) P=1;A中的1的個(gè)數(shù)為偶數(shù) P=0;用于串行通信中的奇偶校驗(yàn)位,提高數(shù)據(jù)的可靠性2.3第36頁(yè),共99頁(yè)。(5)、數(shù)據(jù)指針DPTR(Data PoinTe

25、R)DPTR :在80C51中是一個(gè)功能特殊的16位寄存器;主要功能是作為片外RAM尋址用的地址R(間接尋址)也叫RAM地址指針當(dāng)執(zhí)行訪(fǎng)問(wèn)片外RAM的指令時(shí)作為外RAM的地址R如: MOV DPTR,#1234H;MOVX A,DPTR; 讀片外RAM到A中MOVX DPTR,A; 將A中的內(nèi)容寫(xiě)入外RAM中作為ROM的基地址R如: MOVC A,A+DPTR; JMP A+DPTR; 作為一個(gè)16位R來(lái)使用作為兩個(gè)8位R來(lái)使用 DPH高8位,DPL 低8位如: MOV DPTR,#1234H; INC DPTR; 如: MOV DPH,#12H; MOV DPL,#34H;第37頁(yè),共99頁(yè)

26、。(6)、程序計(jì)數(shù)器PC (Program Counter)PC=0000H程序存儲(chǔ)器ROM地址 程序代碼0000H 指令代碼1 0001H 指令代碼2 0002H 指令代碼3 N 指令代碼n PC=0001HPC=0002H指令寄存器是CPU控制器最基本的寄存器;是一個(gè)獨(dú)立的16位計(jì)數(shù)器;存放著下一條將要從程序存儲(chǔ)器中取出的指令的首地址PC當(dāng)前值PC 工作過(guò)程:讀指令時(shí),CPU將PC中的數(shù)據(jù)作為所取指令的地址輸出給ROM;然后ROM按此地址輸出指令字節(jié)到指令寄存器;同時(shí)PC本身自動(dòng)加1,指向下一條指令的地址。第38頁(yè),共99頁(yè)。程序計(jì)數(shù)器PC工作方式 2、PC 自動(dòng)加1: 實(shí)現(xiàn)指向下一條指令

27、的首地址, 每取一字節(jié)由CPU自動(dòng)完成,是最基本工作方式 3、在執(zhí)行轉(zhuǎn)移指令時(shí),PC被置入新的數(shù)值,程序的流程發(fā)生變化變化方式:相對(duì)短轉(zhuǎn)移 SJMP rel ;(PC) PC當(dāng)前值+rel 相對(duì)長(zhǎng)轉(zhuǎn)移 JMP A+DPTR ;(PC) (A+DPTR) 絕對(duì)轉(zhuǎn)移 AJMP addr11 ;(PC) PC當(dāng)前值1511Addr11 長(zhǎng)轉(zhuǎn)移 LJMP addr16 ;(PC) addr16 4、在執(zhí)行LCALL調(diào)用指令或響應(yīng)中斷時(shí): a、PC當(dāng)前值(即下一條將要執(zhí)行的指令的首地址)壓入堆棧,加以保護(hù); b、將子程序的入口地址或中斷矢量地址送入PC,程序流向發(fā)生變化, 執(zhí)行子程序或中斷服務(wù)程序 c、

28、當(dāng)子程序或中斷服務(wù)程序執(zhí)行完畢,遇到返回指令(RET 、RETI)時(shí), 將棧頂?shù)膬?nèi)容送入PC中,程序流程又返回到原來(lái)的地方,繼續(xù)執(zhí)行.1、復(fù)位清零: 單片機(jī)復(fù)位時(shí)PC=0000H 。 第39頁(yè),共99頁(yè)。2.3PC同DPTR的比較PC和DPTR :都是與地址有關(guān)的16位寄存器 16為地址均通過(guò)P2、P0口輸出PC DPTR 存放的是ROM中的地址 存放的是RAM中的地址 (也可是ROM中的地址 ) 訪(fǎng)問(wèn)ROM時(shí)與 PSEN有關(guān) 訪(fǎng)問(wèn)RAM時(shí)與 WR RD有關(guān) 不可直接訪(fǎng)問(wèn)(讀、寫(xiě)) 可直接訪(fǎng)問(wèn)(讀、寫(xiě)) 由硬件自動(dòng)加1 可用軟件加1只能做16位R 不僅能作為16位R, 也可分成兩個(gè)8位R PC

29、的變化一定影響程序的流程 DPTR的變化不一定影響程序的流程第40頁(yè),共99頁(yè)。1、ROM結(jié)構(gòu):整個(gè)ROM(64KB)可分為片內(nèi)和片外兩部分。CPU訪(fǎng)問(wèn)的是片內(nèi)還是片外低位存儲(chǔ)單元, 由引腳EA接不同電平確定。2.3.3 程序存儲(chǔ)器ROM80C51的ROM用于存放經(jīng)調(diào)試正確的應(yīng)用程序代碼和表格之類(lèi)的固定常數(shù)它以16位的程序計(jì)數(shù)器PC作為地址指針尋址的地址空間為64K(0000HFFFFH),且連續(xù)、統(tǒng)一編址當(dāng)EA=1(接高電平)時(shí)程序從片內(nèi)ROM(0000H)單元開(kāi)始執(zhí)行,當(dāng)PC值超出片內(nèi)ROM容量(0FFFH)時(shí),會(huì)自動(dòng)轉(zhuǎn)向片外ROM空間執(zhí)行當(dāng)EA=0(接低電平)時(shí)程序只從片外ROM(000

30、0H)單元中執(zhí)行,而不使用片內(nèi)ROM第41頁(yè),共99頁(yè)。2、 ROM中7個(gè)特殊存儲(chǔ)單元區(qū)域復(fù)位引導(dǎo)區(qū): (0000H0002H)系統(tǒng)的啟動(dòng)、引導(dǎo)地址區(qū):系統(tǒng)復(fù)位入口地址區(qū)。存放一條長(zhǎng)轉(zhuǎn)移指令,使之轉(zhuǎn)向用戶(hù)主程序處執(zhí)行LJMP addr16;可在64K范圍內(nèi)無(wú)條件轉(zhuǎn)移中斷服務(wù)程序入口地址區(qū): 0003H000AH外部中斷INT0入口地址區(qū)000BH0012H計(jì)時(shí)器T0溢出中斷入口地址區(qū)0013H001AH外部中斷INT1入口地址區(qū)001BH0022H計(jì)時(shí)器T1溢出中斷入口地址區(qū)0023H002AH串行口中斷入口地址區(qū)002BH0032H計(jì)時(shí)器T2溢出中斷入口地址區(qū)存放一條長(zhǎng)轉(zhuǎn)移指令,轉(zhuǎn)向真正中斷

31、程序的實(shí)際入口位置2.3第42頁(yè),共99頁(yè)。3、 ROM的操作寫(xiě)指令(程序、常數(shù))-需要專(zhuān)用的編程器完成取指令以PC當(dāng)前值讀ROM的程序代碼內(nèi)容取數(shù)據(jù)讀ROM的數(shù)據(jù)內(nèi)容查表操作改變PC當(dāng)前值的方式:即改變CPU讀取程序代碼的位置復(fù)位控制PC為系統(tǒng)啟動(dòng)地址0000H硬件自加1中斷控制PC為中斷入口地址0003H002BH轉(zhuǎn)移控制PC為轉(zhuǎn)移目的地址調(diào)用控制PC為調(diào)用子程序的開(kāi)始地址查表操作:MOVC A,A+DPTR;MOVC A,A+PC;2.3第43頁(yè),共99頁(yè)。4、 片內(nèi)ROM與單片機(jī)的型號(hào)有關(guān)片內(nèi)ROM的類(lèi)型有:查閱產(chǎn)品資料掩膜ROMMaskROM 80C51 80C52一次編程ROMOT

32、P PIC16/17多次編程ROMMTP(EPROM EEPROM FlashROM)87C51內(nèi)有4KEPROM 87C52內(nèi)有8KEPROM89C51內(nèi)有4KEEPROM 89C52內(nèi)有8KEEPROM80C31和80C32內(nèi)無(wú)ROMSST89C54 20KFashROM SST89C58 32KFashROM SST89E564RD 72KFashROM返回2.3第44頁(yè),共99頁(yè)。2.3.4 、片外數(shù)據(jù)存儲(chǔ)器RAM 詳見(jiàn)第七章對(duì)外RAM的訪(fǎng)問(wèn)只能R間接尋址間址R有 R0 R1尋址范圍256B數(shù)據(jù)指針DPTR 尋址范圍64KB 。外RAM和擴(kuò)展的I/O只能與A交換數(shù)據(jù)MOVX A,DPT

33、R ;讀外RAM或擴(kuò)展的I/O口尋址范圍64KBMOVX DPTR, A ;寫(xiě)外RAM或擴(kuò)展的I/O口尋址范圍64KBMOVX A,R0 ;讀外RAM或擴(kuò)展的I/O口尋址范圍256BMOVX R0,A ;寫(xiě)外RAM或擴(kuò)展的I/O口尋址范圍256B外RAM區(qū)和擴(kuò)展的I/O口統(tǒng)一編址擴(kuò)展的I/O口的地址均占用外RAM地址單元對(duì)擴(kuò)展的I/O口操作和外RAM完全一樣返回2.3第45頁(yè),共99頁(yè)。片外數(shù)據(jù)存儲(chǔ)器RAM將外RAM的 516FH單元的數(shù)據(jù)送入累加器A用DPTR指針的操作指令:MOV DPTR,#516FH;MOVX A,DPTR ;用P2口分頁(yè)尋址和R0指針的操作指令:MOV R0,# 6F

34、H;MOV P2,#51H;MOVX A,R0 ;返回2.3第46頁(yè),共99頁(yè)。 小結(jié):1、MCS-51系列機(jī)種類(lèi)2、MCS-51內(nèi)部結(jié)構(gòu)有幾部分?特點(diǎn)?3、MCS-51機(jī)DIP有多少引腳?ALE、/PSEN、/EA的作用?4、MCS51存儲(chǔ)結(jié)構(gòu)分配是怎樣的?5、SFR中各寄存器的名稱(chēng)?作業(yè): P36 一、二第47頁(yè),共99頁(yè)。復(fù)習(xí)提問(wèn)1、8051單片機(jī)內(nèi)部組成?2、畫(huà)出8051單片機(jī)引腳分布圖;3、畫(huà)出8052單片機(jī)內(nèi)部RAM的結(jié)構(gòu)圖;第48頁(yè),共99頁(yè)。第49頁(yè),共99頁(yè)。表2-4特殊功能寄存器SFR地址表SFR名位地址、位名字節(jié)地址D7D6D5D4D3D2D1D0P087H86H85H8

35、4H83H82H81H80H80HP0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0P197H96H95H94H93H92H91H90H90HP1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0P2A7HA6HA5HA4HA3HA2HA1HA0HA0HP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P3B7HB6HB5HB4HB3HB2HB1HB0HB0HP3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.0第50頁(yè),共99頁(yè)。2.4 并行I/O接口電路結(jié)構(gòu)及應(yīng)用特征1、4個(gè)雙向的8位I/O端口P0P3;2、每個(gè)端口除了按字節(jié)尋址外,還可以按

36、位尋址。3、每個(gè)端口包含一個(gè)鎖存器、一個(gè)輸出驅(qū)動(dòng)器和二個(gè)輸入緩沖器 第51頁(yè),共99頁(yè)。2.4 并行I/O接口電路結(jié)構(gòu)及應(yīng)用特征1、典型結(jié)構(gòu)輸出結(jié)構(gòu):輸出鎖存器+驅(qū)動(dòng)器引腳輸入結(jié)構(gòu):輸入引腳+輸入緩沖器2、準(zhǔn)雙向I/O口結(jié)構(gòu) -不需擴(kuò)展外部存儲(chǔ)器時(shí) 輸入操作是讀引腳狀態(tài),有條件; 輸出操作是對(duì)口鎖存器的寫(xiě)入操作,無(wú)條件 讀-修改-寫(xiě)操作是對(duì)口鎖存器的讀入操作,修改后再寫(xiě)入到鎖存器中,無(wú)條件 3、I/O的復(fù)用結(jié)構(gòu) - 需要擴(kuò)展外部存儲(chǔ)器時(shí) 總線(xiàn)復(fù)用(P0 P2) 功能復(fù)用(P3) CPU按當(dāng)前操作自動(dòng)進(jìn)行功能切換第52頁(yè),共99頁(yè)。2.4.1、P0口的結(jié)構(gòu)及應(yīng)用特征1、電路結(jié)構(gòu):1個(gè)鎖存器、2個(gè)

37、三態(tài)輸入緩沖器、 1個(gè)輸出驅(qū)動(dòng)電路T1、T2 和1個(gè)多路復(fù)用開(kāi)關(guān)MUX、控制電路C第53頁(yè),共99頁(yè)。2.4.1、P0口的結(jié)構(gòu)及應(yīng)用特征 2、通用I/O口狀態(tài);即不擴(kuò)展存儲(chǔ)器,硬件自動(dòng)使 C=0(1)通用I/O口的“寫(xiě)”:輸出數(shù)據(jù)0、1內(nèi)部總線(xiàn) 鎖存器Q MUX T2 P0 xMOV P0,A ; MOV P0.1,C第54頁(yè),共99頁(yè)。2.4.1、P0口的結(jié)構(gòu)及應(yīng)用特征 2、通用I/O口狀態(tài);即 C=0(1)通用I/O口的“寫(xiě)”:輸出數(shù)據(jù)0、1內(nèi)部總線(xiàn) 鎖存器Q MUX T2 P0 x需要外接上拉電阻第55頁(yè),共99頁(yè)。2.4.1、P0口的結(jié)構(gòu)及應(yīng)用特征 2、通用I/O口; C=0(2)通用

38、I/O口的“讀”:輸入引腳數(shù)據(jù): (讀引腳):P0 x 下三態(tài)門(mén) D 內(nèi)部總線(xiàn)。MOV A, P0 ; MOV C, P0.1準(zhǔn)雙向性:輸入有條件,輸出無(wú)條件第56頁(yè),共99頁(yè)。2.4.1、P0口的結(jié)構(gòu)及應(yīng)用特征 2、通用I/O口; C=0(3)通用I/O口的“讀-修改-寫(xiě)”:(讀鎖存器)Q 上三態(tài)門(mén) D 內(nèi)部總線(xiàn) CPU修改 內(nèi)部總線(xiàn) 鎖存器Q MUX T2 P0 xANL P0,#30H第57頁(yè),共99頁(yè)。2.4.1、P0口的結(jié)構(gòu)及應(yīng)用特征3、地址/數(shù)據(jù)總線(xiàn):擴(kuò)展存儲(chǔ)器,硬件自動(dòng)使 C=1,是一個(gè)真正的雙向口。執(zhí)行輸出指令:MOVX DPTR,A執(zhí)行輸入指令:MOVX A,DPTR第58頁(yè)

39、,共99頁(yè)。2.4.1、P0口的結(jié)構(gòu)及應(yīng)用特征4、P0口應(yīng)用特征總結(jié):(1)P0既可按字節(jié)尋址,又可按位尋址; (2)P0口可作通用I/O口,又可作地址/數(shù)據(jù)總線(xiàn)口;(3)P0作通用I/O 口輸入時(shí):是準(zhǔn)雙向口;先寫(xiě)1。(4)P0作通用I/O 口輸出時(shí):是開(kāi)漏輸出;需外接上拉電阻。(5)P0作地址/數(shù)據(jù)總線(xiàn)口時(shí),P0是一真正雙向口,而作通用I/O口時(shí),只是一個(gè)準(zhǔn)雙向口。(6)可帶8個(gè)TTL輸入。第59頁(yè),共99頁(yè)。1、 P0用作通用I/O口 當(dāng)系統(tǒng)不進(jìn)行片外的ROM擴(kuò)展,也不進(jìn)行片外RAM擴(kuò)展時(shí),單片機(jī)硬件自動(dòng)使C=0,MUX開(kāi)關(guān)接向鎖存器的反相輸出端。這時(shí)P0用作通用I/O口。 另外,與門(mén)輸

40、出的“0”使輸出驅(qū)動(dòng)器的上拉場(chǎng)效應(yīng)管T1處于截止?fàn)顟B(tài)。因此,輸出驅(qū)動(dòng)級(jí)工作在需外接上拉電阻的漏極開(kāi)路方式。第60頁(yè),共99頁(yè)。作輸出口時(shí),CPU執(zhí)行口的輸出指令,內(nèi)部數(shù)據(jù)總線(xiàn)上的數(shù)據(jù)在“寫(xiě)鎖存器”信號(hào)的作用下由D端進(jìn)入鎖存器,經(jīng)鎖存器的反向端送至場(chǎng)效應(yīng)管T2,再經(jīng)T2反向,在P0.X引腳出現(xiàn)的數(shù)據(jù)正好是內(nèi)部總線(xiàn)的數(shù)據(jù)。MOV P0,A MOV P0.1,C 作輸入口時(shí),數(shù)據(jù)可以讀自口的鎖存器,也可以讀自口的引腳。這要根據(jù)輸入操作采用的是“讀鎖存器”指令還是“讀引腳”指令來(lái)決定。ANL P0,#30H MOV A,P0 第61頁(yè),共99頁(yè)。 執(zhí)行“讀修改寫(xiě)”類(lèi)輸入指令時(shí)(如:ANL P0,A),

41、內(nèi)部產(chǎn)生的“讀鎖存器”操作信號(hào),使鎖存器Q端數(shù)據(jù)進(jìn)入內(nèi)部數(shù)據(jù)總線(xiàn),在與累加器A進(jìn)行邏輯運(yùn)算之后,結(jié)果又送回P0的口鎖存器并出現(xiàn)在引腳。讀口鎖存器可以避免因外部電路原因使原口引腳的狀態(tài)發(fā)生變化造成的誤讀。第62頁(yè),共99頁(yè)。 在執(zhí)行“MOV”類(lèi)輸入指令時(shí)(如:MOV A,P0),內(nèi)部產(chǎn)生的操作信號(hào)是“讀引腳”。注意,在執(zhí)行該類(lèi)輸入指令前要先把鎖存器寫(xiě)入“1”,使場(chǎng)效應(yīng)管T2截止,使引腳處于懸浮狀態(tài),可以作為高阻抗輸入。 否則,在作為輸入方式之前曾向鎖存器輸出過(guò)“0”,則T2導(dǎo)通會(huì)使引腳箝位在“0”電平,使輸入高電平“1”無(wú)法讀入。所以,P0口在作為通用I/O口時(shí),屬于準(zhǔn)雙向口。第63頁(yè),共99頁(yè)

42、。2、P0用作地址/數(shù)據(jù)總線(xiàn) 當(dāng)系統(tǒng)進(jìn)行片外的ROM擴(kuò)展或進(jìn)行片外RAM擴(kuò)展,單片機(jī)內(nèi)硬件自動(dòng)使C=1,MUX開(kāi)關(guān)接向反相器的輸出端,這時(shí)與門(mén)的輸出由地址/數(shù)據(jù)線(xiàn)的狀態(tài)決定,這時(shí)P0用作地址/數(shù)據(jù)總線(xiàn)。第64頁(yè),共99頁(yè)。CPU在執(zhí)行輸出指令時(shí),低8位地址信息和數(shù)據(jù)信息分時(shí)地出現(xiàn)在地址/數(shù)據(jù)總線(xiàn)上。P0.X引腳的狀態(tài)與地址/數(shù)據(jù)線(xiàn)的信息相同。CPU在執(zhí)行輸入指令時(shí),首先低8位地址信息出現(xiàn)在地址/數(shù)據(jù)總線(xiàn)上,P0.X引腳的狀態(tài)與地址/數(shù)據(jù)總線(xiàn)的地址信息相同。然后,CPU自動(dòng)地使轉(zhuǎn)換開(kāi)關(guān)MUX撥向鎖存器,并向P0口寫(xiě)入FFH,同時(shí)“讀引腳”信號(hào)有效,數(shù)據(jù)經(jīng)緩沖器進(jìn)入內(nèi)部數(shù)據(jù)總線(xiàn)。 P0口作為地址/

43、數(shù)據(jù)總線(xiàn)使用時(shí)是一個(gè)真正的雙向口。第65頁(yè),共99頁(yè)。2.4.2、 P口的結(jié)構(gòu)及應(yīng)用特征 P1口由一個(gè)輸出鎖存器、兩個(gè)三態(tài)輸入緩沖器和輸出驅(qū)動(dòng)電路組成,內(nèi)部設(shè)有上拉電阻; P1口是通用的準(zhǔn)雙向I/O口。第66頁(yè),共99頁(yè)。2.4.2、 P口的結(jié)構(gòu)及應(yīng)用特征應(yīng)用特點(diǎn)(1)只能作I / O口用,且是一個(gè)準(zhǔn)雙向口;(2)可按字節(jié)尋址,也可按位尋址(3)無(wú)地址/數(shù)據(jù)口功能,可驅(qū)動(dòng)4個(gè)LSTTL負(fù)載第67頁(yè),共99頁(yè)。 P1口由一個(gè)輸出鎖存器、兩個(gè)三態(tài)輸入緩沖器和輸出驅(qū)動(dòng)電路組成。輸出驅(qū)動(dòng)電路與P2口相同,內(nèi)部設(shè)有上拉電阻。 P1口是通用的準(zhǔn)雙向I/O口。輸出高電平時(shí),能向外提供拉電流負(fù)載,不必再接上拉

44、電阻。當(dāng)口用作輸入時(shí),須向口鎖存器寫(xiě)入1。第68頁(yè),共99頁(yè)。2.4.3、 P口的應(yīng)用特征1、P2用作通用I/O口 2、P2用作地址總線(xiàn) A15A8第69頁(yè),共99頁(yè)。2.4.3、 P口的應(yīng)用特征(1)當(dāng)P2口作為通用I / O時(shí),是一準(zhǔn)雙向口。(2)從P2口輸入數(shù)據(jù)時(shí),先向鎖存器寫(xiě)“1”。(3)可位尋址,也可按字節(jié)尋址(4)可輸出地址高8位。第70頁(yè),共99頁(yè)。1、 P2用作通用I/O口 當(dāng)不在單片機(jī)芯片外部擴(kuò)展程序存儲(chǔ)器,只擴(kuò)展256B的片外RAM時(shí),僅用到了地址線(xiàn)的低8位,P2口仍可以作為通用I/O口使用。 執(zhí)行輸出指令時(shí),內(nèi)部數(shù)據(jù)總線(xiàn)的數(shù)據(jù)在“寫(xiě)鎖存器”信號(hào)的作用下由D端進(jìn)入鎖存器,經(jīng)

45、反相器后送至場(chǎng)效應(yīng)管T,再經(jīng)T反相,在P2.X引腳出現(xiàn)的數(shù)據(jù)正好是內(nèi)部總線(xiàn)的數(shù)據(jù)。 P2口用作輸入時(shí),數(shù)據(jù)可以讀自口的鎖存器,也可以讀自口的引腳。這要根據(jù)輸入操作采用的是“讀鎖存器”指令還是“讀引腳”指令來(lái)決定。第71頁(yè),共99頁(yè)。 執(zhí)行“讀修改寫(xiě)”類(lèi)輸入指令時(shí)內(nèi)部產(chǎn)生的“讀鎖存器”操作信號(hào)使鎖存器Q端數(shù)據(jù)進(jìn)入內(nèi)部數(shù)據(jù)總線(xiàn),在與累加器A進(jìn)行邏輯運(yùn)算之后,結(jié)果又送回P2的口鎖存器并出現(xiàn)在引腳。 執(zhí)行“MOV”類(lèi)輸入指令時(shí),內(nèi)部產(chǎn)生的操作信號(hào)是“讀引腳”。應(yīng)在執(zhí)行輸入指令前要把鎖存器寫(xiě)入“1”,從而使引腳處高阻抗輸入狀態(tài)。 P2口在作為通用I/O口時(shí),屬于準(zhǔn)雙向口。 第72頁(yè),共99頁(yè)。2、P2用

46、作地址總線(xiàn) 當(dāng)需要在單片機(jī)芯片外部擴(kuò)展程序存儲(chǔ)器或擴(kuò)展的RAM容量超過(guò)256字節(jié)時(shí),單片機(jī)內(nèi)硬件自動(dòng)使控制C=1,MUX開(kāi)關(guān)接向地址線(xiàn),這時(shí)P2.X引腳的狀態(tài)正好與地址線(xiàn)的信息相同。第73頁(yè),共99頁(yè)。2.4.4、 P口的應(yīng)用特征1、P3用作第一功能(通用I/O口) 對(duì)P3口進(jìn)行字節(jié)或位尋址時(shí),單片機(jī)內(nèi)部的硬件自動(dòng)將第二功能輸出線(xiàn)的W置1。這時(shí),對(duì)應(yīng)的口線(xiàn)為通用I/O口方式,屬于準(zhǔn)雙向口。第74頁(yè),共99頁(yè)。1、P3用作第一功能(通用I/O口) 對(duì)P3口進(jìn)行字節(jié)或位尋址時(shí),單片機(jī)內(nèi)部的硬件自動(dòng)將第二功能輸出線(xiàn)的W置1。這時(shí),對(duì)應(yīng)的口線(xiàn)為通用I/O口方式。輸出時(shí),鎖存器的狀態(tài)(Q端)與輸出引腳的

47、狀態(tài)相同;輸入時(shí),要先向口鎖存器寫(xiě)入1,使引腳處于高阻輸入狀態(tài)。輸入的數(shù)據(jù)在“讀引腳”信號(hào)的作用下,進(jìn)入內(nèi)部數(shù)據(jù)總線(xiàn)。 P3口作為通用I/O口時(shí),屬于準(zhǔn)雙向口。第75頁(yè),共99頁(yè)。2、P3用作第二功能使用 當(dāng)CPU不對(duì)P3口進(jìn)行字節(jié)或位尋址時(shí),內(nèi)部硬件自動(dòng)將口鎖存器的Q端置1。這時(shí),P3口作為第二功能使用。P3.0 :RXD(串行口輸入);P3.1 :TXD(串行口輸出);P3.2 : 外部中斷0輸入;P3.3 : 外部中斷1輸入;P3.4 :T0(定時(shí)器0的外部輸入);P3.5 :T1(定時(shí)器1的外部輸入);P3.6 : (片外數(shù)據(jù)存儲(chǔ)器“寫(xiě)”選通控制輸出);P3.7 : (片外數(shù)據(jù)存儲(chǔ)器“

48、讀”選通控制輸出)。第76頁(yè),共99頁(yè)。2.4.5 并行口 小結(jié):1、P0口:地址低8位與數(shù)據(jù)線(xiàn)分時(shí)使用端口2、P1口:按位可編址的輸入輸出端口,3、P2口:地址高8位輸出口4、P3口:雙功能口。若不用第二功能,也可作通用I / O 口。5、按三總線(xiàn)劃分:地址線(xiàn):P0低八位地址,P2高八地址;數(shù)據(jù)線(xiàn):P0輸入輸出8位數(shù)據(jù);控制線(xiàn):P3口的8位加上/PSEN、ALE共同完成控制總線(xiàn)。第77頁(yè),共99頁(yè)。2.5.1、時(shí)鐘電路2.5、時(shí)鐘電路與CPU時(shí)序2.5.2、時(shí)序、定時(shí)單位2.5.3、典型指令的取指、執(zhí)行時(shí)序2.3自學(xué)第78頁(yè),共99頁(yè)。80C51 時(shí)鐘系統(tǒng)是一個(gè)內(nèi)含高增益反向放大器時(shí)鐘振蕩器

49、、外接諧振器、可關(guān)斷控制的時(shí)鐘系統(tǒng)2.5.1、時(shí)鐘電路第79頁(yè),共99頁(yè)。2.5.1、時(shí)鐘電路1、 80C51的內(nèi)部時(shí)鐘方式內(nèi)時(shí)鐘方式:利用80C51內(nèi)部帶有的時(shí)鐘電路,在片外通過(guò)引腳X1和X2接入定時(shí)控制元件(晶體振蕩器和電容),既可構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。 第80頁(yè),共99頁(yè)。2、80C51的外部時(shí)鐘方式外部時(shí)鐘方式:外部振蕩器輸入時(shí)鐘。常用于多機(jī)系統(tǒng)返回2.3第81頁(yè),共99頁(yè)。2.5.2、時(shí)序、定時(shí)單位啟動(dòng)單片機(jī)后,指令執(zhí)行順序取指令 分析指令 執(zhí)行指令一條指令的執(zhí)行可以分解為若干基本的微操作,而這些微操作所對(duì)應(yīng)的脈沖信號(hào),在時(shí)間上有嚴(yán)格的先后次序這些次序就是計(jì)算機(jī)的時(shí)序第82頁(yè),共

50、99頁(yè)。2.5.2、時(shí)序、定時(shí)單位振蕩周期:是指為單片機(jī)提供時(shí)鐘信號(hào)的振蕩源的周期-節(jié)拍P狀態(tài)周期S:是振蕩脈沖的二分頻,是振蕩周期的兩倍,被振蕩周期分成兩個(gè)節(jié)拍P1 P2機(jī)器周期:CPU完成一個(gè)基本操作所需要的時(shí)間。一個(gè)機(jī)器周期由6個(gè)狀態(tài)周期(12個(gè)振蕩周期)組成。依次為S1P1(狀態(tài)1第一拍)、S1P2、S2P1S6P2共12拍每個(gè)節(jié)拍持續(xù)一個(gè)振蕩周期,每個(gè)狀態(tài)持續(xù)2個(gè)振蕩周期指令周期:一條指令的執(zhí)行時(shí)間第83頁(yè),共99頁(yè)。返回指令周期:一條指令的執(zhí)行時(shí)間一條指令可用機(jī)器周期來(lái)劃分若干階段,每個(gè)階段(機(jī)器周期)完成一個(gè)基本操作80C51指令按執(zhí)行時(shí)間,以機(jī)器周期為單位分為:?jiǎn)沃芷凇㈦p周期和

51、四周期指令80C51指令按占有空間,以字節(jié)為單位可分為:?jiǎn)巫止?jié)、雙字節(jié)和三字節(jié)指令1機(jī)器周期=6個(gè)狀態(tài)周期=12個(gè)振蕩周期如外接晶振為12MHZ時(shí),MCS-51中的四個(gè)周期的具體值為:振蕩周期=狀態(tài)周期=機(jī)器周期=指令周期=1/12us1/6us1us14us2.3第84頁(yè),共99頁(yè)。2.5.3 典型指令的取指、執(zhí)行時(shí)序由于單片機(jī)內(nèi)部時(shí)鐘信號(hào)外部無(wú)法觀(guān)測(cè),則以振蕩信號(hào)XTAL和ALE引腳信號(hào)為參考。ALE信號(hào)是為地址鎖存而定義的,該ALE信號(hào)每有效一次,CPU通過(guò)P2和P0口輸出16位地址信息對(duì)應(yīng)單片機(jī)進(jìn)行一次讀指令操作。每個(gè)機(jī)器周期,ALE信號(hào)兩次有效,輸出高電平有效信號(hào)。一次在S1P2到S

52、2P1期間,有效寬度為一個(gè)狀態(tài)。一次在S4P2到S5P1期間,有效寬度為一個(gè)狀態(tài)。但訪(fǎng)問(wèn)外RAM期間ALE端少輸出一個(gè)有效信號(hào),所以ALE輸出頻率為振蕩脈沖的1/6,且不穩(wěn)定。第85頁(yè),共99頁(yè)。返回2.5.3 典型指令的取指、執(zhí)行時(shí)序第86頁(yè),共99頁(yè)。2.6 MCS-51單片機(jī)的工作方式一、復(fù)位方式、復(fù)位電路二、程序執(zhí)行方式三、單步執(zhí)行方式四、掉電和低功耗方式五 EPROM編程和校驗(yàn)(自學(xué))第87頁(yè),共99頁(yè)。返回一、復(fù)位方式1、復(fù)位條件:時(shí)鐘電路(晶振)工作后,在RST引腳上出現(xiàn)持續(xù)2個(gè)機(jī)器周期的以上高電平時(shí),單片機(jī)實(shí)現(xiàn)初始化復(fù)位;保證系統(tǒng)可靠地復(fù)位,設(shè)計(jì)復(fù)位電路時(shí),通常是RST引腳保持10ms以上的高電平。若RST引腳保持高電平,則單片機(jī)將循環(huán)復(fù)位當(dāng)RST引腳從高電

溫馨提示

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