ATC單片機的硬件結(jié)構(gòu)和工作原理PPT教學(xué)課件_第1頁
ATC單片機的硬件結(jié)構(gòu)和工作原理PPT教學(xué)課件_第2頁
ATC單片機的硬件結(jié)構(gòu)和工作原理PPT教學(xué)課件_第3頁
ATC單片機的硬件結(jié)構(gòu)和工作原理PPT教學(xué)課件_第4頁
ATC單片機的硬件結(jié)構(gòu)和工作原理PPT教學(xué)課件_第5頁
已閱讀5頁,還剩146頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1第二章 1.MCS51主要性能特點 MCS51產(chǎn)品分類 MCS51是高性能的8位單片機系列產(chǎn)品,它包括8051、80C51和8052三類產(chǎn)品。 8051是HMOS工藝的芯片; 80C51是CHMOS工藝的芯片; 8052是在8051基礎(chǔ)上改進了部分功能的HMOS工藝的芯片。 每類產(chǎn)品中都包括了三個芯片: 8051、8751、8031 80C51、87C51、80C31 8052、8752、8032第1頁/共151頁2第二章 1. MCS51主要性能特點 MCS51產(chǎn)品分類第2頁/共151頁3第二章 1.MCS51主要性能特點 MCS51主要功能 內(nèi)部程序存儲器容量(ROM):4KB/8KB

2、內(nèi)部數(shù)據(jù)存儲器容量(RAM):128B/256B I/O口:數(shù)量較多,4個雙向并口,1個全雙工串口,32線 外部程序存儲器尋址空間:內(nèi)外程序存儲器總空間為64KB, 外部數(shù)據(jù)存儲器尋址空間:64KB,各型號一致 定時器/計時器:51子系列2個16位T/C,52子系列3個,4種工作模式。 串行口:1個全雙工串口,占用2根I/O線構(gòu)成,4種模式 寄存器區(qū):內(nèi)部RAM中開辟4個通用工作寄存器區(qū),32個通用寄存器,可適應(yīng)多級中斷或子程序嵌套。第3頁/共151頁4第二章 1.MCS51主要性能特點 MCS51主要功能 中斷系統(tǒng):5個中斷源,2個可編程優(yōu)先級。 堆棧:位置可編程,深度可達128字節(jié),即整個

3、片內(nèi)RAM。 布爾處理器:有1個位(布爾)處理機,一位機,有自己的CPU、位寄存器、I/O口和指令集(MCS-51的指令子集)。適用于控制目的和解決邏輯問題。 指令系統(tǒng):共111條指令。算術(shù)邏輯運算、數(shù)據(jù)傳送、位操作、轉(zhuǎn)移控制。 52子系列的增強: 片內(nèi)RAM:256B (51子系列為128B) 片內(nèi)ROM:8KB (51子系列為 4KB) T/C:3個 (51子系列為2個) 中斷源:6個 (51子系列為5個)第4頁/共151頁5第二章 2.內(nèi)部結(jié)構(gòu)與外部引腳 MCS51單片機的內(nèi)部結(jié)構(gòu)框圖內(nèi)部總線時鐘電路CPUINT0T1T0并行接口串行接口P0 P1 P2 P3TXD RXD中斷系統(tǒng)ROM

4、RAM定時/計數(shù)器INT1第5頁/共151頁6第二章 2.內(nèi)部結(jié)構(gòu)與外部引腳 MCS51單片機的內(nèi)部由以下8個功能部件組成;1個8位中央處理器CPU振蕩器和時鐘電路4KB內(nèi)部程序存儲器(ROM/EPROM)128B內(nèi)部數(shù)據(jù)存儲器2個16位定時器計數(shù)器4個并行IO口1個全雙工串行IO口中斷系統(tǒng) 各部件是通過片內(nèi)單一總線連接而成 其基本結(jié)構(gòu)是通用CPU加外圍接口的結(jié)構(gòu)模式 功能部件的控制采用了特殊功能寄存器的集中控制方法第6頁/共151頁7第二章 2.內(nèi)部結(jié)構(gòu)與外部引腳 MCS51單片機的內(nèi)部邏輯框圖第7頁/共151頁8第二章 2.內(nèi)部結(jié)構(gòu)與外部引腳 MCS51單片機多采用DIP封裝,也有方形封裝

5、,40個有效引腳。第8頁/共151頁9第二章 2.內(nèi)部結(jié)構(gòu)與外部引腳nMCS51單片機40個有效引腳,分為4類:n2個專用主電源引腳:nVCC(40腳):+5V主電源nVSS(20腳):地第9頁/共151頁10第二章 2.內(nèi)部結(jié)構(gòu)與外部引腳n2個外接晶體引腳:nXTAL1(19腳):片內(nèi)為反向放大器輸入端。使用片內(nèi)振蕩電路時,外接晶振和電容;使用外部振蕩電路時接地。nXTAL2(18腳):片內(nèi)為反向放大器輸出端。使用片內(nèi)振蕩電路時,外接晶振和電容;使用外部振蕩電路時,接外部時鐘信號。n4個控制/電源復(fù)用引腳:nRST/VPD(9腳):在振蕩器工作時,引腳上出現(xiàn)連續(xù)2個機器周期以上高電平時,單片

6、機復(fù)位; VCC掉電期間,可接備用電源,用于內(nèi)部RAM的數(shù)據(jù)保持VCC低于規(guī)定水平,此引腳上接規(guī)定的電壓(50.5V),作為備用電源。第10頁/共151頁11第二章 2.內(nèi)部結(jié)構(gòu)與外部引腳nALE/ (30腳):當(dāng)訪問外部存儲器時,ALE(允許地址鎖存)的輸出用于鎖存地址的低位字節(jié)。對于EPROM型的單片機(如8751),在EPROM編程期間,此引腳用于輸入編程脈沖(PROG)。n (29腳):此腳的輸出是外部程序存儲器的讀選通信號。n (引腳):當(dāng)EA端保持高電平時,訪問內(nèi)部程序存儲器,但在PC(程序計數(shù)器)值超過0FFFH(對8051875180C51)或1FFFH(對8052)時,將自動

