單片機總復習_第1頁
單片機總復習_第2頁
單片機總復習_第3頁
單片機總復習_第4頁
單片機總復習_第5頁
已閱讀5頁,還剩72頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 單片機有單片機有2種基本結構形式:種基本結構形式: 一種是在通用微型計算機中廣泛采用的將程序存儲器和數(shù)據(jù)存儲器一種是在通用微型計算機中廣泛采用的將程序存儲器和數(shù)據(jù)存儲器合用一個存儲空間的結構,稱為合用一個存儲空間的結構,稱為普林斯頓普林斯頓(Princeton)結構或稱馮結構或稱馮諾依曼諾依曼結構結構; 另一種是將程序存儲器和數(shù)據(jù)存儲器截然分開,分別尋址的結構,另一種是將程序存儲器和數(shù)據(jù)存儲器截然分開,分別尋址的結構,稱為哈佛稱為哈佛(Har-vard)結構。結構。Intel公司的公司的MCS-51和和80C51系列單片機采用系列單片機采用的是的是哈佛結構哈佛結構。目前的單片機以采用程序存儲

2、器和數(shù)據(jù)存儲器截然分開。目前的單片機以采用程序存儲器和數(shù)據(jù)存儲器截然分開的結構較多。的結構較多。 單片機的中央處理器單片機的中央處理器(CPU)和通用微處理器基本相同,只是增設了和通用微處理器基本相同,只是增設了“面向控制面向控制”的處理功能。例如:位處理、查表、多種跳轉、乘除法運的處理功能。例如:位處理、查表、多種跳轉、乘除法運算、狀態(tài)檢測、中斷處理功能等,增強了控制的實用性和靈活性。算、狀態(tài)檢測、中斷處理功能等,增強了控制的實用性和靈活性。單片機的一般結構及特點單片機的一般結構及特點單片機的主要技術參數(shù)單片機的主要技術參數(shù)1、字長:并行處理數(shù)據(jù)的位數(shù)、字長:并行處理數(shù)據(jù)的位數(shù)2、存儲容量:

3、包括程序存儲區(qū),數(shù)據(jù)存儲器,、存儲容量:包括程序存儲區(qū),數(shù)據(jù)存儲器,RAM區(qū)的大小區(qū)的大小3、運算速度:即、運算速度:即CPU處理速度,與工藝,時鐘頻率有關處理速度,與工藝,時鐘頻率有關4、時鐘頻率:每個嵌入式系統(tǒng),包括單片都需要一個時鐘信號作為工、時鐘頻率:每個嵌入式系統(tǒng),包括單片都需要一個時鐘信號作為工 作節(jié)拍信號,目前通常有作節(jié)拍信號,目前通常有8M,12M,24M等等數(shù)字電路中只有兩種電平特性,即高電平和低電平,數(shù)字電路中只有兩種電平特性,即高電平和低電平,這也就決定了數(shù)字電路中使用二進制。所謂二進制,這也就決定了數(shù)字電路中使用二進制。所謂二進制,即即”逢二進一,借一當二逢二進一,借一

4、當二“。二進制數(shù)中的位權為。二進制數(shù)中的位權為2n。十六進制是十六進制是”逢十六進一,借一當十六逢十六進一,借一當十六“,每一位十,每一位十六進制數(shù)對應四位二進制數(shù)。十六進制中的位權為六進制數(shù)對應四位二進制數(shù)。十六進制中的位權為16n。匯編語言中,十六進制數(shù)加后綴匯編語言中,十六進制數(shù)加后綴h,C語言中,加前語言中,加前綴綴0 x。二進制和十六進制轉換遵循二進制和十六進制轉換遵循8421碼碼二進制十六進制二進制十六進制00000100080001110019001021010A001131011B010041100C010151101D011061110E011171111F如如23h=001

