版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,1,第二章 單片機(jī)組成與工作原理,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,2,MCS-51系統(tǒng)單片機(jī)是INTEL公司在MCS-48系列單片機(jī)的基礎(chǔ)之上推出的高性能8位單片機(jī)。它基本上可以滿足用戶的一般要求,它是工業(yè)過程控制、智能化儀器、數(shù)控機(jī)床、位總線分布式控制、以及通信系統(tǒng)的優(yōu)選機(jī)種。 2.1 單片機(jī)結(jié)構(gòu)及組成 2.2 微處理器(CPU) 2.3 單片機(jī)的存儲(chǔ)器組織 2.4 定時(shí)器/計(jì)數(shù)器 2.5 并行輸入/輸出口 2.6 串行輸入/輸出接口 2.7 中斷系統(tǒng) 2.8 特殊工作方式,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編
2、寫組,3,2.1.1 單片機(jī)的系統(tǒng)資源及主要性能特點(diǎn),2.1 單片機(jī)結(jié)構(gòu)及組成,1. 系統(tǒng)資源 8031內(nèi)包括: 1個(gè)8位CPU; 128個(gè)字節(jié)RAM; 21個(gè)特殊功能寄存器; 4個(gè)8位并行I/O口; 1個(gè)全雙工串行口(二根線); 2個(gè)16位定時(shí)計(jì)數(shù)器器; 1個(gè)片內(nèi)振蕩器和時(shí)鐘電路; 5個(gè)中斷源2個(gè)中斷優(yōu)先級(jí);,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,4,2. 性能特點(diǎn) 單片機(jī)為哈佛結(jié)構(gòu)的計(jì)算機(jī),除上述基本資源外,還具有如下特點(diǎn): 外部程序存儲(chǔ)器:可擴(kuò)展到64KB; 外部數(shù)據(jù)存儲(chǔ)器:可擴(kuò)展到64KB; 堆棧:最深128B/256B; 輸入/輸出口線:32根; 寄存器區(qū):劃出RAM中
3、32B作為通用寄存器; 具有位尋址功能; 單一“+5V”電源; 系統(tǒng)時(shí)鐘112 MHz,常用12MHz、11.0592MHz 和 6MHz。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,5,2.1.2 單片機(jī)基本結(jié)構(gòu),1. 內(nèi)部結(jié)構(gòu)框圖,包括: CPU、存儲(chǔ)器(ROM、RAM)、I/O接口等計(jì)算機(jī)的基本組成。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,6,1)CPU(微處理器) MCS-51單片機(jī)中有1個(gè)8位的CPU,包括了運(yùn)算器和控制器。 MCS-51增加了面向控制的處理功能,不僅可處理字節(jié)數(shù)據(jù),還可以進(jìn)行位變量的處理。 2)數(shù)據(jù)存儲(chǔ)器(RAM) 片內(nèi)為128個(gè)字節(jié)(52子
4、系列的為256個(gè)字節(jié)),片外最多可外擴(kuò)64K字節(jié)。 片內(nèi)的128個(gè)字節(jié)的RAM,以高速RAM的形式集成在單片機(jī)內(nèi),可以加快單片機(jī)運(yùn)行的速度,而且這種結(jié)構(gòu)的RAM還可以降低功耗。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,7,3)程序存儲(chǔ)器(ROM/EPROM) 8031無此部件;8051為4K字節(jié)ROM;8751則為4K字節(jié)EPROM。 如果片內(nèi)只讀存儲(chǔ)器的容量不夠,則需用擴(kuò)展片外只讀存儲(chǔ)器,片外最多可外擴(kuò)至64K字節(jié)。 4)中斷系統(tǒng) 具有5個(gè)中斷源,2級(jí)中斷優(yōu)先權(quán)。 5)定時(shí)器/計(jì)數(shù)器 片內(nèi)有2個(gè)16位的定時(shí)器/計(jì)數(shù)器(52子系列有3個(gè)16位的定時(shí)器/計(jì)數(shù)器),具有四種工作方式。,
5、2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,8,6)串行口 1個(gè)全雙工的串行口,具有四種工作方式,進(jìn)行串行通訊。 作用:擴(kuò)展并行I/O口,甚至與多個(gè)單片機(jī)相連構(gòu)成多機(jī)系統(tǒng),從而使單片機(jī)的功能更強(qiáng)且應(yīng)用更廣。 7)P1口、P2口、P3口、P0口 為4個(gè)并行8位I/O口。 8)特殊功能寄存器(SFR) 特殊功能寄存器共有21個(gè),用于CPU對(duì)片內(nèi)各功能部件進(jìn)行管理、控制、監(jiān)視。實(shí)際上是一些控制寄存器和狀態(tài)寄存器。 是一個(gè)具有特殊功能的RAM區(qū)。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,9,2. 外部引腳(40個(gè)),MCS-51芯片邏輯符號(hào),MCS-51雙列直插封裝方式的引腳,20
6、20/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,10,引腳可分為四類: 1)電源引腳VCC和VSS VCC:40腳,電源端,+5V VSS:20腳,接地端(GND) 2)時(shí)鐘電路引腳 XTAL1:19腳,外接晶振輸入引腳。 XTAL2:18腳,外接晶振輸出引腳。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,11,3)控制線引腳 (1)RST/VPD :9腳,復(fù)位/備用電源。 RST-通過外接復(fù)位電路實(shí)現(xiàn)上電復(fù)位或按鍵復(fù)位。 VPD-可外接備用電源,在VCC掉電時(shí)向RAM供電。 (2)/VPP :31腳,內(nèi)外ROM的選擇/ EPROM編程電源。 /VPP =0:訪問外部ROM; /VPP
7、 =1:訪問內(nèi)部ROM; PC值超過0FFFH(4KB)時(shí),自動(dòng)轉(zhuǎn)向外ROM。 VPP -在8751片內(nèi)EPROM編程期間,為21V編程電源輸入端。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,12,(3)ALE/ :30腳,地址鎖存允許/編程脈沖。 ALE-訪問外ROM或RAM時(shí),用來驅(qū)動(dòng)地址鎖存器鎖存P0口分時(shí)送出的低8位地址(下降沿有效)。不訪問外存儲(chǔ)器時(shí),該端以1/6時(shí)鐘頻率輸出正脈沖,可用作為外部時(shí)鐘。帶8個(gè)LS型TTL門電路。 - 8751片內(nèi)EPROM編程期間,此引腳輸入編程脈沖。 (4) :29腳,讀外部ROM選通信號(hào)。 該腳有效時(shí)(上升沿),外ROM允許輸出。每個(gè)機(jī)器
8、周期2次有效。從內(nèi)部ROM取指時(shí)不產(chǎn)生。可帶8個(gè)LS型TTL門電路。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,13,4)I/O引腳 P0口:P0.0P0.7,3932腳,外接存儲(chǔ)器時(shí)作地址/數(shù)據(jù)分時(shí)使用口線;不接外部存儲(chǔ)器時(shí),可用作為8位準(zhǔn)雙向I/O口。 P1口:P1.0P1.7,18腳,8位準(zhǔn)雙向I/O口。 P2口:P2.0P2.7,2128腳,8位準(zhǔn)雙向I/O口。外接存儲(chǔ)器時(shí)作為高8位地址總線。 P3口:P3.0P3.7,1017腳,8位準(zhǔn)雙向I/O口,出于芯片引腳數(shù)的限制,P3口具有第二輸出、輸入功能。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,14,2.2 微處理
9、器(CPU),CPU是單片機(jī)內(nèi)部的核心部件。MCS-51單片機(jī)的CPU由運(yùn)算器、控制器以及位處理器(布爾處理器)組成。 2.2.1 運(yùn)算器 運(yùn)算器主要用來對(duì)操作數(shù)進(jìn)行算術(shù)、邏輯運(yùn)算和位操作的。主要包括算術(shù)邏輯運(yùn)算單元ALU、累加器A、位處理器、程序狀態(tài)字寄存器PSW以及BCD碼修正電路等。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,15,1. 算術(shù)邏輯運(yùn)算單元ALU ALU不僅可對(duì)8位變量進(jìn)行邏輯“與”、“或”、“異或”、循環(huán)、求補(bǔ)和清零等基本操作,還可以進(jìn)行加、減、乘、除等基本算術(shù)運(yùn)算。MCS-51的ALU還具有位處理操作功能。 2. 累加器A 它是CPU中使用最頻繁的一個(gè)寄存器,
10、也可寫為Acc。 1)累加器A是ALU單元的輸入之一,又是ALU運(yùn)算結(jié)果的存放單元。 2)累加器A相當(dāng)于數(shù)據(jù)的中轉(zhuǎn)站,易產(chǎn)生“堵塞”現(xiàn)象。為此,MCS-51單片機(jī)增加了一部分可以不經(jīng)過累加器的傳送指令。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,16,3. 布爾處理機(jī)Cy 累加器A的進(jìn)位標(biāo)志Cy,被稱作“位累加器”,可在任何可尋址的位與Cy間進(jìn)行邏輯運(yùn)算操作。 4. 程序狀態(tài)字寄存器PSW (Program Status Word) MCS-51的PSW是一個(gè)8位可讀寫的寄存器,位于單片機(jī)片內(nèi)的特殊功能寄存區(qū),字節(jié)地址為D0H。PSW的不同位包含了程序運(yùn)行狀態(tài)的不同信息,如圖。,20
11、20/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,17,PSW中的各個(gè)位的功能如下: 1)Cy(或C)進(jìn)位標(biāo)志位(PSW.7) 在執(zhí)行算術(shù)和邏輯指令時(shí),Cy可被硬件或軟件置1或清0,在位處理器中,它是位累加器。 2)Ac輔助進(jìn)位標(biāo)志位(PSW.6) 當(dāng)進(jìn)行BCD碼加法或減法操作而產(chǎn)生的由低4位數(shù)(代表一個(gè)BCD碼)向高4位進(jìn)位或借位時(shí),Ac將被硬件置1,否則被清0。Ac用于在進(jìn)行BCD碼運(yùn)算時(shí),用作十進(jìn)位調(diào)整,同DA指令結(jié)合起來用。 3)F0標(biāo)志位(PSW.5) 用戶使用的一個(gè)狀態(tài)標(biāo)志位,可用軟件置1或清0,也可由指令來測(cè)試標(biāo)志位F0,以控制程序的流向。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)
12、教材編寫組,18,4)RS1、RS0 4組工作寄存器區(qū)選擇控制位1和位0 (PSW.4、PSW.3) 用來選擇4組工作寄存器區(qū)中的哪一組為當(dāng)前工作寄存區(qū),它們與4組工作寄存器區(qū)的對(duì)應(yīng)關(guān)系如下: 5)OV溢出標(biāo)志位(PSW.2) 當(dāng)執(zhí)行算術(shù)指令時(shí),由硬件置1或清0,以指示運(yùn)算是否產(chǎn)生溢出。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,19,6)PSW.1位 保留位,未用。 7)P奇偶標(biāo)志位(PSW.0) 該標(biāo)志位用來表示累加器A中為1的位數(shù)的奇偶數(shù)。 P=1,則A中“1”的個(gè)數(shù)為奇數(shù) P=0,則A中“1”的個(gè)數(shù)為偶數(shù) 5. DA A BCD碼十進(jìn)制修正,由專用電路實(shí)現(xiàn)。,2020/7/1
13、5,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,20,2.2.2 控制器,控制器主要包括程序計(jì)數(shù)器、程序地址寄存器、指令寄存器IR、指令譯碼器、條件轉(zhuǎn)移邏輯電路及時(shí)序控制邏輯電路等。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,21,1. 程序計(jì)數(shù)器PC(Program Counter) 16位計(jì)數(shù)器,指向程序存儲(chǔ)器中被執(zhí)行的指令所在的地址。本身沒有地址。 讀指令時(shí),程序計(jì)數(shù)器將其中的數(shù)作為所取指令的地址輸出給程序存儲(chǔ)器,然后程序存儲(chǔ)器按此地址輸出指令字節(jié),同時(shí)程序計(jì)數(shù)器本身內(nèi)容自動(dòng)增加,指向下一條指令在程序存儲(chǔ)器中的地址。 PC中內(nèi)容的變化決定程序的流向。 PC的位數(shù)決定了單片機(jī)對(duì)程序存儲(chǔ)器可以
14、直接尋址的范圍。尋址范圍0000FFFFH的64KB空間。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,22,程序計(jì)數(shù)器的基本工作方式有以下幾種: 1)程序計(jì)數(shù)器自動(dòng)加1。 2)執(zhí)行有條件或無條件轉(zhuǎn)移指令時(shí),程序計(jì)數(shù)器將被置入新的數(shù)值,從而使程序的流向發(fā)生變化。 3)在執(zhí)行調(diào)用子程序調(diào)用或響應(yīng)中斷時(shí),單片機(jī)自動(dòng)完成如下的操作: PC的現(xiàn)行值(斷點(diǎn)值)自動(dòng)壓入堆棧。 將子程序的入口地址或中斷向量的地址送入PC,程序執(zhí)行子程序或中斷服務(wù)子程序。執(zhí)行完畢RET或RETI時(shí),將棧頂?shù)臄帱c(diǎn)值彈到程序計(jì)數(shù)器PC中,程序的流向又返回到斷點(diǎn)處繼續(xù)執(zhí)行程序。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材
15、編寫組,23,2. 指令寄存器IR、指令譯碼器及控制邏輯電路 IR用來存放指令操作碼。IR的輸出送指令譯碼器;然后對(duì)該指令進(jìn)行譯碼,譯碼結(jié)果送定時(shí)控制邏輯電路。 定時(shí)控制邏輯電路根據(jù)對(duì)指令的譯碼結(jié)果,發(fā)出一系列的定時(shí)控制信號(hào),控制單片機(jī)的各組成部件進(jìn)行相應(yīng)的工作,執(zhí)行指令。 3. 指針 1)數(shù)據(jù)指針(DPTR):16位地址指針,可尋址范圍0000FFFFH 的64KB空間,可指向程序、數(shù)據(jù)存儲(chǔ)器。 2)堆棧指針(SP): 8位地址寄存器。它指向內(nèi)部RAM的一個(gè)存儲(chǔ)單元,且總是指向棧頂單元。 MCS-51的堆棧是內(nèi)部RAM中的一個(gè)部分,符合“先進(jìn)后出、后進(jìn)先出”原則。,2020/7/15,單片機(jī)
16、原理及應(yīng)用技術(shù)教材編寫組,24,2.2.3 時(shí)鐘電路 1.振蕩源(oscillation) MCS-51的HMOS芯片內(nèi)部時(shí)鐘電路的振蕩源有兩種方式提供。 內(nèi)部自激振蕩方式 外部振蕩脈沖源方式。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,25,2. CPU時(shí)序 CPU的運(yùn)算操作在P1期間,數(shù)據(jù)傳送在P2期間。 時(shí)鐘周期、狀態(tài)周期、機(jī)器周期、指令周期、指令字節(jié)。 ALE時(shí)序:地址鎖存信號(hào),每個(gè)機(jī)器周期2次有效,分別在S1、S4狀態(tài)。每次出現(xiàn),CPU進(jìn)行一次取指操作。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,26,2.3 單片機(jī)的存儲(chǔ)器組織,MCS-51存儲(chǔ)器可分為五類: 程
17、序存儲(chǔ)器 內(nèi)部數(shù)據(jù)存儲(chǔ)器 特殊功能存儲(chǔ)器 位尋址區(qū) 外部擴(kuò)展的數(shù)據(jù)存儲(chǔ)器 擴(kuò)展I/O口,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,27,2.3.1 程序存儲(chǔ)器 1. 程序存儲(chǔ)器作用及尋址范圍 作用:存放指令(程序)的存儲(chǔ)器,用PC作地址指針。 尋址范圍:0000FFFFH,共64KB;片內(nèi)、片外統(tǒng)一編址。 片內(nèi):PC=00000FFFH; 片外:PC=1000FFFFH;,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,28,2. ROM低端的幾個(gè)特殊入口地址 0000H:CPU開始執(zhí)行指令時(shí)的第一個(gè)取指單元,每次執(zhí)行時(shí)PC的內(nèi)容總是0000H; 0003H002B:中斷專用固定
18、入口地址(系統(tǒng)規(guī)定); 一般是從ROM的0030H單元開始存放用戶指令。 3. 8031內(nèi)部無程序存儲(chǔ)器 需外接程序存儲(chǔ)器,端必須外接低電平。 4. 8051、8751內(nèi)部有4KB ROM/EPROM EA=0,使用外部程序存儲(chǔ)器;EA=1,使用內(nèi)部程序存儲(chǔ)器4KB空間,當(dāng)PC的值超過4KB 范圍時(shí),自動(dòng)轉(zhuǎn)向外部程序存儲(chǔ)器。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,29,2.3.2 數(shù)據(jù)存儲(chǔ)器 內(nèi)部RAM中低128B:007FH。按功能劃分為三個(gè)部分:,1. 工作寄存器區(qū):001FH 1)共分4個(gè)區(qū),每區(qū)有8個(gè)工作寄存器:R0R7; 2)當(dāng)前工作寄存器區(qū):由PSW中的第三、第四位選
19、擇,具有快速保護(hù)現(xiàn)場(chǎng)數(shù)據(jù)的作用,也可作為一般的數(shù)據(jù)緩沖器。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,30,2. 位尋址區(qū)(20H2FH),128個(gè)位,位地址:007FH。 51系列整個(gè)位地址空間為:00FFH,共211位。 1)007FH為片內(nèi)RAM中202FH的16個(gè)字節(jié)單元中的128個(gè)位。 2)80FFH中11個(gè)SFR的可尋址位,85位。它們是:A、B、PSW、P0P3、TCON、SCON、IE、IP。 52系列的SFR可尋址為93位,共221位。 3. 數(shù)據(jù)緩沖區(qū): 30H7FH 1)作為通用的按字節(jié)操作的數(shù)據(jù)緩沖區(qū)。 2)常開辟為堆棧區(qū)。,2020/7/15,單片機(jī)原理及應(yīng)
20、用技術(shù)教材編寫組,31,(1)堆棧的特點(diǎn): 是一個(gè)符合“先進(jìn)后出、后進(jìn)先出”的RAM區(qū)域 SP總是指向堆棧的頂部(保存有數(shù)據(jù)); 堆棧可以設(shè)在內(nèi)部RAM中的任意區(qū)域,一般開辟在307FH中。 (2)堆棧的功能: 保護(hù)斷點(diǎn)-保護(hù)從主程序轉(zhuǎn)向子程序、中斷時(shí)的斷點(diǎn),發(fā)生轉(zhuǎn)移時(shí)自動(dòng)完成。 保護(hù)現(xiàn)場(chǎng)-對(duì)子程序、中斷程序中要用到的、現(xiàn)場(chǎng)的某些寄存器的內(nèi)容進(jìn)行保護(hù),以保證返回時(shí)正確恢復(fù)。軟件指令方式實(shí)現(xiàn)。 數(shù)據(jù)的臨時(shí)存放。 外部RAM,可擴(kuò)至64KB,0000FFFFH,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,32,2.3.3 特殊功能寄存器區(qū)SFR 包括I/O鎖存器、定時(shí)器、串行口、中斷、狀態(tài)
21、、控制寄存器等共21個(gè)。離散地分布在80FFH中(不包括PC): 算術(shù)運(yùn)算寄存器:A、B、PSW 指針寄存器:SP、DPTR(DPH,DPL) 并行口:P0、P1、P2、P3 串行口:SCON、SBUF、PCON 中斷系統(tǒng):IP、IE 定時(shí)/計(jì)數(shù)器:TMOD、TCON、TH0、TL0、TH1、TL1 51系列內(nèi)部RAM,80FFH中未定義的單位為不可訪問單元。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,33,2.3.4 外部擴(kuò)展數(shù)據(jù)存儲(chǔ)器和擴(kuò)展I/O口 外部擴(kuò)展數(shù)據(jù)存儲(chǔ)器:最大可擴(kuò)展到64KB,由P3口的第二功能控制其讀、寫,并通過MOVX指令訪問。 擴(kuò)展I/O口:MCS-51單片機(jī)
22、將其看作外RAM的一個(gè)單元,與外RAM統(tǒng)一編址,提供16位尋址能力,尋址范圍也是64K。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,34,2.4 定時(shí)器/計(jì)數(shù)器,定時(shí)器/計(jì)數(shù)器是MCS-51單片機(jī)的重要功能模塊之一。在檢測(cè)、控制及智能儀器等應(yīng)用中,常用定時(shí)器作實(shí)時(shí)時(shí)鐘,實(shí)現(xiàn)定時(shí)檢測(cè)、定時(shí)控制。還可用定時(shí)器產(chǎn)生毫秒寬的脈沖,驅(qū)動(dòng)步進(jìn)電機(jī)一類的電氣機(jī)械。計(jì)數(shù)器主要用于外部事件的計(jì)數(shù)。 MCS-51單片機(jī)內(nèi)部有兩個(gè)16位可編程定時(shí)器/計(jì)數(shù)器,即定時(shí)器T0和定時(shí)器T1(8052提供3個(gè),這第三個(gè)稱為定時(shí)器T2)。它們既可用作定時(shí)器方式,又可用作計(jì)數(shù)器方式,可編程設(shè)定4種不同的工作方式。,20
23、20/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,35,2.4.1 定時(shí)/計(jì)數(shù)器的結(jié)構(gòu) T0、T1由加法計(jì)數(shù)器、TMOD、TCON寄存器等組成。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,36,當(dāng)16位加法計(jì)數(shù)器的輸入端每輸入一個(gè)脈沖,16位加法計(jì)數(shù)器的值自動(dòng)加1,當(dāng)計(jì)數(shù)器的計(jì)數(shù)值超過加法計(jì)數(shù)器字長(zhǎng)所能表示的2進(jìn)制數(shù)的范圍而向第17位進(jìn)位,即計(jì)數(shù)溢出時(shí),置位定時(shí)中斷請(qǐng)求標(biāo)志,向CPU申請(qǐng)中斷。 16位加法計(jì)數(shù)器編程選擇對(duì)內(nèi)部時(shí)鐘脈沖進(jìn)行計(jì)數(shù)或?qū)ν獠枯斎朊}沖計(jì)數(shù)。對(duì)內(nèi)部脈沖計(jì)數(shù)時(shí)稱定時(shí)方式,對(duì)外部脈沖計(jì)數(shù)時(shí)稱計(jì)數(shù)方式。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,37,2.4.2
24、 定時(shí)/計(jì)數(shù)器的方式控制字 1. 工作方式寄存器TMOD TMOD用于控制T0和T1的工作方式,其各位定義如下: 其中, M1、M0:工作方式控制位,可構(gòu)成以下4種工作方式。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,38,C/ :計(jì)數(shù)工作方式/定時(shí)工作方式選擇位。 C/ =0,設(shè)置為定時(shí)工作方式。 C/ =1,設(shè)置為計(jì)數(shù)工作方式。 GATE:門控位,用以決定是由軟件還是硬件啟動(dòng)/停止計(jì)數(shù)。 GATE=0, / 被封鎖,只要用軟件對(duì)TR0(或TR1)置1就啟動(dòng)了定時(shí)器。 GATE=1,定時(shí)器/計(jì)數(shù)器的計(jì)數(shù)受外部引腳輸入電平的控制。在TR0(或TR1)置1時(shí),若(或)引腳為高電平,啟動(dòng)
25、定時(shí)器計(jì)數(shù);為低電平時(shí)停止計(jì)數(shù)。 TMOD的所有位在復(fù)位后清0。TMOD不能位尋址,只能按字節(jié)操作設(shè)置工作方式。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,39,2. 控制寄存器TCON (88H) TCON的高4位 用于控制定時(shí)器的啟動(dòng)、停止以及標(biāo)明定時(shí)器的溢出和中斷情況,TCON的低4位 用于兩個(gè)外部中斷源控制。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,40,2.4.3 定時(shí)/計(jì)數(shù)器的四種工作方式 1.工作方式013位計(jì)數(shù)器,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,41,C/T=0時(shí),定時(shí)/計(jì)數(shù)器的輸入端接內(nèi)部振蕩器的12分頻,即工作在定時(shí)方式, 每個(gè)計(jì)數(shù)
26、脈沖的周期等于機(jī)器周期,當(dāng)定時(shí)/計(jì)數(shù)器溢出時(shí),其定時(shí)時(shí)間為: T = 計(jì)數(shù)次數(shù)機(jī)器周期 =(213-T0初值)機(jī)器周期 C/T=1時(shí),定時(shí)/計(jì)數(shù)器接外部T0引腳輸入信號(hào),即工作在計(jì)數(shù)方式,當(dāng)外部輸入信號(hào)電平發(fā)生從“1“到”0“跳變時(shí),加1計(jì)數(shù)器加1。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,42,2. 工作方式116位計(jì)數(shù)器 T = 計(jì)數(shù)次數(shù) 機(jī)器周期 =(216-T0初值)機(jī)器周期,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,43,3. 工作方式28位自動(dòng)重裝初值計(jì)數(shù)器 TL0用作8位計(jì)數(shù)器,TH0用來保存初值,每當(dāng)TL0計(jì)滿溢出時(shí),硬件自動(dòng)將TH0中的值裝入TL0中。
27、工作方式2的定時(shí)時(shí)間為: T = 計(jì)數(shù)次數(shù)機(jī)器周期 =(28-T0初值) 機(jī)器周期,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,44,4. 工作方式32個(gè)獨(dú)立8位計(jì)數(shù)器 一般在系統(tǒng)需增加一個(gè)額外的8位定時(shí)器時(shí),T0可設(shè)置為工作方式3,此時(shí)T1雖仍可定義為工作方式0、工作方式1和工作方式2、但只能用在不需中斷控制的場(chǎng)合。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,45,2.4.4 綜合舉例 1. 定時(shí)/計(jì)數(shù)器的應(yīng)用編程應(yīng)注意兩點(diǎn): 1)初始化(正確寫入控制字) 2)時(shí)間常數(shù)(初值)的計(jì)算。 2. 初始化步驟為: 1)向TMOD寫工作方式控制字。 2)向計(jì)數(shù)器TL、TH裝入初值。
28、 3)置TRx=1,啟動(dòng)計(jì)數(shù)。 4)置ETx=1,允許定時(shí)/計(jì)數(shù)器中斷(若需要時(shí))。 5)置EA=1,CPU開中斷。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,46,3. 裝載初值的計(jì)算: 當(dāng)定時(shí)器/計(jì)數(shù)器工作于定時(shí)狀態(tài)時(shí),對(duì)機(jī)器周期進(jìn)行計(jì)數(shù),一個(gè)機(jī)器周期 T=12/ fosc 若定時(shí)時(shí)間為t , 則對(duì)應(yīng)的計(jì)數(shù)次數(shù)N= t/機(jī)器周期 對(duì)應(yīng)定時(shí)時(shí)間t應(yīng)裝入的計(jì)數(shù)初值為: 2n-N (n為工作方式選擇所確定的定時(shí)器位數(shù))。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,47,定時(shí)器/計(jì)數(shù)器的定時(shí)/計(jì)數(shù)范圍: 工作方式0:13位定時(shí)/計(jì)數(shù)方式,因此,最多可以計(jì)到2的13次方,也就是8
29、192次。 工作方式1:16位定時(shí)/計(jì)數(shù)方式,因此,最多可以計(jì)到2的16次方,也就是65536次。 工作方式2和工作方式3,都是8位的定時(shí)/計(jì)數(shù)方式,因此,最多可以計(jì)到2的8次方,也說是256次。 預(yù)置值計(jì)算:用最大計(jì)數(shù)量減去需要的計(jì)數(shù)次數(shù)即可。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,48,4. 舉例 例1:設(shè)T0為工作方式1,設(shè)置為定時(shí)時(shí)間為2ms,每當(dāng)2ms到,申請(qǐng)中斷,在中斷服務(wù)程序中將P1.0的內(nèi)容取反送出,即在P1.0引腳產(chǎn)生250Hz的方波(假設(shè)晶振為6MHz)。 下面先計(jì)算定時(shí)的T0初始值。 以題意:6Hz,t=2ms 則:機(jī)器周期 T=2S 計(jì)數(shù)次數(shù)N=1000
30、對(duì)應(yīng)的計(jì)數(shù)初值為: =64536D=FC18H,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,49,2.5 并行輸入/輸出口,MCS-51單片機(jī)有4個(gè)8位并行I/O口,P0P3,共32根口線。并行I/O端口一次可傳送一個(gè)字節(jié)的數(shù)據(jù)。 每個(gè)I/O端口都由一個(gè)八位數(shù)據(jù)鎖存器和一個(gè)八位數(shù)據(jù)緩沖器組成。需要輸出數(shù)據(jù)時(shí),8個(gè)數(shù)據(jù)鎖存器用于對(duì)端口引腳上輸入數(shù)據(jù)進(jìn)行鎖存。需要輸入數(shù)據(jù)時(shí),8個(gè)數(shù)據(jù)緩沖器用于對(duì)端口引腳上輸入數(shù)據(jù)進(jìn)行緩沖。另外訪問并行I/O端口除了可以用字節(jié)地址訪問外,還可以進(jìn)行按位尋址。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,50,四個(gè)接口工作在一般I/O方式時(shí),具有以下基
31、本相同的特性: 1. 作為輸出口用時(shí),內(nèi)部帶鎖存器,故可以直接和外設(shè)相連,不必加鎖存器。 2. 作為輸入口用時(shí),有兩種讀操作指令,讀鎖存器和讀引腳。 讀鎖存器實(shí)際上只是把端口鎖存器中的內(nèi)容讀到內(nèi)部總線,經(jīng)過某種運(yùn)算和變換后,再寫回到鎖存器。這類指令稱為讀修改寫指令。 讀引腳時(shí)才真正地把外部的數(shù)據(jù)讀入到內(nèi)部總線。 3. 執(zhí)行讀引腳指令讀入I/O引腳狀態(tài),當(dāng)端口做輸入口使用時(shí),要先將端口鎖存器置1。然后再執(zhí)行讀引腳操作,否則就可能讀錯(cuò)。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,51,2.5.1 0口(P0.7P0.0) P0口是真正的雙向I/O口。 P0是由一個(gè)輸出鎖存器(D型觸發(fā)器)
32、,兩個(gè)三態(tài)門緩沖器(控制讀引腳或讀鎖存器),與門和多路開關(guān)MUX組成的輸出控制電路,一對(duì)場(chǎng)效應(yīng)晶體管FET構(gòu)成的輸出電路所組成。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,52,1. P0口的I/O操作(通用I/O端口) 在P0口作為通用I/O端口時(shí),控制電路中“控制”端輸入為0電平。 (1)輸出操作 當(dāng)內(nèi)部總線信號(hào)置0時(shí),鎖存器輸出/Q輸出高電平,下端FET導(dǎo)通,由于上端FET截止,因此P0引腳輸出低電平。當(dāng)內(nèi)部總線置1時(shí),鎖存器輸出低電平,下端FET截止,由于上拉電阻的作用,P0口引腳輸出高電平。 由于兩個(gè)場(chǎng)效應(yīng)管均截止,使輸出處于“懸浮”狀態(tài),因此當(dāng)MOS負(fù)載連接時(shí)需要加上一上
33、拉電阻,以保證端口能夠正確的輸出高電平。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,53,(2)輸入操作 讀引 必須先將端口鎖存器置1。執(zhí)行程序?yàn)椋?MOV P0,#0FFH;端口鎖存器置1 MOV A,P0; 讀引腳 讀鎖存器 鎖存器一般完成的是“讀修改寫”的操作。這種類型的操作指令只有算術(shù)(INC,DEC,ADD),邏輯(ORC,XRL,ANL),位(JBC,CPL,CLR)操作指令等。 P0口的兩種數(shù)據(jù)操作:字節(jié)操作和位操作。CPU對(duì)于P0口不僅可以作為一個(gè)八位口來操作,也可以按位來操作。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,54,2. P0口作為地址/數(shù)據(jù)復(fù)用
34、總線使用(系統(tǒng)使用外存儲(chǔ)器時(shí)) 當(dāng)P0的地址/數(shù)據(jù)口置1時(shí),控制上拉電路的“與門”輸出為1,上端FET導(dǎo)端,同時(shí)地址/數(shù)據(jù)通過反相器輸出為0,下端FET截止,地址/數(shù)據(jù)線輸出為1。 當(dāng)P0的地址/數(shù)據(jù)口置0時(shí),控制上拉電路的“與門”輸出為0,上端FET截止,同時(shí)地址/數(shù)據(jù)輸出通過反相器輸出1,下端FET導(dǎo)通,地址/數(shù)據(jù)線輸出為0。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,55,注意: P0口作地址/數(shù)據(jù)總線輸出時(shí),通過反相器、與門工作。 P0口作外部數(shù)據(jù)輸入時(shí),CPU使T1、T2均截止,引腳浮空,第三態(tài),數(shù)據(jù)經(jīng)“讀引腳”輸入緩沖器進(jìn)入內(nèi)部總線是真正的雙向口。 P0口控制端的轉(zhuǎn)換是通
35、過指令進(jìn)行的,即執(zhí)行I/O總線操作時(shí),如MOV P0,A,系統(tǒng)自動(dòng)控制端置0,執(zhí)行地址操作指令如MOVX,MOVC(EA0時(shí))時(shí),則控制端自動(dòng)置1。 在進(jìn)行硬件系統(tǒng)的設(shè)計(jì)時(shí),如果使用了外部存儲(chǔ)器時(shí),P0口成為整個(gè)系統(tǒng)的地址/數(shù)據(jù)復(fù)用總線,此時(shí)P0口不能在作為通用的I/O端口。因此一般情況下,P0作為地址/數(shù)據(jù)總線。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,56,2.5.2 1口(90H) P1口是準(zhǔn)雙向I/O口。 P1口的功能和P0口的第一功能相同,僅用于傳遞I/O輸入/輸出數(shù)據(jù)。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,57,P1口特點(diǎn): 1)準(zhǔn)雙向口:作為I/O輸入
36、時(shí),口鎖存器必須置“1”,使T截止,輸入信號(hào)通過“讀引腳”三態(tài)緩沖器進(jìn)入內(nèi)部總線。 2)內(nèi)部有上拉電阻(20K40K); 3)CPU讀P1口的兩種情況: 讀P1口的鎖存器狀態(tài)值:“讀改寫”指令。 例ANL P1,#0FH; 讀P1口的引腳(外部輸入)。例MOV A,P1;,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,58,2.5.3 2口(A0H) P2口是屬于準(zhǔn)雙向口。 P2口的第一功能和上述兩組引腳的第一功能相同,即它可以作為通用I/O使用。它的第二功能和P0口引腳的第二功能相配合,作為地址總線用于輸出片外存儲(chǔ)器的高8位地址。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,5
37、9,1. P2口的I/O操作 P2口的I/O操作與P0口的I/O同。 2. P2口的地址總線操作 可分別尋址64KB的程序存儲(chǔ)器或片外數(shù)據(jù)存儲(chǔ)器。 注意: (1)一般P2口不用于傳送存儲(chǔ)器的讀寫數(shù)據(jù),因此P2口無需外加地址鎖存器。 (2)如果使用256B的外部RAM,此時(shí)用8位的寄存器R0或R1作間址寄存器,這時(shí)P2口無用,此時(shí)P2口仍可以做通用I/O端口,如MOV A,R0或MOV A,R0。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,60,2.5.4 3口(B0H) 特點(diǎn): 1)準(zhǔn)雙向口:條件為第二功能輸出端常“1”,與門開鎖; 2)第二功能口:作為第二功能口使用時(shí),(P3)=F
38、FH;某位作為第二功能輸入時(shí),第二功能輸出也必須置“1”。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,61,2.6 串行輸入/輸出接口,2.6.1基本概念 微機(jī)與外部信息交換稱為通信。基本的通信方法有并行通信和串行通信兩種。 1. 并行通信 一個(gè)信息的各位數(shù)據(jù)被同時(shí)傳送的通信方法稱為并行通信。 2. 串行通信 一條信息的各位數(shù)據(jù)被逐位順序傳送的通信方式稱為串行通信。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,62,串行通信借助于串行輸入/輸出接口實(shí)現(xiàn),只要一條傳輸線。串行通信分為兩種基本方式: 1)異步通信 2)同步通信,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,
39、63,串行通信中的幾個(gè)問題: (1)波特率:串行通信的數(shù)據(jù)是按位進(jìn)行的,每秒傳送的位數(shù)稱為波特率,以此來衡量 (2)傳送的速度:1波特位/秒 (3)數(shù)據(jù)傳送的方向:?jiǎn)喂ぃ腚p工,全雙工,通常采用半雙工 (4)數(shù)據(jù)校驗(yàn)方法:采用奇偶校驗(yàn)法,發(fā)送時(shí),在每個(gè)字符的最高位之后(發(fā)送時(shí)總是低位在前,高位在后)附加一個(gè)校驗(yàn)位,這個(gè)校驗(yàn)位可以是0或1,所發(fā)送的每個(gè)字符中“1”的個(gè)數(shù)為奇數(shù)稱為奇校驗(yàn),是偶數(shù)稱為偶校驗(yàn)。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,64,2.6.2 串行接口的功能與結(jié)構(gòu) MCS-51單片機(jī)中的異步通信串行接口能方便地與其他計(jì)算機(jī)或串行傳送信息的外圍設(shè)備(如串行打印機(jī)、C
40、RT終端等)實(shí)現(xiàn)雙機(jī)、多機(jī)通信。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,65,1. 串行接口的控制寄存器(SCON) 用于控制串行接口的工作狀態(tài):,SM0,SM1:工作方式選擇位,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,66,REN:串行接收使能位,軟件置1時(shí),啟動(dòng)接收過程,TB8:多機(jī)方式發(fā)送的第9位,多機(jī)方式的地址/數(shù)據(jù)幀標(biāo)志。也可作為奇偶校驗(yàn)位。,RB8:多機(jī)方式接收的第9位,多機(jī)方式的地址/數(shù)據(jù)幀標(biāo)志。也可作為奇偶校驗(yàn)位。,TI:發(fā)送中斷標(biāo)志位,要由軟件清0,RI:接收中斷標(biāo)志位,要由軟件清0,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,67,SM2:
41、多機(jī)通信控制位,SM2=1時(shí),接收機(jī)處于地址幀篩選狀態(tài)。 若RB81,該地址幀信息可進(jìn)入SBUF,并使RI=1 若RB80,該幀不是地址幀,應(yīng)丟掉,且保持RI=0,SM2=0時(shí),接收機(jī)處于地址幀篩選被禁止?fàn)顟B(tài)。不論收到的RB8為0或1,信息都可進(jìn)入SBUF,并使RI=1。此時(shí)的RB8通常為校驗(yàn)位。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,68,2. 電源控制寄存器(PCON),SMOD:波特率倍增位。 在串行口方式1、2、3時(shí),波特率與SMOD有關(guān),當(dāng)SMOD=1時(shí),波特率提高一倍。 復(fù)位時(shí),SMOD=0。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,69,2.6.3 串行
42、口的4種工作方式 1. 方式0,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,70,串行工作方式0 同步移位寄存器方式 方式設(shè)定:SM0SM1=00,通過執(zhí)行MOV SCON,#00H。 此時(shí):RXD(P3.0):數(shù)據(jù)的發(fā)送或接收口。 TXD(P3.1):輸出同步移位脈沖。 發(fā)送、接收的是8位數(shù)據(jù),不設(shè)起始位和停止位,低位在前,波特率固定為fosc/12。,也就是每一機(jī)器周期傳送1位數(shù)據(jù),方式0可外接移位寄存器,將串行接口擴(kuò)展為并行接口,也可外接同步輸入輸出設(shè)備。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,71,1)發(fā)送 CPU執(zhí)行一條寫SBUF的指令如MOV SBUF,A就啟
43、動(dòng)了發(fā)送過程。 如要再次發(fā)送數(shù)據(jù),必須用軟件將TI清零,并再次執(zhí)行寫SBUF的指令。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,72,2)接收 在RI0的條件下,將REN(SCON4)置1就啟動(dòng)一次接收過程。此時(shí)RXD為串行數(shù)據(jù)接收端,RXD依然輸出同步移位脈沖。 在串行方式0時(shí),是將串行口變成并行口使用。并要有串并轉(zhuǎn)換芯片74LS164、74LS165轉(zhuǎn)換。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,73,2. 方式1,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,74,1)發(fā)送 CPU執(zhí)行一條寫SBUF指令后便啟動(dòng)了串行口發(fā)送,數(shù)據(jù)從TXD輸出。,2020/7/1
44、5,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,75,2)接收 接收器采用移位寄存器和SBUF雙緩沖結(jié)構(gòu),使得前、后兩幀數(shù)據(jù)進(jìn)入SBUF的時(shí)間間隔至少有l(wèi)0個(gè)位傳送周期。在后一幀數(shù)據(jù)送入SBUF之前,CPU有足夠的時(shí)間將前一幀數(shù)據(jù)取走。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,76,3. 方式2與方式3 當(dāng)設(shè)定SM0,SM1為10或11時(shí),串行口工作于方式2或方式3,這兩種方式都是9位異步通信,僅波特率不同,適用于多機(jī)通信。 在方式2或方式3下,數(shù)據(jù)由TXD發(fā)送,RXD接收,1幀數(shù)據(jù)為11位,1位起始位(低電平)8位數(shù)據(jù)位(低位在前)1位可編程位(第9位數(shù)據(jù))用作奇偶校驗(yàn)或地址/數(shù)據(jù)選擇,1位
45、停止位,與方式1相比多了一位可編程位,發(fā)送時(shí),第9位數(shù)據(jù)為TB8,接收時(shí),第9位數(shù)據(jù)送入RB8。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,77,方式2和方式3的區(qū)別只在于波特率不同。 方式2的波特率 = 2SMOD *fosc /64 即為fosc/32(SMOD1時(shí)) 或 fosc/64(SMOD0時(shí))。 方式3波特率=2SMOD *(定時(shí)器T1溢出率)/32 即由定時(shí)器/計(jì)數(shù)器1 或 定時(shí)器/計(jì)數(shù)器2 及 SMOD決定。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,78,1)發(fā)送 方式2、方式3發(fā)送時(shí),數(shù)據(jù)從TXD引腳輸出,附加的第九位數(shù)據(jù)由SCON中的TB提供。CPU
46、執(zhí)行一條寫入SBUF的指令后立即啟動(dòng)發(fā)送器發(fā)送;發(fā)送完一幀信息后由硬件置TI1。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,79,2)接收 與方式l相似,REN置l后,跳變檢測(cè)器不斷對(duì)RXD引腳采樣。當(dāng)采樣到負(fù)跳變后就啟動(dòng)接收控制器。位檢測(cè)器對(duì)每位數(shù)據(jù)采集3個(gè)值,用采3取2辦法確定每位的數(shù)值。當(dāng)?shù)诰盼粩?shù)據(jù)移入移位寄存器后,將8位數(shù)據(jù)裝入SBUF,第九位數(shù)據(jù)裝入RB*,并置R11。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,80,4. 多機(jī)通信 串行口用于多機(jī)通信時(shí)必須使用方式2或方式3。 設(shè)多機(jī)系統(tǒng)有1個(gè)主機(jī)與3個(gè)從機(jī),從機(jī)地址分別為00H、01H、02H。為了區(qū)分是數(shù)據(jù)信
47、息還是地址信息,主機(jī)用第九位數(shù)據(jù)TB作為地址/數(shù)據(jù)的識(shí)別位,地址幀的TB1,數(shù)據(jù)幀的TB0。各從機(jī)的SM2必須置1。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,81,在主機(jī)與某從機(jī)通信前,先將該從機(jī)的地址發(fā)送給各從機(jī)。由于各從機(jī)SM21,接收到的地址幀RB1,所以各從機(jī)的接收倍息都有效,送入各自的接收緩沖器,并置RI1。各從機(jī)CPU響應(yīng)中斷后,通過軟件判斷主機(jī)送來的是不是本從機(jī)地址,如是本從機(jī)地址就使SM20,否則保持SM21。 接收主機(jī)發(fā)送數(shù)據(jù)幀,因數(shù)據(jù)幀的第九位數(shù)據(jù)RB0,只有地址相符的從機(jī)其SM20,才能將8位數(shù)據(jù)裝入SBUF,其他從機(jī)因SM2l,數(shù)據(jù)將丟失,從而實(shí)現(xiàn)主機(jī)與從機(jī)
48、的一對(duì)一通信。 方式2、3也可以用于雙機(jī)通信,此時(shí)第九位數(shù)據(jù)可作為奇偶校驗(yàn)位,但必須使SM20。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,82,5. 波特率 工作方式0的波特率是固定的,為f /12。 工作方式2的波特率由SMOD(PCDN.7)決定。 SMOD=1時(shí)為f /32 SMOD=0時(shí)為f /64 在8031/8051/8751單片機(jī)中,工作方式1、工作方式3的波特率取決于定時(shí)器/計(jì)數(shù)器1的溢出速率及SMOD,并由下式?jīng)Q定 波特率2SMOD定時(shí)器/計(jì)數(shù)器1溢出速率/32,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,83,例 設(shè)串行接口工作于工作方式3,SMOD0,
49、f=11.059MHz,定時(shí)器/計(jì)數(shù)器1工作于定時(shí)器方式2(自動(dòng)重裝載方式),TLl、THl的初值為FDH,試計(jì)算波特率。 因?yàn)槎〞r(shí)器/計(jì)數(shù)器1的定時(shí)時(shí)間為: T(256253)12/(11.059106) 其溢出速率: 1/T11.059106/(256-253)12307194.4 所以波特率為: 20307194.4/329599.839600(位/秒),2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,84,2.7 中斷系統(tǒng),中斷系統(tǒng)在計(jì)算機(jī)應(yīng)用系統(tǒng)中起著十分重要的作用,良好的中斷系統(tǒng)能提高計(jì)算機(jī)對(duì)外界異步事件的處理能力和響應(yīng)速度,從而擴(kuò)大計(jì)算機(jī)的應(yīng)用范圍。在單片機(jī)中,實(shí)時(shí)控制、故障
50、自動(dòng)處理時(shí)往往用到中斷系統(tǒng),計(jì)算機(jī)與外部設(shè)備間傳送數(shù)據(jù)及實(shí)現(xiàn)人機(jī)聯(lián)系也常常采用中斷方式。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,85,2.7.1中斷系統(tǒng)的總體結(jié)構(gòu) 為了實(shí)現(xiàn)中斷功能而配置的軟件和硬件,稱為中斷系統(tǒng)。中斷系統(tǒng)的處理過程包括中斷請(qǐng)求、中斷響應(yīng)、中斷處理和中斷返回。 MCS-5l中斷系統(tǒng)的功能為: 5個(gè)中斷請(qǐng)求源 4個(gè)用于中斷控制和管理的可編程和可位尋址的特殊功能寄存器(中斷允許控制寄存器IE、中斷優(yōu)先級(jí)控制寄存器IP以及定時(shí)器/計(jì)數(shù)器控制寄存器TCON等) 提供兩個(gè)中斷優(yōu)先級(jí),可實(shí)現(xiàn)二級(jí)中斷嵌套,且每一個(gè)中斷源可編程為開放或屏蔽。,2020/7/15,單片機(jī)原理及應(yīng)用
51、技術(shù)教材編寫組,86,中斷系統(tǒng)結(jié)構(gòu)示意圖,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,87,2.7.2 中斷源 8031/8051/8751有5個(gè)中斷源。 1. 外部中斷0、1 輸入/輸出設(shè)備的中斷請(qǐng)求,掉電、設(shè)備故障的中斷請(qǐng)求等都可以作為外部中斷源,從引腳INT0或INT1輸入。 外部中斷請(qǐng)求INT0、INT1有兩種觸發(fā)方式: 電平觸發(fā) 跳變觸發(fā) 2定時(shí)器/計(jì)數(shù)器0、1溢出中斷 定時(shí)器/計(jì)數(shù)器計(jì)數(shù)溢出時(shí),由硬件分別置TF01或TFl1,向CPU申請(qǐng)中斷。CPU響應(yīng)中斷后,由硬件自動(dòng)清除TF0或TF1。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,88,3串行接口中斷 串行接口
52、的中斷請(qǐng)求由發(fā)送或接收所引起。串行接口發(fā)送了一幀信息,便由硬件置TI1、向CPU申請(qǐng)中斷。串行接口接收了一幀信息,便由硬件置RI1,向CPU申請(qǐng)中斷。CPU響應(yīng)中斷后必須用軟件清除TI和RI。 8032/8052有6個(gè)中斷源,增加了定時(shí)器/計(jì)數(shù)器2中斷請(qǐng)求。該中斷源有溢出中斷和定時(shí)器/計(jì)數(shù)器2外部中斷兩種方式。 除了外部中斷電平觸發(fā)方式外,其他各個(gè)中斷實(shí)際上是由標(biāo)志位IE0、IE1、TF0、TFl、TI、RI、TF2及EXF2置位引起的。如果有需要,可以用程序安排產(chǎn)生中斷。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,89,2.7.3 中斷控制 1. 中斷允許控制 MCS-51有多個(gè)中
53、斷源,為了便于用戶靈活使用,在每一個(gè)中斷請(qǐng)求信號(hào)的通路中設(shè)置了一個(gè)中斷屏蔽觸發(fā)器,用KI表示。KI合上,中斷請(qǐng)求信號(hào)才能進(jìn)入CPU,這稱為接口電路中斷允許或中斷開放,否則,即使中斷標(biāo)志位置1,CPU也不響應(yīng)中斷,這稱為接口電路中斷屏蔽或中斷禁止。 在CPU內(nèi)部還設(shè)置了一個(gè)中斷允許觸發(fā)器,用K2表示。只有在CPU中斷允許(K2合上)的情況下,CPU才會(huì)響應(yīng)中斷。如果CPU中斷屏蔽(K2打開),CPU一律不響應(yīng)任何中斷,即中斷系統(tǒng)停止工作。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,90,中斷屏蔽觸發(fā)器(K1)與中斷允許觸發(fā)器(K2)由中斷允許寄存器IE控制工作。IE的格式如下; IE的
54、每一位都可以由軟件置1或清零。且1中斷允許,0中斷屏蔽。 (1)CPU中斷允許位EA (2)定時(shí)器/計(jì)數(shù)器2中斷允許位ET2 (3)串行接口中斷允許位ES (4)定時(shí)器/計(jì)數(shù)器1中斷允許位ETl (5)外部中斷1中斷允許位EX1 (6)定時(shí)器/計(jì)數(shù)器0中斷允許位ET0 (7)外部中斷0中斷允許位EXO,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,91,2中斷優(yōu)先權(quán)選擇 8051單片機(jī)有兩個(gè)中斷優(yōu)先級(jí),每一個(gè)中斷源都可以通過編程確定為高優(yōu)先級(jí)中斷或低優(yōu)先級(jí)中斷,高優(yōu)先級(jí)的優(yōu)先權(quán)高。同一優(yōu)先級(jí)別中的中斷源不止一個(gè),所以也有中斷優(yōu)先權(quán)排隊(duì)問題。 中斷優(yōu)先級(jí)由中斷優(yōu)先級(jí)寄存器IP控制。IP的格
55、式如下:,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,92,IP中的每一位都可以由軟件來置1或清零,且1高優(yōu)先級(jí),0低優(yōu)先級(jí)。 (1)定時(shí)器/計(jì)數(shù)器2中斷優(yōu)先級(jí)選擇位PT2 (2)串行口中斷優(yōu)先級(jí)選擇位PS (3)定數(shù)器/計(jì)數(shù)器1中斷優(yōu)先級(jí)選擇位PTl (4)外部中斷1中斷優(yōu)先級(jí)選擇位PXl (5)定時(shí)器/計(jì)數(shù)器0中斷優(yōu)先級(jí)選擇位PT0 (6)外部中斷0中斷優(yōu)先級(jí)選擇位PX0,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,93,同一優(yōu)先級(jí)中的中斷源優(yōu)先權(quán)排隊(duì)由中斷系統(tǒng)的硬件確定,用戶無法自行安排。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,94,例 8031芯片的INT
56、0、INT1引腳分別輸入壓力超限及溫度超限中斷請(qǐng)求信號(hào),定時(shí)器/計(jì)數(shù)器0作定時(shí)檢測(cè)的實(shí)時(shí)時(shí)鐘,用戶規(guī)定的中斷優(yōu)先權(quán)排隊(duì)次序?yàn)椋?壓力超限溫度超限定時(shí)檢測(cè) 要求確定IE、IP的內(nèi)容,以實(shí)現(xiàn)上述要求。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,95,MCS-51系列單片機(jī)的中斷優(yōu)先權(quán)有三條原則: 正在進(jìn)行的中斷過程不能被新的同級(jí)或低優(yōu)先級(jí)的中斷請(qǐng)求所中斷,一直到該中斷服務(wù)程序結(jié)束, 正在進(jìn)行的低優(yōu)先級(jí)中斷服務(wù)程序能被高優(yōu)先級(jí)中斷請(qǐng)求所中斷,實(shí)現(xiàn)二級(jí)中斷嵌套。 CPU同時(shí)接收到幾個(gè)中斷請(qǐng)求時(shí),首先響應(yīng)優(yōu)先權(quán)最高的中斷請(qǐng)求。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,96,2.7.
57、4 中斷響應(yīng) MCS-51的CPU在每個(gè)機(jī)器周期的S5P2期間順序采樣各中斷請(qǐng)求標(biāo)志位,如有置位,且下列三種情況都不存在,那么在下一周期的S1期間響應(yīng)中斷。否則,采樣的結(jié)果被取消。三種情況是: CPU正在處理同級(jí)或高優(yōu)先級(jí)的中斷。 現(xiàn)行的機(jī)器周期不是所執(zhí)行指令的最后一個(gè)機(jī)器周期。 正在執(zhí)行的指令是RETI或訪問IE、IP的指令。CPU在執(zhí)行RETI或訪問IE、IP的指令后,至少需要再執(zhí)行一條其他指令后才會(huì)響應(yīng)中斷請(qǐng)求。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,97,CPU響應(yīng)中斷后,由硬件執(zhí)行如下功能: 根據(jù)中斷請(qǐng)求源的優(yōu)先級(jí)高低,使相應(yīng)的優(yōu)先級(jí)狀態(tài)觸發(fā)器置1。 保留斷點(diǎn),即把程序計(jì)數(shù)器PC的內(nèi)容推入堆棧保存。 清相應(yīng)的中斷請(qǐng)求標(biāo)志位IE0、IE1、TF0或TFl。 把被響應(yīng)的中斷服務(wù)程序的入口地址送入PC,從而轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序。 中斷服務(wù)程序的最后一條指令必須是中斷返回指令RETI。 保護(hù)現(xiàn)場(chǎng)及恢復(fù)現(xiàn)場(chǎng)的工作必須由用戶設(shè)計(jì)的中斷服務(wù)程序處理,有些中斷請(qǐng)求的撤除也要由中斷服務(wù)程序來實(shí)現(xiàn)。,2020/7/15,單片機(jī)原理及應(yīng)用技術(shù)教材編寫組,98,2.7.5 中斷請(qǐng)求的撤除 CPU響應(yīng)中斷請(qǐng)求后,在中斷返回(執(zhí)行RETI)前,必須撤除請(qǐng)求,否則會(huì)錯(cuò)誤地再一次引起中斷過程。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 設(shè)備維修考試試題及答案
- 2025煤礦安全考試題庫和答案
- 2026年江海職業(yè)技術(shù)學(xué)院?jiǎn)握芯C合素質(zhì)筆試參考題庫帶答案解析
- 2025年村干部筆試題目及答案
- 2025小學(xué)生“學(xué)憲法、講憲法”網(wǎng)絡(luò)知識(shí)競(jìng)賽題庫及參考答案
- 企業(yè)品牌管理策略與實(shí)施
- 2026年云南經(jīng)濟(jì)管理學(xué)院?jiǎn)握芯C合素質(zhì)筆試備考試題帶答案解析
- 2026年上海中醫(yī)藥大學(xué)單招綜合素質(zhì)考試備考題庫帶答案解析
- 2025年網(wǎng)絡(luò)安全防護(hù)技術(shù)標(biāo)準(zhǔn)
- 2026年懷化職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性考試備考題庫有答案解析
- 互聯(lián)網(wǎng)醫(yī)院服務(wù)平臺(tái)運(yùn)營合作協(xié)議
- DB51T 2696-2020 四川省公共廁所信息標(biāo)志標(biāo)準(zhǔn)
- (高清版)JTG 3363-2019 公路橋涵地基與基礎(chǔ)設(shè)計(jì)規(guī)范
- 《調(diào)相機(jī)運(yùn)行規(guī)程》
- 羅茨鼓風(fēng)機(jī)行業(yè)發(fā)展趨勢(shì)報(bào)告
- 慢性阻塞性肺疾病患者非肺部手術(shù)麻醉及圍術(shù)期管理的專家共識(shí)
- 中建辦公商業(yè)樓有限空間作業(yè)專項(xiàng)施工方案
- 急性胰腺炎護(hù)理查房課件ppt
- 初三數(shù)學(xué)期末試卷分析及中考復(fù)習(xí)建議課件
- GB/T 4074.8-2009繞組線試驗(yàn)方法第8部分:測(cè)定漆包繞組線溫度指數(shù)的試驗(yàn)方法快速法
- 防空警報(bào)系統(tǒng)設(shè)計(jì)方案
評(píng)論
0/150
提交評(píng)論