7、轉(zhuǎn)向執(zhí)行外部程序存儲器內(nèi)的程序。當(dāng)EA保持低電平時則只訪問外部程序存儲器,不管是否有內(nèi)部程序存儲器。對于常用的8031來說無內(nèi)部程序存儲器,所以EA腳必須常接地,這樣才能只選擇外部程序存儲器;對于EPROM型的單片機(如8751),在EPROM編程期間,此引腳也用于施加21伏的編程電源(VPP)。PROGPSEN/VPPEA第11頁/共151頁12第二章 2.內(nèi)部結(jié)構(gòu)與外部引腳n32個I/O引腳:P0.0P0.7 、P1.0P1.7 、P2.0P2.7和 P3.0P3.7n P0口(39腳一32腳):是雙向8位三態(tài)IO口,在外接存儲器時,作為地址總線的低8位及數(shù)據(jù)總線復(fù)用。n P1口(1腳一8

8、腳):是8位準(zhǔn)雙向IO口。由于這種接口輸出沒有高阻狀態(tài),輸入也不能鎖存,故不是真正的雙向IO口。nP2口(21腳一28腳):是8位準(zhǔn)雙向IO口。在訪問外部存儲器時,作為高8位地址總線送出高8位地址。nP3口(10腳一17腳):是8位準(zhǔn)雙向IO口。在MCS-51中,這8個引腳還具有第二功能,是復(fù)用雙功能口。第12頁/共151頁13第二章 2.內(nèi)部結(jié)構(gòu)與外部引腳nP3口第二功能引腳定義: 第13頁/共151頁14第二章 3.中央處理器nCPU的組成:nMCS51單片機內(nèi)的CPU與其他微處理器一樣,是單片機的指揮和執(zhí)行部件,完成運算和控制功能。n在邏輯上它是由8位算邏單元、定時控制部件及專用寄存器組

9、組成。第14頁/共151頁15第二章 3.中央處理器第15頁/共151頁16第二章 3.中央處理器n 1算術(shù)邏輯單元ALU:n對8位二進信息進行加、減、乘、除、比較等算術(shù)運算;n“與”、“或”、“異或”等邏輯運算及取反、清零、置1等邏輯操作功能;n具有很強的調(diào)用、轉(zhuǎn)移、判跳操作和豐富的數(shù)據(jù)傳送功能。n還具有極強的布爾處理(位處理)功能。n 2內(nèi)部寄存器n(1)工作寄存器組:MCS-51指定內(nèi)部數(shù)據(jù)存儲器(內(nèi)部RAM)中四組8個字節(jié)存儲單元為工作寄存器,并以符號R0,R1 R7 表示。03每組的地址分別為n0007H 08H一0FH 10H一17H 18H一1FHn使用哪一組工作寄存器是由PSW

10、的設(shè)置來決定的。n工作寄存器的功用類似于一般CPU中的通用寄存器組。第16頁/共151頁17第二章 3.中央處理器n(2)寄存器A、B:n寄存器A即累加器。在算術(shù)運算中用于存放操作數(shù)和運算結(jié)果;在邏輯操作、數(shù)據(jù)傳送等操作中作為源或目的操作數(shù)。n寄存器B主要用于和累加器配合以執(zhí)行乘除運算,存放第二個操作數(shù)。B也可以作一般的寄存器使用。n(3)程序狀態(tài)字PSW: PSW是一個可編程的8位寄存器,用于存放當(dāng)前指令執(zhí)行結(jié)果的有關(guān)狀態(tài),其中有一位可由用戶使用。CYCYACACF0F0RS1RS1RS0RS0OVOVP P第17頁/共151頁18 進位位CY: 表示運算結(jié)果有無進位(由硬件改變)CY=1表

11、示有進位,CY=0表示無進位。 在布爾操作中CY是布爾累加器。(由軟件改變)第二章 3.中央處理器第18頁/共151頁19 輔助進位位AC標(biāo)志: 運算器低四位(低半字節(jié))向高四位(高半字節(jié))的進位情況。有進位則AC1,無進位則AC0。 此位主要用于BCD碼的運算。 由硬件改變第二章 3.中央處理器第19頁/共151頁20 用戶標(biāo)志位F0: 是給用戶提供的一個狀態(tài)標(biāo)志位。 可由用戶定義為某一狀態(tài)的標(biāo)志。 由用戶在程序中改變。(由軟件改變)第二章 3.中央處理器第20頁/共151頁21 RS1、RS0: 是工作寄存器組的選擇位。用以確定所使用的工作寄存器的地址。 這兩位由程序設(shè)定,在使用工作寄存器

12、前應(yīng)設(shè)定這兩位的狀態(tài),從而指定了當(dāng)前使用的工作寄存器組的地址。(由軟件改變)第二章 3.中央處理器第21頁/共151頁22 溢出位OV標(biāo)志: 運算結(jié)果有無溢出的狀況,由硬件改變。OV1表示有溢出,OV0表示無溢出。 用于對有符號數(shù)加/減運算時的結(jié)果判斷。 設(shè)置規(guī)則為: 為第6位向第7位進位 為第7位向CY進位 乘法指令MUL影響OV 積255時,OV=1。積在BA寄存器對中。 積255時,OV=0。積在A寄存器中。 除法指令DIV影響OV 除數(shù)=0時,OV=1第二章 3.中央處理器76CCOV6C7C第22頁/共151頁23 奇偶校驗位P標(biāo)志 運算操作結(jié)果中,含有“1”的個數(shù)的奇偶性。 MCS

13、-51為奇校驗,即 P=1時表示“1”的個數(shù)為奇數(shù), P=0時表示“1”的個數(shù)為偶數(shù)。 常用于數(shù)據(jù)傳輸中的檢驗。第二章 3.中央處理器第23頁/共151頁24 (4)堆棧指針SP: 8位的堆棧指針SP指示當(dāng)前堆棧棧頂?shù)牡刂贰?MCS-51的堆棧設(shè)在內(nèi)部數(shù)據(jù)存儲器中(內(nèi)堆棧)。 堆棧是向上生長型(指地址值)。 PUSH:先+1,再入棧 POP: 先出棧,再-1 SP初值愈小,堆??梢杂?。最深為整個內(nèi)部RAM。 用戶可以通過SP的設(shè)置來定義內(nèi)部數(shù)據(jù)存儲器中的任一連續(xù)區(qū)作為堆棧。 在單片機復(fù)位后SP=07H,在不重新定義SP時,第1個壓棧的數(shù)據(jù)存入08H單元(第1工作寄存器區(qū))。第二章 3.中央處

14、理器第24頁/共151頁25 (5)數(shù)據(jù)指針DPTR 這是一個16位的寄存器,可分成兩個字節(jié):高字節(jié)DPH和低字節(jié)DPL。 其功能是存放16位地址,以指示數(shù)據(jù)存儲器的任何單元。 對64KB外部數(shù)據(jù)存儲器空間尋址,用作間接尋址寄存器 MOVX A, DPTR MOVX DPTR, A 對程序存儲器空間尋址,作為基址寄存器,基址+變址。 MOVC A,A+DPTR第二章 3.中央處理器第25頁/共151頁26 (6)程序計數(shù)器PC 這是一個16位的寄存器,無地址,也不可尋址。 CPU總是按PC的指示讀取程序。PC功能是存放16位地址,以指示下一條要執(zhí)行的指令的地址。 PC由硬件自動加1,因此CPU