5、0 0011,9Ah=1001 1010一、51單片機基本特性8 位的 CPU, 片內(nèi)有振蕩器和時鐘電路,工作頻率為 112MHz(Atmel 89Cxx為024MHz)片內(nèi)有 128/256字節(jié) RAM片內(nèi)有 0K/4K/8K字節(jié) 程序存儲器ROM可尋址片外 64K字節(jié) 數(shù)據(jù)存儲器RAM可尋址片外 64K字節(jié) 程序存儲器ROM片內(nèi) 21/26個 特殊功能寄存器(SFR)4個8位 的并行I/O口(PIO)1個 全雙工串行口(SIO/UART)2/3個16位 定時器/計數(shù)器(TIMER/COUNTER)可處理 5/6個中斷源,兩級中斷優(yōu)先級內(nèi)置1個布爾處理器和1個布爾累加器(Cy)MCS-51指

6、令集含 111條指令MCS-51單片機內(nèi)部結構單片機內(nèi)部結構P3P1P2 可編程 串行I/O口P0外部中斷基準頻率源控制 128/256B數(shù)據(jù)存儲器 4KB/8KB程序存儲器 2/3個16位定時/計數(shù)器 振蕩器及 定時電路 CPU 64KB總線擴展控制 可編程并行I/O口內(nèi)部中斷計數(shù)脈沖串行輸出 串行輸入二、單片機的引腳及功能51單片機40腳Vcc, GND 2XTAL1, XTAL2 2RESET/VPD 1EA/Vpp 1ALE/PROG 1PSEN 1P0.0P0.7 8 P1.0P1.7 8 P2.0P2.7 8 P3.0P3.7 8單片機的引腳lVcc, GND: 正電源端與接地端(

7、+5V/3.3V/2.7V)不同的單片機可以允許不同的工作電壓,不同的單片機表現(xiàn)出的功耗也不同。lALE/PROG:當訪問外部存儲器時, ALE(允許地址鎖存信號)以每機器周期兩次的信號輸出, 用于鎖存出現(xiàn)在P0口的低8位地址。對于EPROM型單片機,此引腳在編程期間輸入編程脈沖。lEA/Vpp: 尋址外部ROM控制端/編程電源輸入端。 低有效,片內(nèi)無ROM時必須接地; 使用片內(nèi)ROM時應當接高電平;單片機鎖存器74LS373P0.0-P0.7ALEPSENP2.0-P2.48D8QOEA8-A12A0-A7D0-D7GEAOECEEPROM單片機的引腳lPSEN:尋址外部程序存儲器時選通外部

8、EPROM的 讀控制端(OE)低有效。三、單片機的時鐘電路(晶振端)lXTAL1, XTAL2: 片內(nèi)振蕩電路輸入/輸出端1545pfx2112MHz(MCS-51) 024MHz(Atmel-89C)XTAL1XTAL2通常外接一個晶振兩個電容時鐘電路是計算機的心臟,它控制著計算機的工作節(jié)奏。MCS-51單片機所允許的時鐘頻率因型號不同而異,典型值為12MHz。P1P2S1振 蕩 周期時 鐘 周期機 器 周期機 器 周期指 令 周期S2S3S4S5S6S1S2S4S5S3S6P1P1P1P1P1P1P1P1P1P1P1P2P2P2P2P2P2P2P2P2P2P2牢牢記?。?振蕩周期 = 晶振

9、頻率fosc的倒數(shù); 1個機器周期 = 12個振蕩周期 1個指令周期 = 1、2、4個機器周期單片機的時鐘電路(晶振端)復位后: PC值歸零(0000H); 各個SFR被賦予初始值,RAM不變: P0P3 = 0FFH,Acc = 0,B = 0,TH0=0,TL0=0,TH1=0,TL0=0,SP=7,PSW=0 退出處于節(jié)電工作方式的停頓狀態(tài)、退出一切程序進程、退出程序的死循環(huán),從頭開始。四、單片機的復位l通過某種方式, 使單片機內(nèi)各寄存器的值變?yōu)槌跏紶顟B(tài)的操作稱為復位。lRESET: 復位端(正脈沖有效。高電平持續(xù)時間應包括VCC的上升時間和振蕩器起振的時間,一般寬度10mS)l51系列

10、單片機是高電平復位,而其他系列一般都為低電平復位PC與SFR復位狀態(tài)表寄存器復位狀態(tài)寄存器復位狀態(tài)PC0000HTCON00HA00HT2CON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0P3FFHSCON00HIPXX000000BSBUFXXHIE0X000000BPCON0XXX0000BTMOD00H單片機的復位電路+5V10uF10KVccRSTGND上電復位10uF10KVccRSTGND手動&上電復位1K+5VlRST引腳內(nèi)部有一個史密特觸發(fā)器以對信號進行整形,所以外部輸入信號不一定要求是數(shù)字信號。8051單片

11、機存儲器配置 MCS-51的程序存儲器和數(shù)據(jù)存儲器是分開的,屬于哈佛存儲結構。l片內(nèi)RAM 128字節(jié)(00H7FH)l可尋址片外RAM 64K字節(jié) (0000HFFFFH)l片內(nèi) Flash ROM 4K字節(jié) (000HFFFH)l可尋址片外ROM 64K字節(jié) (0000HFFFFH)l片內(nèi)21個特殊功能寄存器(SFR)FFFFH0000H可尋址片外RAM 64K字節(jié)FFFFH0000H可尋址片外ROM 64K字節(jié)FFFH000H可尋址片內(nèi)掩膜 ROM4K 字節(jié)80517FH00H片內(nèi) RAM 128字節(jié)FFH80H存儲器配置SFR外部ROM內(nèi)部ROM(EA=1)外部ROM(EA=0)000

12、0H0 0 0 0H0FFFH0FFFH1000HFFFFH 0000H地址是單片機復位時的PC值,從0000H開始執(zhí)行程序。其它6個地址是單片機響應不同的中斷時,所跳向對應的入口地址。該表也叫中斷向量表或稱中斷向量。由于這6個中斷向量地址的存在,所以在寫程序時,這些地址不要占用。一般在0000H地址只寫一條跳轉指令,從0030H開始寫主程序,如:ORG0000HLJMPMAINORG0030HMAIN:;開始寫主程序PC功能0000H復位時ROM的地址0003H外部中斷0入口地址000BH定時器計數(shù)器0溢出中斷入口地址0013H外部中斷1 入口地址001BH定時器/計數(shù)器1溢出中斷入口地址0

13、023H串行口中斷入口地址002BH定時器/計數(shù)器2溢出中斷入口地址中斷向量表數(shù)據(jù)存儲器配置(片內(nèi)RAM)l片內(nèi)RAM 128字節(jié)(00H7FH)所有的RAM區(qū)(包括位尋址區(qū)、工作寄存器區(qū))都可以用于存放數(shù)據(jù),故也稱為數(shù)據(jù)緩存寄存器00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM區(qū)普通RAM區(qū)位尋址區(qū)工作寄存器區(qū)SFR分布在80H-FFH其中92個位可位尋址80HFFH8051 128字節(jié)00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM區(qū)普通RAM區(qū)位尋址區(qū)工作寄存器區(qū)R0R2R1R3R4R5R6R707H02H01H00H06H04H05H03H0

14、8H1FH工作寄存器區(qū)3工作寄存器區(qū)2工作寄存器區(qū)1工作寄存器區(qū)00FH10H17H18Hl片內(nèi)RAM前32個單元是工作寄存器區(qū) (00H1FH)存儲器配置(片內(nèi)RAM)工作寄存器和RAM地址對照表 工作寄存器組的選擇表PSW.7PSW.000H20H2FH7FH1FH30H80HFFH52子系列才有的RAM區(qū)普通RAM區(qū)位尋址區(qū)工作寄存器區(qū)l片內(nèi)RAM中有128個可按位尋址的位。 位地址:00H7FH 分布在:20H2FH單元00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM區(qū)普通RAM區(qū)位尋址區(qū)工作寄存器區(qū)27H22H21H20H26H24H25H23H28H2FH單元