15、執(zhí)行程序一般是順序方式。當(dāng)發(fā)生轉(zhuǎn)移、子程序調(diào)用、中斷和復(fù)位等操作,PC被強制改寫,程序執(zhí)行順序也發(fā)生改變。 復(fù)位時,PC=0000H。第二章 3.中央處理器第26頁/共151頁27 CPU定時 MCS-51單片機的振蕩器頻率規(guī)定為1.212MHz。該振蕩器周期,稱為振蕩周期。 振蕩脈沖由內(nèi)部電路形成兩相的時鐘信號,兩相脈沖組成一個狀態(tài)周期,也稱為。(=2個振蕩周期)機器周期由6個狀態(tài)組成=6個時鐘周期=12個振蕩周期指令周期:執(zhí)行1條指令所占用的全部時間。 若振蕩器頻率為12MHz, 振蕩周期=1/12 s 時鐘周期=1/6 s 機器周期=1 s 指令周期=14 s第二章 3.中央處理器第27

16、頁/共151頁28 基本定時時序關(guān)系第二章 3.中央處理器S機器周期1取指令、譯碼指令周期機器周期2取操作數(shù)、執(zhí)行第28頁/共151頁29 一、存儲器結(jié)構(gòu) MCS-51單片機的存儲器結(jié)構(gòu)采用哈佛結(jié)構(gòu),將程序和數(shù)據(jù)分開存放,程序存儲器用以存放程序和固定的表格數(shù)據(jù),而數(shù)據(jù)存儲器中只能存放數(shù)據(jù),不能執(zhí)行程序。兩者各有自己的尋址方式、尋址空間和控制系統(tǒng),這對單片機的“面向控制”的實際應(yīng)用極為方便有利。第二章 4.存儲器與特殊功能寄存器第29頁/共151頁30 8051存儲器組織結(jié)構(gòu)第二章 4.存儲器與特殊功能寄存器第30頁/共151頁31 物理上4個存儲器空間: 片內(nèi)/片外程序存儲器空間 片內(nèi)/片外數(shù)

17、據(jù)存儲器空間 邏輯上3個存儲器地址空間: 64KB 片內(nèi)外統(tǒng)一的程序存儲器 256B 片內(nèi)數(shù)據(jù)存儲器 64KB 片外數(shù)據(jù)存儲器第二章 4.存儲器與特殊功能寄存器第31頁/共151頁32 二、程序存儲器 程序存儲器用于存放要執(zhí)行的程序指令和固定的表格、常數(shù)。 MCS-51單片機由16位的程序計數(shù)器(PC)和16條地址線尋址程序存儲器,尋址范圍為64KB。 內(nèi)部程序存儲器和外部程序存儲器在邏輯上是統(tǒng)一編址的。對于有內(nèi)部ROM或EPROM的芯片8051和8751,其內(nèi)部程序存儲器地址安排在0000H0FFFH的4KB空間,而外部程序存儲器的地址空間為1000HFFFFH(60KB)。 執(zhí)行程序時,不

18、管是從內(nèi)部程序存儲器或是從外部程序存儲器讀取指令,其操作速度是一樣的。 程序存儲器的操作完全由程序計數(shù)器PC控制,PC指示將要執(zhí)行的程序指令的地址。 采用立即尋址和基址+變址尋址第二章 4.存儲器與特殊功能寄存器第32頁/共151頁33 程序存儲器有以下特殊單元: 0000H 單片機復(fù)位后PC=0000H,初始程序入口 0003H 外部中斷 000BH 定時/計數(shù)器T0溢出中斷 0013H 外部中斷 001BH 定時/計數(shù)器T1溢出中斷 0023H 串行口中斷 一般在上述地址放置跳轉(zhuǎn)指令,跳至真正的程序入口第二章 4.存儲器與特殊功能寄存器0INT1INT第33頁/共151頁34 三、數(shù)據(jù)存儲

19、器 數(shù)據(jù)存儲器用以存放和讀取數(shù)據(jù),它不能存放和執(zhí)行程序指令。 數(shù)據(jù)存儲器在物理上和邏輯上都分為兩個地址空間: 內(nèi)部數(shù)據(jù)存儲器(內(nèi)部RAM)地址空間為00H7FH, 128B 外部數(shù)據(jù)存儲器(外部RAM)地址空間為0000HFFFFH,64KB 兩空間使用不同指令來訪問的: 訪問內(nèi)部RAM用MOV指令 訪問外部RAM用MOVX指令第二章 4.存儲器與特殊功能寄存器第34頁/共151頁35 8051內(nèi)部RAM的低128B單元,可按功能分為三個區(qū)域: 工作寄存器區(qū): 字節(jié)地址:00H1FH 位尋址區(qū): 字節(jié)地址:20H2FH,位地址為:00H7FH 數(shù)據(jù)緩沖區(qū)/堆棧區(qū): 字節(jié)地址:30H7FH,可用

20、作堆棧和參與運算。 8051高128B為專用寄存器區(qū)(S F R) (地址為80HFFH) 其中只有26字節(jié)有定義。 對8052,多128B數(shù)據(jù)存儲器,其地址與SFR區(qū)地址重疊: 訪問SFR,采用直接尋址 訪問高128B內(nèi)部RAM,采用寄存器間接尋址第二章 4.存儲器與特殊功能寄存器第35頁/共151頁36 內(nèi)部數(shù)據(jù)存儲器配置圖: 4個工作寄存器組。每一組包括8個工作寄存器,用符號R0R7表示,同一時刻只選用一組,具體使用哪一組是通過對PSW的RS1、RS0兩位的設(shè)置來實現(xiàn)的。切換工作寄存器組很容易實現(xiàn)子程廳嵌套、中斷嵌套時的現(xiàn)場保護。若只使用了一組工作寄存器,則其他三組RAM單元可作為一般的

21、內(nèi)部RAM作用。 注意位尋址空間,區(qū)分位地址和字節(jié)地址。 堆棧的位置由SP確定,不能超出內(nèi)部RAM空間。第二章 4.存儲器與特殊功能寄存器第36頁/共151頁37 四、特殊功能寄存器SFR 要點 MCS-51的特殊功能寄存器地址安排在內(nèi)部數(shù)據(jù)存儲器的80H0FFH空間。這種存儲器映象方式允許像訪問內(nèi)部數(shù)據(jù)存儲器一樣方便的訪問特殊功能寄存器。對SFR訪問的尋址方式只能為直接尋址。 SFR是用來對片內(nèi)各功能模塊進行管理、控制、監(jiān)視的控制寄存器和狀態(tài)寄存器。MCS-51片內(nèi)的I/O口鎖存器、定時器、串行口緩沖器以及各種控制寄存器和狀態(tài)寄存器都是以SFR的形式出現(xiàn)。 8051有22個SFR,8052有