15、地址07 06 05 04 03 02 01 000F 0E 0D 0C 0B 0A 09 0817 16 15 14 13 12 11 101F 1E 1D 1C 1B 1A 19 1827 26 25 24 23 22 21 202F 2E 2D 2C 2B 2A 29 2837 36 35 34 33 32 31 303F 3E 3D 3C 3B 3A 39 3847 46 45 44 43 42 41 407F 7E 7D 7C 7B 7A 79 78位地址總共128個可按位尋址的位l片內(nèi)RAM中有128個可按位尋址的位。 位地址:00H7FH 分布在:20H2FH單元存儲器配置(片內(nèi)

16、RAM)存儲器配置(片內(nèi)RAM)數(shù)據(jù)緩沖區(qū) l 30H7FH是數(shù)據(jù)緩沖區(qū), 也即用戶RAM區(qū), 共80個單元。 52子系列片內(nèi)RAM有256個單元, 前兩個的單元數(shù)與地址都和MCS51子系列一致。 用戶RAM區(qū)從30HFFH, 共208個單元。堆棧: 在片內(nèi)RAM中,常常要指定一個專門的區(qū)域來存放某些特別的數(shù)據(jù),它遵循先進后出和后進先出(LIFO/FILO)的原則,這個RAM區(qū)叫堆棧。 MCS51單片機的堆棧屬向上生長型。功用:1)子程序調(diào)用和中斷服務時CPU自動將當前PC 值壓棧保存,返回時自動將PC值彈棧。2)保護現(xiàn)場/恢復現(xiàn)場3)數(shù)據(jù)傳輸8051特殊功能寄存器(SFR)特殊功能寄存器SF

17、R(專用寄存器)專用于控制、選擇、管理、存放單片機內(nèi)部各部分的工作方式、條件、狀態(tài)、結果的寄存器。不同的SFR管理不同的硬件模塊,負責不同的功能各司其職換言之:要讓單片機實現(xiàn)預訂的功能,必須有相應的硬件和軟件,而軟件中最重要的一項工作就是對SFR寫命令(要求)。符號(符號(21個)個)地址地址注釋注釋功能單元功能單元*ACCE0H累加器累加器cpu*BF0H乘法寄存器乘法寄存器*PSWD0H程序狀態(tài)字程序狀態(tài)字*SP81H堆棧指針堆棧指針DPL82H數(shù)據(jù)存儲器指針(低數(shù)據(jù)存儲器指針(低8位)位)DPH83H數(shù)據(jù)存儲器指針(高數(shù)據(jù)存儲器指針(高8位)位)*IEA8H中斷允許控制器中斷允許控制器中

18、斷系統(tǒng)中斷系統(tǒng)*IPD8H中斷優(yōu)先級控制器中斷優(yōu)先級控制器*P080H通道通道0并行口并行口*P190H通道通道1并行口并行口*P2A0H通道通道2*P3B0H通道通道3PCON87H電源控制和波特率選擇電源控制和波特率選擇串行口串行口*SCON98H串行口控制器串行口控制器SBUF99H串行數(shù)據(jù)緩沖器串行數(shù)據(jù)緩沖器*TCON88H定時器控制定時器控制定時定時/計數(shù)器計數(shù)器TMOD89H定時方式選擇定時方式選擇TL08AH定時器定時器0低低8位位TL18BH定時器定時器0高高8位位TH08CH定時器定時器1低低8位位TH18DH定時器定時器1高高8位位程序計數(shù)器PC(Program Count

19、er)PC 不是一個特殊功能寄存器SFR,但其作 用又十分重要和特殊!特點:它是16位的按機器周期自動增1計數(shù)器一切分支/跳轉/調(diào)用/中斷/復位 等操作的本質(zhì)就是:改變 PC 值編程不能對它進行訪問。總指向下一條指令所在首地址(當前PC值)程序計數(shù)器 (PC)程序狀態(tài)字寄存器 PSW:CYACF0RS0OVPRS1PSW.7PSW.0CY(PSW.7)進位/借位標志位。若ACC在運算過程中發(fā)生了進位或借位,則CY=1;否則=0。它也是布爾處理器的位累加器,可用于布爾操作。AC(PSW.6)半進位/借位標志位。若ACC在運算過程中,D3位向D4位發(fā)生了進位或借位,則AC=1,否則=0。機器在執(zhí)行