22、26個SFR。 8051有11個SFR可以被位尋址,其字節(jié)地址可以被8整除。第二章 4.存儲器與特殊功能寄存器第37頁/共151頁38 特殊功能寄存器SFR列表第二章 4.存儲器與特殊功能寄存器符號單元地址名稱位地址符號地址* ACCE0H累加器ACC.7ACC.0E7HE0H* BF0H乘法寄存器B.7B.0F7HF0H* PSWD0H程序狀態(tài)字PSW.7PSW.0D7HD0H SP81H堆棧指針 DPL82H數(shù)據(jù)存儲器指針(低8位) DPH83H數(shù)據(jù)存儲器指針(高8位) * IEA8H中斷允許控制器IE.7IE.0AFHA8H* IPB8H中斷優(yōu)先控制器IP.7IP.0BFHB8H* P0

23、80H通道0P0.7P0.087H80H* P190H通道1P1.7P1.097H90H* P2A0H通道2P2.7P2.0A7HA0H* P3B0H通道3P3.7P3.0B7HB0H PCON87H電源控制及波特率選擇 * SCON98H串行口控制SCON.7SCON.09FH98H SBUF99H串行數(shù)據(jù)緩沖器 * TCON88H定時控制TCON.7TCON.08FH88H TMOD89H定時器方式選擇 TL08AH定時器0低8位 TL18BH定時器1低8位 TH08CH定時器0高8位 TH18DH定時器1高8位 第38頁/共151頁39 特殊功能寄存器SFR中可位尋址的寄存器第二章 4.

24、存儲器與特殊功能寄存器n在CPU介紹中介紹了一些SFR,其他SFR與片內(nèi)的功能模塊管理有關(guān),在后續(xù)相關(guān)部分詳細介紹。第39頁/共151頁40 一、IO口內(nèi)部結(jié)構(gòu) 4個功能很強的8位并行口,32條I/O線,分為P0P3口。 I/O口的每位由鎖存器、輸出驅(qū)動器和輸入緩沖器組成。 每個I/O既可作輸入又可作輸出,每一條口線可獨立用作輸入又可用作輸出,作輸出時可鎖存數(shù)據(jù),作輸入時可緩沖數(shù)據(jù)。 每個口包含的鎖存器,P0P3是特殊功能寄存器SFR,可以位尋址。第二章 5.并行I/O口口口字節(jié)地址字節(jié)地址位地址位地址P080H8087HP190H9097HP2A0HA0A7HP3B0HB0B7H第40頁/共

25、151頁41 IO口的每位鎖存器均由D觸發(fā)器組成。在CPU“寫鎖存器”信號驅(qū)動下,將內(nèi)部總線上的數(shù)據(jù)寫入鎖存器中,鎖存器的輸出端Q反饋到內(nèi)部總線上,以響應(yīng)來自CPU的“讀鎖存器”信號,把鎖存器內(nèi)容讀入內(nèi)部總線上,送CPU處理。而在響應(yīng)CPU的”讀引腳”信號時,則將IO端口引腳上的信息讀至內(nèi)部總線,送CPU處理。 讀IO的指令有兩類,一類是讀鎖存器,一類是讀引腳,這兩種指令的操作是有區(qū)別的。第二章 5.并行I/O口第41頁/共151頁42 P0口 輸出 輸入 讀-修改-寫操作 P0在有外部存儲器擴充時,作地址/數(shù)據(jù)總線復(fù)用,分時輸出A0A7 和D0D7 輸出時接上拉電阻;輸入時先寫“1”,再讀入

26、。 可驅(qū)動8個LSTTL負載。第二章 5.并行I/O口第42頁/共151頁43 P0位結(jié)構(gòu)第二章 5.并行I/O口第43頁/共151頁44 P1位結(jié)構(gòu)第二章 5.并行I/O口第44頁/共151頁45第二章 5.并行I/O口 P2位結(jié)構(gòu)第45頁/共151頁46第二章 5.并行I/O口 P3位結(jié)構(gòu)第46頁/共151頁47I/O口第二功能注 釋P3.0RXD串行口數(shù)據(jù)接收端P3.1TXD串行口數(shù)據(jù)發(fā)送端P3.2INT0外部中斷請求0P3.3INT1外部中斷請求1P3.4T0定時/計數(shù)器0P3.5T1定時/計數(shù)器1P3.6WR外部RAM寫信號P3.7RD外部RAM讀信號 P3口第二功能第二章 5.并行

27、I/O口第47頁/共151頁48 I/O口小結(jié): 應(yīng)用上: P0:系統(tǒng)擴展;通用I/O口(輸出時,需接上拉電阻。) P1:通用I/O口 P2:系統(tǒng)擴展;通用I/O口 P3:功能口,每位獨立定義;通用I/O口。 P0,P2需復(fù)用,位結(jié)構(gòu)設(shè)有多路轉(zhuǎn)換器MUX,由內(nèi)部控制信號控制。 P3口作通用I/O口時,第2功能輸出控制線由硬件設(shè)為高電平;作第2功能時,應(yīng)由軟件對鎖存器置1。 驅(qū)動能力上: P0驅(qū)動8個LSTTL負載 P1P3驅(qū)動34個LSTTL負載第二章 5.并行I/O口第48頁/共151頁49 I/O口小結(jié): 訪問方式上: 每個I/O口均有兩種讀入方式(用指令區(qū)分) 讀鎖存器(讀-修改-寫操作

28、指令) 讀引腳 (是以IO口為原操作數(shù)的指令) 例如 ANL P1,A MOV A,P1 系統(tǒng)復(fù)位時,所有口鎖存器均置“1”。 注意:讀引腳時,需先向鎖存器寫“1”。第二章 5.并行I/O口第49頁/共151頁50 讀引腳時,需先向鎖存器寫“1”的原因。第二章 5.并行I/O口第50頁/共151頁51第二章 6.定時/計數(shù)器 對于定時/計數(shù)器來說,不管是獨立的定時器芯片還是單片機內(nèi)的定時器,大都有以下特點:u定時/計數(shù)器有多種工作方式,可以是計數(shù)方式也可以是定時方式。u定時/計數(shù)器的計數(shù)值是可變的,當(dāng)然對計數(shù)的最大值有一定限制,這取決于計數(shù)器的位數(shù)。計數(shù)的最大值也就限制了定時的最大值。u可以按

29、照規(guī)定的定時或計數(shù)值,在定時時間到或者計數(shù)終止時,發(fā)出中斷申請,以便實現(xiàn)定時控制。第51頁/共151頁52 一、功能和結(jié)構(gòu): MCS-51有2個16位可編程定時/計數(shù)器(Timer/Counter):T0,T1 每個都具有T/C兩種功能和4種工作方式。 有相應(yīng)的SFR對它們進行編程控制。 工作方式寄存器TMOD 控制寄存器TCON 使用時,靠用戶軟件設(shè)置。復(fù)位后,全部被清零。第二章 6.定時/計數(shù)器第52頁/共151頁53第二章 6.定時/計數(shù)器n單片機CPU和T/C的關(guān)系第53頁/共151頁54第二章 6.定時/計數(shù)器 定時/計數(shù)器的原理 本質(zhì)上是一個加一計數(shù)器 定時器功能:計數(shù)輸入信號為內(nèi)

30、部時鐘脈沖,每個機器周期(12個振蕩周期)使計數(shù)寄存器的值增一。(計數(shù)頻率=1/12振蕩頻率) 計數(shù)器功能:計數(shù)脈沖由外部輸入(T0-P3.4, T1-P3.5),輸入信號下跳變10時,計數(shù)值加1。每個機器周期對外部輸入采樣1次,確認1次下跳變用2個機器周期,計數(shù)頻率=1/24振蕩頻率。第54頁/共151頁55 二、相關(guān)SFR: TMOD: 地址89H,不可位尋址第二章 6.定時/計數(shù)器第55頁/共151頁56 門控方式選擇位GATE : GATE=0,非門控方式(內(nèi)部啟動): TRx=1,啟動定時器工作; TRx=0,停止定時器工作。 GATE=1,門控方式(外部啟動): TRx=1且引腳/

31、INTx=1才啟動。 /INT0控制T0, /INT1控制T1 定時器/計數(shù)器功能選擇位 0:定時器 1:計數(shù)器第二章 6.定時/計數(shù)器/CT第56頁/共151頁57 方式選擇位:第二章 6.定時/計數(shù)器M1 M0工作方式功 能 說 明0 0方式013位計數(shù)器0 1方式116位計數(shù)器1 0方式2自動再裝入8位計數(shù)器1 1方式3定時器0:分成兩個8位計數(shù)器定時器1:停止計數(shù)第57頁/共151頁58 TCON:地址88H,可位尋址。第二章 6.定時/計數(shù)器第58頁/共151頁59 啟動控制位TR0、TR1 =0,停止定時器工作 =1,分情況: GATE=0,啟動定時器工作 GATE=1,由/INT

32、x控制, /INTx為高電平,啟動定時器工作 /INTx為低電平,禁止定時器工作 溢出中斷請求標(biāo)志位TF0、TF1 定時器溢出時,由硬件置TFx=1,引起中斷請求,CPU響應(yīng)Tx中斷后(進入中斷處理程序),硬件自動清零TFx。 TFx也可以由程序查詢和清零。 低4位用于外部中斷控制,在后面介紹。第二章 6.定時/計數(shù)器第59頁/共151頁60 三、工作方式: 兩個T/C工作方式有所不同。 T0可用: 方式0,1,2,3 T1可用: 方式0,1,2第二章 6.定時/計數(shù)器第60頁/共151頁61 工作方式0:13位T/C M1M0兩位為00時,定時/計數(shù)器為工作方式0。 13位是由TLx的低五位

33、和THx的全部8位構(gòu)成。 C/T=0/1,決定其功能:計數(shù)信號為內(nèi)部時鐘或外部輸入 可計數(shù)最大值:213=8192第二章 6.定時/計數(shù)器第61頁/共151頁62 工作方式1:16位T/C M1M0兩位為01時,定時/計數(shù)器為工作方式1。 16位是由全部TLx和THx構(gòu)成。 與方式0相比,除了位數(shù)不同,其他狀態(tài)和控制都相同。 可計數(shù)最大值:216=65536第二章 6.定時/計數(shù)器第62頁/共151頁63 工作方式2:自動重裝載8位T/C M1M0兩位為10時,定時/計數(shù)器為工作方式2。 THx為重裝載常數(shù),TLx為計數(shù)器 TLx溢出時,THxTLx,THx內(nèi)容不變。 常用于 周期性工作的精確

34、定時 串行口波特率發(fā)生器第二章 6.定時/計數(shù)器第63頁/共151頁64 工作方式3:T0分為2個8位T/C M1M0兩位為11時,定時/計數(shù)器為工作方式3。 方式3只對T0有效,T1在方式3下不工作。 T0分為2個獨立的8位計數(shù)器; TL0利用了T0的狀態(tài)和控制位(TR0,GATE,C/T和TF0),功能同方式0、方式1。 TH0使用了定時計數(shù)器1的控制啟動位TRl和溢出標(biāo)志位TF1(占用的T1的中斷),只能完成定時功能。 方式3是為了在使用串行口時,需要兩個獨立的計數(shù)器而特定提供的。此時把定時器1設(shè)定為方式2,用作串行通信的波特串發(fā)生器,不使用中斷(即溢出標(biāo)志TF1)。第二章 6.定時/計

35、數(shù)器第64頁/共151頁65第二章 6.定時/計數(shù)器第65頁/共151頁66 四、T/C的編程和應(yīng)用 編程的基本環(huán)節(jié) 選擇計數(shù)脈沖源,即選擇功能 定時功能:內(nèi)部時鐘源 計數(shù)功能:外部信號輸入 選擇兩個寄存器組成計數(shù)器的形式:THx, TLx 選擇啟動、停止的操作方式(是否使用GATE位) 計數(shù)器預(yù)置初始值 定時:初始值設(shè)定了溢出的周期 計數(shù):通常為零 若使用了中斷功能,應(yīng)做有關(guān)設(shè)置工作(在中斷系統(tǒng)介紹) 啟動T/C第二章 6.定時/計數(shù)器第66頁/共151頁67 編程使用:1、方式0: (13位T/C) 要求: T0產(chǎn)生1ms的定時, 并使P1.0輸出周期為2ms的方波,設(shè)晶振為6MHz。 定

36、時,方式0,不用GATE位, GATE=0,C/T=0,M1M0=00,TMOD=00H 計算初始值:機器周期=12/晶振頻率=12/(6106)=2us設(shè)初始值為X, (213 X) 2106秒= 103 秒解得 X = 7692 = 1E0CH13位T/C: TH0的8位+TL0的低5位第二章 6.定時/計數(shù)器 F0 0C1100000011100001C0E1第67頁/共151頁68 得 TH0=0F0H TL0=0CH 程序:第二章 6.定時/計數(shù)器START: MOVTMOD, #00H;置方式0, 完成1,2,3MOVTL0,#0CH;初始值MOVTH0,#0F0HSETBTR0;