20、“DA A”指令時自動要判斷這一位,我們可以暫時不關心它。F0 (PSW.5)可由用戶定義的標志位。PSW.6PSW.5特殊功能寄存器(PSW) 程序狀態(tài)字寄存器 PSW(續(xù)):CYACF0RS0OVPRS1PSW.7PSW.0OV (PSW.2)溢出標志位。 OV=1時特指累加器在進行帶符號數(shù)(-128+127)運算時出錯(超出范圍);OV=0時未出錯。F1 同F(xiàn)0。P (PSW.0)奇偶標志位。 P=1表示累加器中“1”的個數(shù)為奇數(shù) P=0表示累加器中“1”的個數(shù)為偶數(shù) CPU隨時監(jiān)視著ACC中的“1”的個數(shù),并反映在PSW中PSW.2 PSW.151單片機的4個8位的I/O口P0.0P0

21、.7: (雙向口) 8位數(shù)據(jù)口和輸出低8位地址復用口P1.0P1.7: (準雙向口)通用I/O口P2.0P2.7: (準雙向口)輸出高8位地址P3.0P3.7: (準雙向口)具有特定的第二功能P3口第二功能表引引 腳腳第第 二二 功功 能能 P3.0P3.0RxD: RxD: 串行口接收數(shù)據(jù)輸入端串行口接收數(shù)據(jù)輸入端P3.1P3.1TxD:TxD: 串行口發(fā)送數(shù)據(jù)輸出端串行口發(fā)送數(shù)據(jù)輸出端P3.2P3.2INT0:INT0: 外部中斷申請輸入端外部中斷申請輸入端 0 0P3.3P3.3INT1:INT1: 外部中斷申請輸入端外部中斷申請輸入端 1 1P3.4P3.4T0:T0: 外部計數(shù)脈沖輸

22、入端外部計數(shù)脈沖輸入端 0 0P3.5P3.5T1:T1: 外部計數(shù)脈沖輸入端外部計數(shù)脈沖輸入端 1 1P3.6P3.6WR:WR: 寫外設控制信號輸出端寫外設控制信號輸出端P3.7P3.7RD:RD: 讀外設控制信號輸出端讀外設控制信號輸出端51指令集(五大類功能)數(shù)據(jù)傳送類指令 (29條)算術運算類指令 (24條)邏輯運算及移位類指令 (24條)控制轉移類指令 (17條)位操作(布爾操作)類指令 (17條)51單片機指令的尋址方式立即尋址直接尋址寄存器尋址寄存器間接尋址變址尋址(基址寄存器+變址寄存器間接尋址)相對尋址位尋址尋址方式:指令按地址獲得操作數(shù)的方式七種尋址方式,一條指令可能含多

23、種尋址方式內(nèi)部存儲器間傳送: (MOV16條)外部數(shù)據(jù)存儲器RAM與累加器間傳送: (MOVX4條)程序存儲器ROM向累加器傳送: (MOVC2條)數(shù)據(jù)交換:(XCH,XCHD,SWAP5條)堆棧操作: (PUSH,POP2條)(一)數(shù)據(jù)傳送類指令(5種/29條)(二)算術運算類指令(6種/23條)加法運算 (ADD4條)帶進位加法運算 (ADDC4條)帶借位減法運算 (SUBB4條)加1/減1操作 (INC,DEC9條)單字節(jié)乘/除法運算(MUL,DIV2條)(三)邏輯運算及移位指令(5種/24條)邏輯與運算: (ANL6條)邏輯或運算: (ORL6條)邏輯異或運算: (XRL6條)累加器清

24、零/取反: (CLR,CPL2條)累加器移位操作:(RL,RLC,RR,RRC4條)(四)控制轉移類指令(4種/17條)無條件轉移: (LJMP,AJMP,SJMP,JMP4條)條件轉移(判斷跳轉): (JZ,JNZ,CJNE,DJNZ8條)子程序調(diào)用及返回: (LCALL,ACALL,RET,RETI4條)空操作: (NOP1條) (五)位操作類指令(4種17條)位傳送: (MOV2條)位清零/置位: (CLR,SETB4條)位邏輯與/或/非運算: (ANL,ORL,CPL6條)位條件轉移: (JC,JNC,JB,JNB,JBC5條)單片機常用外設單片機的中斷矢量與優(yōu)先級 中斷矢量: MCS

25、-51單片機的 5 個中斷源分別對應有各自的中斷服務程序入口地址中斷矢量000BHTF0定時/計數(shù)器0(T0)002BHTF2定時/計數(shù)器2(T2)0023HRI/TI串行口接收/發(fā)送001BHTF1定時/計數(shù)器1(T1)0013HIE1外部中斷1( INT1)0003HIE0外部中斷0( INT0)中斷優(yōu)先級中斷矢量申請標志中 斷 源最高優(yōu)先級最低優(yōu)先級定時器控制寄存器TCON (88H)TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0TCONTF0/TF1:定時器溢出中斷申請標志位: =0:定時器未溢出; =1:定時器溢出申請中斷,進中斷后自動清零。TR0/TR1:定時器運行

26、啟??刂莆唬?=0:定時器停止運行; =1:定時器啟動運行。TCON:Timer控制寄存器,是管理定時器工作的SFR(其中低4位管外部中斷)定時器控制寄存器TCON (88H)TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0TCONIE0/IE1:外部中斷申請標志位: =0:沒有外部中斷申請; =1:有外部中斷申請。IT0/IT1:外部中斷請求的觸發(fā)方式選擇位: =0:在INT0/INT1端申請中斷的信號低電平有效; =1:在INT0/INT1端申請中斷的信號負跳變有效.TCON:Timer控制寄存器,低4位管理外部中斷SCONSCON為串行口控制寄存器為串行口控制寄存器, ,字

27、節(jié)地址為字節(jié)地址為98H98H。 SCONSCON的低的低2 2位鎖存串行口的接收中斷和發(fā)送位鎖存串行口的接收中斷和發(fā)送中斷標志中斷標志, ,其格式如表所示。其格式如表所示。SCON鎖存的中斷源 EA ET2 ES ET1 EX1 ET0 EX0IE中斷允許寄存器IE (0A8H) EX0/EX1/ET1/ET0/ES 位: 分別是INT0/1,Timer0/1,串行口的中斷允 許控制位: =0 時禁止中斷; =1 時允許中斷。ET2:T2中斷允許控制位(僅52子系列有) =0 時禁止中斷; =1 時允許中斷。EA:總的中斷允許控制位(總開關): =0 時禁止全部中斷;=1 時允許中斷。 PT