37、啟動定時器LOOP: JBCTF0,OUTPUT;等待定時到AJMPLOOPOUTPUT:MOVTL0,#0CH;定時到,需重設(shè)初始值MOVTH0,#0F0HCPLP1.0;取反AJMPLOOP;循環(huán)第68頁/共151頁692、方式1: (16位T/C) 要求: T0產(chǎn)生1ms的定時, 并使P1.0輸出周期為2ms的方波,設(shè)晶振為6MHz。 定時,方式1,不用GATE位, GATE=0,C/T=0,M1M0=01,TMOD=01H 計算初始值:機器周期=12/晶振頻率=12/(6106)=2us設(shè)初始值為X, (216 X) 2106秒= 103 秒解得 X = FE0CH 得 TH0=0FE

38、H TL0=0CH第二章 6.定時/計數(shù)器第69頁/共151頁70 程序:第二章 6.定時/計數(shù)器START: MOVTMOD, #01H;置方式1, 完成1,2,3MOVTL0,#0CH;初始值MOVTH0,#0FEHSETBTR0;啟動定時器LOOP: JBCTF0,OUTPUT;等待定時到AJMPLOOPOUTPUT:MOVTL0,#0CH;定時到,需重設(shè)初始值MOVTH0,#0FEHCPLP1.0;取反AJMPLOOP;循環(huán)第70頁/共151頁71第二章 6.定時/計數(shù)器第71頁/共151頁72第二章 6.定時/計數(shù)器3、方式2: (自動重裝載8位T/C) 要求:利用定時器T1的方式2

39、對外部信號計數(shù),要求每計滿100次對P1.0端取反。解:計數(shù)功能:C/T = 1方式2:M1M0=10不用門控位:GATE=0得:TMOD=0110 0000 = 60H設(shè)計數(shù)初值X 100=28-X X=256-100=156=9CH程序:ORG 0000HMAIN:MOV TMOD,#60H ; 方式 MOV TL1,#156 ; 初值 MOV TH1,#156 ; 重裝 SETB TR1 ; 啟動計數(shù)LOOP: JNB TF1, LOOP; 等待計夠CPL P1.0 ; 取反CLR TF1SJMP LOOP第72頁/共151頁73第二章 6.定時/計數(shù)器4、方式3: (T0分為2個8位C

40、OUNTER) 要求: T0方式3,分別產(chǎn)生200s和400s的定時, 并使P1.0和P1.1分別產(chǎn)生400s和800s的方波,設(shè)晶振為6MHz。解:需要利用中斷方式。機器周期 t=2s TL0定時200s TH0定時400s 定時溢出產(chǎn)生中斷,將P1.0和P1.1取反。方式3,GATE=0,C/T=0,M1M0=11,TMOD=03H 初始值:TL0初始值(28 X) 2= 200 X = 156 = 9CHTH0初始值(28 Y) 2= 400 Y = 56 = 38H因涉及中斷系統(tǒng),程序略去。第73頁/共151頁74第二章 6.定時/計數(shù)器5、運行中讀取T/C 在讀取運行中的定時/計數(shù)器

41、時要特別小心,否則讀取的計數(shù)值有可能出錯。 原因是不可能在同一時刻同時讀取TLx和THx的內(nèi)容。 先讀TLx,后讀THx:由于定時器在不斷運行,讀THx前,若恰好產(chǎn)生了TLx向THx進位的情形,則讀得的值錯誤。 先讀THx,后讀TLx:讀TLx前,若恰好產(chǎn)生了TLx向THx進位的情形,則讀得的值還是錯誤。 一種方法是:先讀THx,后讀TLx,再讀THx,若兩次讀 得的THx值相同,則可確定讀得的內(nèi)容是正確的。若前后兩次讀得值不同,則重復(fù)上述過程,這次重復(fù)讀得的內(nèi)容就應(yīng)該是正確的了。(跳過進位時段)第74頁/共151頁75第二章 6.定時/計數(shù)器 設(shè)讀得的TH0和TL0分別存放在R1和R0中,程

42、序段如下: RDTIME:MOV A,TH0;讀TH0中內(nèi)容MOV R0,TL0;讀TL0中內(nèi)容CJNE A,TH0, RDTIME;再讀,兩次TH0比較MOV R1,A;OK!RET第75頁/共151頁76第二章 6.定時/計數(shù)器6、門控制位的功能和使用 門控制位GATE=1,且運行控制位TR01時,允許外部輸入電平控制定時器,即INT01啟動計數(shù)器;INT00則停止計數(shù)。利用這一特點可以測量外部輸入脈沖的寬度。 例:利用定時器計數(shù)器T0的門控制位GATE測量INT0引腳上出現(xiàn)的脈沖寬度。 解:應(yīng)采用T0以定時功能工作,由外部脈沖通過INT0引腳控制計數(shù)器的開關(guān),每次開關(guān)通過計數(shù)器的時鐘(機

43、器周期)信號數(shù)量是一定的。計數(shù)值乘上機器周期就是脈沖寬度。編程時取T0的方式1定時,且置GATE=1、TR0=1。計數(shù)初值取00H。當(dāng)INT0出現(xiàn)高電平時開始計數(shù),INT0為低電平時停止計數(shù),讀出T0的值。第76頁/共151頁77第二章 6.定時/計數(shù)器定時功能:C/T = 0,方式1:M1M0=01,門控位:GATE=1得:TMOD= 0000 1001 = 09H 程序:START:MOVTMOD,#09H; 功能與方式MOVTL0,#00H; 初值0MOVTH0,#00HWAIT1:JBP3.2,WAIT1 ; 等待INT0變低SETBTR0 ;變低,啟動定時,INT0=0,未啟動WAI

44、T2:JNBP3.2,WAIT2 ; 等待INT0變高,WAIT3:JBP3.2,WAIT3 ; 變高,真正定時CLRTR0; 變低,停止定時MOVR0,TL0; 在停止?fàn)顟B(tài)讀取MOVR1,TH0HERE:SJMPHERE第77頁/共151頁78第二章 7.串行接口 一、兩種通信形式:并行通信的特點:短距離、高速度,傳輸線多。串行通信的特點:長距離,高速度,傳輸線少。第78頁/共151頁79 二、串行通信概述 1.異步通信方式(Asynchronous Data Communication) 以字符為傳送單位,用起始位和停止位標(biāo)識每個字符的開始和結(jié)束,字符間隔不固定,只需字符傳送時同步。 發(fā)送