28、2 PS PT1 PX1 PT0 PX0IPPX0/PX1:INT0/1優(yōu)先級控制位: =0 時屬低優(yōu)先級; =1 時屬高優(yōu)先級。PT0/PT1/PT2:T0/1/2中斷優(yōu)先級控制位: =0 時屬低優(yōu)先級; =1 時屬高優(yōu)先級。PS1:串行口中斷優(yōu)先級控制位: =0 時屬低優(yōu)先級; =1 時屬高優(yōu)先級。中斷優(yōu)先級控制寄存器IP (0B8H)中斷系統(tǒng)硬件結構注:各中斷允許控制位=0,開關斷開; =1,開關接通IE0EX0TF0IE1TF1TIESET1EX1ET0外部中斷 請求0外部中斷 請求1內(nèi)部 定時器0內(nèi)部 定時器1內(nèi)部 串行口TRRIIE寄存器 EA位IP寄存器各單路開關 總開關中斷源標

29、志位查詢機構高中斷級中斷請求低中斷級中斷請求中斷入口中斷源標志位INT0INT1中斷入口中斷源標志位Timer的2個特殊功能寄存器(TCON,TMOD)TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0定時器控制寄存器TCON (88H)TFx: Timer0/1計數(shù)溢出標志位。 =1 計數(shù)溢出; =0 計數(shù)未滿 TFx標志位可用于申請中斷或供CPU查詢。 在進入中斷服務程序時會自動清零;但在 查詢方式時必須軟件清零。TRx: Timer0/1運行控制位。 =1 啟動計數(shù); =0 停止計數(shù)GATE C / T M1 M0 GATE C / T M1 M0定時器方式寄存器TMOD (

30、89H)T1T0M1,M0:工作方式定義位 ( 定義4 種方式 ):C/T :計數(shù)器/定時器選擇位 = 1 外部事件計數(shù)器。對Tx引腳的負脈沖計數(shù); = 0 片內(nèi)時鐘定時器。對機器周期脈沖計數(shù)定時0 0:13位 Timer0 1:16位 Timer經(jīng)常用到1 0:可自動重裝的 8位 Timer經(jīng)常用到1 1:T0 分為2個8位 Timer;T1 此時不工作 因為沒有帶來甚麼好處,幾乎無用GATE C / T M1 M0 GATE C / T M1 M0T1T0GATE門控位: Timer可由軟件與硬件兩者控制 GATE = 0 普通用法 Timer的啟/停由軟件對TRx位寫“1”/“0”控制定

31、時器方式寄存器TMOD(續(xù))(89H) GATE = 1 門控用法 Timer的啟/停由軟件對TRx位寫“1”/“0” 和在INTx引腳上出現(xiàn)的信號的高/低共同控制定時器結構與工作方式工作方式1:16位的定時/計數(shù)器振蕩器12TLx THx (8位) (8位)TFx申請中斷Tx端TRx位GATE位INTx端1&C/T=0C/T=1控制 =1開關接通或門與門工作方式2:8 位自動重裝的定時/計數(shù)器振蕩器12TLx (8位)TFx申請中斷Tx端TRx位GATE位INTx端1&C/T=0C/T=1控制 =1開關接通或門與門THx (8位)溢出位門開串行口的結構兩個同名的接收/發(fā)送緩沖

32、寄存器SBUF 指令 MOV SBUF,A 啟動一次數(shù)據(jù)發(fā)送,可向SBUF 再發(fā)送下一個數(shù) 指令 MOV A,SBUF 完成一次數(shù)據(jù)接收,SBUF可再 接收下一個數(shù)接收/發(fā)送數(shù)據(jù),無論是否采用中斷方式 工作,每接收/發(fā)送一個數(shù)據(jù)都必須用指 令對 RI/TI 清0,以備下一次收/發(fā)。串行口相關的SFR(SCON,PCON) SM0 SM1 SM2 REN TB8 RB8 TI R1SCON SM0,SM1:串行口4種工作方式的選擇位。 0 0 方式0:8位移位寄存器I/O,波特率固定為 fosc/12 0 1 方式1:8位UART(1+8+1位), 波特率可變,按公式計算 1 0 方式2:9位U