45、端和接收端不是同一個時鐘(異步) 是幀格式傳送,幀格式由4部分組成: 起始位 數(shù)據(jù)位 奇偶校驗位 停止位第二章 7.串行接口第79頁/共151頁80 2、異步通信的特點: 每幀傳送一個字符(字節(jié)),字符間不一定相連; 系統(tǒng)簡單可靠、造價低, 傳輸速度較低。第二章 7.串行接口第80頁/共151頁81 3、同步通信方式(Synchronous Data Communication) 同步通信的含義: 以一串字符為一個傳送單位,字符間不加標(biāo)識位,在一串字符開始用同步字符標(biāo)識,發(fā)送端和接收端使用同一個時鐘,同步發(fā)、收。 同步通信的幀格式: 由同步字符和多個(大量)連續(xù)的數(shù)據(jù)構(gòu)成。 同步通信的特點:

46、通訊雙方須嚴(yán)格同步,硬件要求高 傳輸速度高 短距離傳輸 系統(tǒng)復(fù)雜 造價高第二章 7.串行接口第81頁/共151頁82 4、波特率 是描述數(shù)據(jù)傳輸速率的物理量。 定義為:每秒鐘傳送的二進制代碼的位數(shù)。 單位:比特(b/s)例:要求每秒傳送120個字符,每幀為10位。解: B=12010=1200波特每位0.83ms有效數(shù)據(jù)位傳輸率=1208=960位/秒第二章 7.串行接口第82頁/共151頁83 5、串行通信的傳輸方式 單工方式(Simplex) 半雙工方式(Half Duplex) 全雙工方式(Full-duplex)第二章 7.串行接口第83頁/共151頁84 三、MCS-51的串行接口

47、MCS-51有一可編程的全雙工串行通信接口 可用作 異步串行通信 同步移位寄存器 通信連接 1對1單機通信 1對多多機通信 幀格式有 8位 10位 11位 可設(shè)置不同波特率。第二章 7.串行接口第84頁/共151頁85 1、串行口結(jié)構(gòu)第二章 7.串行接口第85頁/共151頁86 串行口數(shù)據(jù)緩沖器SBUF SBUF是一個SFR 內(nèi)部硬件是兩個獨立的接收、發(fā)送緩沖器SBUF,一個用作發(fā)送;一個用作接收。發(fā)送緩沖器只能寫入不能讀出,接收緩沖器只能讀出不能寫入,兩者共用一個字節(jié)地址(99H)。 可通過指令對SBUF的讀寫來區(qū)別:對接收緩沖器的操作還是對發(fā)送緩沖器的操作。 CPU寫SBUF,就是修改發(fā)送

48、緩沖器: CPU讀SBUF,就是讀接收緩沖器。第二章 7.串行接口第86頁/共151頁87 串行口控制寄存器SCON 用來控制串行口的工作方式和狀態(tài),字節(jié)地址為98H,它可以位尋址。在復(fù)位時所有位被清零。第二章 7.串行接口第87頁/共151頁88 SM0、SM1:串行口工作方式選擇位第二章 7.串行接口第88頁/共151頁89 SM2:多機通信控制位 主要用于工作方式2和工作方式3。 如SM21,則接收到第9位數(shù)據(jù) RB8為0時不啟動接收中斷標(biāo)志RI(即RI0),并且將接收到的前8位數(shù)據(jù)丟棄 RB8為1時,才將接收的前8位數(shù)據(jù)送入SBUF,并置位RI產(chǎn)生中斷請求 當(dāng)SM2=0時,則不論第9位

49、數(shù)據(jù)為1或為0,都將前8位數(shù)據(jù)裝入SBUF中,并產(chǎn)生中斷請求。 在方式0時,SM2必須為0第二章 7.串行接口第89頁/共151頁90 REN:允許接收控制位 =1:允許串行口接收 =0:禁止接收 TB8:發(fā)送的第9位數(shù)據(jù) 方式2和方式3時用于存放發(fā)送數(shù)據(jù)第9位 可作為奇偶檢驗位 多機通信特征位(1:是地址;0:是數(shù)據(jù)) TB8由軟件置位或復(fù)位第二章 7.串行接口第90頁/共151頁91 RB8:接收的第9位數(shù)據(jù) 方式2和方式3時用于存放接收數(shù)據(jù)第9位 可作為奇偶檢驗位 在方式1下,若SM2=0,則RB8用于存放接收到的停止位 方式0下,不使用RB8第二章 7.串行接口第91頁/共151頁92

50、 TI:發(fā)送中斷標(biāo)志 用于指示一幀數(shù)據(jù)是否發(fā)送完。 在方式0下,發(fā)送電路發(fā)送完第8位數(shù)據(jù)時,TI由硬件置位 在其它方式下,TI在發(fā)送電路開始發(fā)送停止位時置位, 發(fā)送完后由硬件置位,必須由軟件復(fù)位 CPU查詢TI狀態(tài),便可知一幀信息是否已發(fā)送完畢第二章 7.串行接口第92頁/共151頁93 RI:接收中斷標(biāo)志 用于指示一幀數(shù)據(jù)是否接收完。 在方式0下,RI在接收電路接收到第8位數(shù)據(jù)時由硬件置位 在其它方式下,RI是在接收電路接收到停止位的中間位置時置位 RI供CPU查詢,以決定CPU是否需要從SBUF(接收)中提取接收到的字符或數(shù)據(jù) 必須由軟件復(fù)位第二章 7.串行接口第93頁/共151頁94 特

51、殊功能寄存器PCON PCON主要是為CHMOS型單片機的電源控制設(shè)置的專用寄存器,字節(jié)地址為87H,不能位尋址。 SMOD:波特率選擇位 在方式1、方式2和方式3時,串行通信的波特率和SMOD有關(guān)。 SMOD=1,通信波特率乘2; SMOD=0,波特率不變。第二章 7.串行接口SMODSMODGF1GF1GF0GF0PDPDIDLIDL D7 D6 D5 D4 D3 D2 D1 D0 第94頁/共151頁95 2、串行口工作方式 MCS51的串行口有四種工作方式,它是由SCON中的SM1和SM0來決定的。第二章 7.串行接口第95頁/共151頁96 方式0 為同步移位寄存器方式,常用于擴展I

52、/O口 方式0的特點: 一幀僅有8位數(shù)據(jù),無起始和結(jié)束位,低位在前。 波特率固定,其值為osc/12。 連接: RXD:數(shù)據(jù)輸入/輸出端。 TXD:同步脈沖輸出端,每個脈沖對應(yīng)一個數(shù)據(jù)位。第二章 7.串行接口第96頁/共151頁97 工作過程: 發(fā)送過程:寫入SBUF,啟動發(fā)送,一幀發(fā)送結(jié)束,TI=1 接收過程:REN=1且RI=0,啟動接收,一幀接收完畢,RI=1第二章 7.串行接口第97頁/共151頁98n例 外接移位寄存器輸出( (串行轉(zhuǎn)換為并行) )第二章 7.串行接口第98頁/共151頁99 方式1 為波特率可變的8位數(shù)據(jù)位的異步通信接口 特點: 一幀有10位,1位起始位,8位數(shù)據(jù)位

53、,1位停止位。接收時停止位進入SCON的RB8。 RXD引腳用于接收數(shù)據(jù),TXD引腳用于發(fā)送數(shù)據(jù)??梢酝瑫r進行收、發(fā)。 波特率可變,由T1的溢出率決定。第二章 7.串行接口第99頁/共151頁100 工作過程 發(fā)送:寫入SBUF,同時啟動發(fā)送,一幀發(fā)送結(jié)束,TI=1。 接收:REN=1,允許接收。接收完一幀,若RI=0且停止位為1 (或SM2=0),將接收數(shù)據(jù)裝入SBUF,停止位裝入RB8,并使RI=1;否則丟棄接收數(shù)據(jù),不置位RI。第二章 7.串行接口第100頁/共151頁101 方式2,3 為9位異步通信接口 特點: 一幀有11位。1位起始, 8位數(shù)據(jù)位, 1位校驗/特征位(接收時該位進入

54、SCON的RB8), 1位停止位。 RXD引腳用于接收數(shù)據(jù),TXD引腳用于發(fā)送數(shù)據(jù),可以同時進行收、發(fā)。 方式2波特率固定有兩種值: fosc/32或fosc/64 方式3波特率可變,由T1的溢出率決定。 可以進行多機通信第二章 7.串行接口第101頁/共151頁102 工作過程: 發(fā)送:先裝入TB8,寫入SBUF并啟動發(fā)送,發(fā)送結(jié)束,TI=1。 接收:REN=1,允許接收。接收完一幀,若RI=0且第9位為1 (或SM2=0),將接收數(shù)據(jù)裝入接收SBUF,第9位裝入RB8,使RI=1;否則丟棄接收數(shù)據(jù),不置位RI。第二章 7.串行接口第102頁/共151頁103 3、串行通信的波特率設(shè)置 MC

55、S-51的串行通信的波特率與下列因素有關(guān) 工作方式選擇(波特率有固定和可變之分) 系統(tǒng)振蕩頻率fosc (晶振頻率) PCON的SMOD位設(shè)置 定時器T1的設(shè)置第二章 7.串行接口第103頁/共151頁104 各工作方式下的波特率 方式0的波特率是固定的,為系統(tǒng)時鐘的12分頻(fosc/12),即每個機器周期傳送一位數(shù)據(jù)位。 串行口用方式2工作時,波特率為(2SMOD/64)fosc 。 即SMOD=0, fosc/64 即SMOD=1, fosc/32 串行口方式1和方式3用定時器T1作為波特率發(fā)生器,其波特率有多種選擇,與T1的溢出率有關(guān)第二章 7.串行接口第104頁/共151頁105 T

56、1溢出速率的計算 溢出速率定義為: T1溢出速率= T1溢出次數(shù)/秒 溢出速率與定時器的工作方式有關(guān)。T1在作為波特率發(fā)生器時,設(shè)置為方式2自動可重裝載8位定時器。 T1溢出率與這兩個因素有關(guān) fosc T1的定時初始常數(shù)N(=TH1) T1定時器計數(shù)機器周期(12/fosc)的個數(shù)第二章 7.串行接口第105頁/共151頁106 T1溢出率=1/定時時間t t = (28-初值N)*機器周期 =(28-初值N)12/fosc T1溢出率= fosc / 12 / (28-初值N) 例如:若fosc=6MHz,TH1=N=0F3H T1溢出率38461.5次/秒第二章 7.串行接口第106頁/

57、共151頁107 波特率的設(shè)置 方式1、3的波特率公式為:波特率 =(2SMOD /32 )(T1溢出率) = 應(yīng)用中,多是先給定波特率,在據(jù)此決定定時器初值常數(shù),得 例如,若fosc=6MHz,SMOD=1,波特率=2400計算可得:N = 242.98 243 = 0F3H第二章 7.串行接口)2(123228NfOSCSMOD12322256波特率OSCSMODfN第107頁/共151頁108 初始化程序:INIT:MOV TMOD, #20H ; T1為方式2定時MOVTH1, #0F3H ; 常數(shù)MOVTL1, #0F3H; 初值SETB TR1; 啟動T1MOVPCON, #80H

58、; SMOD=1MOVSCON, #50H; 串行口方式1第二章 7.串行接口第108頁/共151頁109 常用波特率和定時器T1初值關(guān)系第二章 7.串行接口波特率(方式1、3)fosc=6Mfosc=12Mfosc = 11.059MSMODT1方式初值SMODT1方式初值SMODT1方式初值62.5k 12FFH 19.2k 12FDH9.6k 02FDH4.8k 12F3H02FAH2.4k12F3H12F3H02F4H1.2k12E6H02E6H02E8H60012CCH02CCH02D0H30002CCH0298H02A0H137.5121DH021DH022EH1100272H01

59、FEEBH01FEFFH第109頁/共151頁110 SMOD位對波特率的影響 上頁的表中定時器T1的時間常數(shù)初值和相應(yīng)波特率之間有一定誤差,是近似值。 SMOD的選擇對波特率的準(zhǔn)確度有影響。 例如:波特率2400,fosc=6MHz SMOD=0時: 常數(shù): 反代入波特率公式:第二章 7.串行接口HFN9249123224001062256608 .2238)92(12106322860HF波特率第110頁/共151頁111 誤差=(2400-2238.8)/2400=7% SMOD=1時: 常數(shù): 反代入波特率公式: 誤差=(2403.85-2400)/2400=0.16%第二章 7.串行

60、接口HFN32431232240010622566185.2403)32(12106322861HF波特率第111頁/共151頁112 結(jié)論: SMOD雖然可以任選,但在某些情況下直接影響波特率的誤差范圍。因此,要適當(dāng)考慮其設(shè)置。 為保證通信可靠,通常相對誤差應(yīng)不大于2.5%,不同機種間通信尤其應(yīng)注意。第二章 7.串行接口第112頁/共151頁113 一、中斷系統(tǒng)概述 中斷系統(tǒng)是為使處理機對外界異步事件具有處理能力而設(shè)置的。 (在資源競爭有限的條件下,中斷技術(shù)是解決資源競爭的可行辦法,采用中斷方法可以使多項任務(wù)共享一個資源,中斷技術(shù)實質(zhì)上就是一種資源共享技術(shù)。) 例:某人看書電話鈴響暫停看書書

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論