33、ART(1+8+1+1位), 波特率固定=fosc x1/32或1/64 1 1 方式3:9位UART(1+8+1+1位), 波特率可變,按公式計算 SM2:串行口多機通信控制位 (作為方式2、方式3的附加控制位)串行口控制寄存器SCON(98H) RI,TI:串行口收/發(fā)數(shù)據(jù)申請中斷標志位 1 申請中斷; 0 不申請中斷 TB8:方式2、3中,是要發(fā)送的第9位數(shù)據(jù)。 多機通信中,TB8=0 表示發(fā)送的是數(shù)據(jù); TB8=1 表示發(fā)送的是地址。(奇偶校驗) RB8:在方式2、3中,是收到的第9位數(shù)據(jù)。 在多機通信中,用作區(qū)別地址幀/數(shù)據(jù)幀的 標志。(奇偶校驗) SM0 SM1 SM2 REN T

34、B8 RB8 TI R1 REN:串行口接收允許控制位 = 1 表示允許接收; = 0 禁止接收。SCONSMOD GF1 GF0 PD 1DL電源控制寄存器 PCON(97H)特殊功能寄存器PCON不能按位尋址 SMOD:在串行口工作方式 1、2、3 中, 是波特率加倍位 =1 時,波特率加倍 =0 時,波特率不加倍。 (在PCON中只有這一個位與串口有關) GF1,GF0:用戶可自行定義使用的通用標志位PCON PD:掉電方式控制位 IDL:待機方式(空閑方式)控制位串行口工作方式 0工作方式0:8位移位寄存器I/O方式發(fā)送:SBUF中的串行數(shù)據(jù)由RxD逐位移出; TxD輸出移位時鐘,頻率

35、=fosc1/12; 每送出8位數(shù)據(jù) TI就自動置1; 需要用軟件清零 TI。 接收:串行數(shù)據(jù)由RxD逐位移入SBUF中; TxD輸出移位時鐘,頻率=fosc1/12; 每接收 8位數(shù)據(jù)RI就自動置1; 需要用軟件清零 RI。常用于串行通訊。除發(fā)/收8位數(shù)據(jù)外,還 在D0位前有一個起始位“0”; 在D7位后有一個停止位“1”。方式1工作時: 發(fā)送端自動添加一個起始位和一個停止位; 接收端自動去掉一個起始位和一個停止位。工作方式1:8位UART(1+8+1位)波特率可變 波特率可變 用定時器T1作波特率發(fā)生器: 公式:波特率 =(2SMOD/32)T1的溢出率波特率=(2SMOD/32)T1的溢

36、出率 溢出率:T1溢出的頻繁程度 即:T1溢出一次所需時間的倒數(shù)。 初值 X = 2n - 2SMOD fosc32 波特率 12 波特率 =2SMOD fosc32 12(2n - X)其中:X 是定時器初值由于波特率固定,常用于單片機間通訊。 數(shù)據(jù)由8+1位組成,通常附加的一位 (TB8/RB8)用于“奇偶校驗”。 工作方式2: 9位UART(1+8+1+1位)兩種波特率 方式2的波特率 = fosc 2SMOD/64 即: fosc 1/32 或 fosc 1/64 兩種工作方式3:當SM0,SM1為11時,串行口工作于方式3 9位UART(1+8+1+1位) 波特率可變 串口方式3和方式2唯一的區(qū)別是波特率機制不同。方式2的波特率固定為時鐘周期的32或64分頻,不可變。此工作方式與其他串行通訊設備連接困難,因此不常用。方式3的波特率可變,按前面的公式計算: 波特率=(2SMOD/32)T1的溢出率 波特率 =2SMOD fosc32 12(2n - X)其中:X 是定時器初值SM0SM1SM2RENTB8RB8TIRISCONSMODGF1GF0PDIDLPCON GATEC/TM1M0GATEC/TM1M0TMOD TF1TR1TF0TR0IE1IT1IE0IT0TCONEAESET1EX1

溫馨提示

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

評論

0/150

提交評論