第3講-IO-中斷-定時(shí)-串口_第1頁(yè)
第3講-IO-中斷-定時(shí)-串口_第2頁(yè)
第3講-IO-中斷-定時(shí)-串口_第3頁(yè)
第3講-IO-中斷-定時(shí)-串口_第4頁(yè)
第3講-IO-中斷-定時(shí)-串口_第5頁(yè)
已閱讀5頁(yè),還剩86頁(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)介

《單片微機(jī)原理及應(yīng)用》教學(xué)課件第三講:I/O,中斷,定時(shí)與串口本講重點(diǎn):接口概念,單片機(jī)的編址與譯碼方法;

中斷概念,響應(yīng)條件,處理原則,中斷服務(wù);

定時(shí)器/計(jì)數(shù)器工作方式1,2的用法;

串行通訊的波特率,4種工作方式.《單片微機(jī)原理及應(yīng)用》教學(xué)課件第四章

I/O,中斷,定時(shí)與串行通信I/O接口的作用/功能/定義

(P67)數(shù)據(jù)性質(zhì)不同數(shù)據(jù)協(xié)議/格式不同速度不一致所需功率/電平不匹配所需測(cè)控點(diǎn)數(shù)量不匹配

計(jì)算機(jī)/單片機(jī)與外設(shè)之間起橋梁作用的電路或部件——接口(interface)。

協(xié)調(diào)兩者間的差異。

《單片微機(jī)原理及應(yīng)用》教學(xué)課件

本課程中講到的接口可以是口地址→可尋址的寄存器/端口地址由選用的地址線(xiàn)條數(shù)與地址線(xiàn)名決定接口與端口

(InterfaceandPort)?地址線(xiàn)條數(shù)n決定:尋址范圍=2nMCS-51尋址范圍=216=65536=64K字節(jié)?地址線(xiàn)在地址總線(xiàn)中的序名決定具體地址一個(gè)端口可能有多個(gè)口地址;一個(gè)口地址只能唯一地指向某個(gè)端口?!骷δ苣K→電路板卡→設(shè)備/裝置→……《單片微機(jī)原理及應(yīng)用》教學(xué)課件站在單片機(jī)/計(jì)算機(jī)一側(cè)來(lái)看待上述過(guò)程叫編址。站在單片機(jī)/計(jì)算機(jī)外側(cè)來(lái)看待上述過(guò)程叫譯碼。接口地址的編址/譯碼/尋址概念(P68):通過(guò)適當(dāng)?shù)牡刂肪€(xiàn)(或控制線(xiàn),或I/O線(xiàn)),物理上形成某個(gè)或某些片選/使能等信號(hào),實(shí)現(xiàn)與接口對(duì)象的一一對(duì)應(yīng)的過(guò)程。通過(guò)軟件與譯碼電路硬件實(shí)現(xiàn)對(duì)外設(shè)的片選或使能控制過(guò)程叫尋址。《單片微機(jī)原理及應(yīng)用》教學(xué)課件編址是設(shè)計(jì)過(guò)程(在先)譯碼和尋址是應(yīng)用過(guò)程(在后)對(duì)I/O與存儲(chǔ)器編址通常有兩種方式:?

獨(dú)立編址方式:

I/O與存儲(chǔ)器分別編址(例如IBM-PC)?

統(tǒng)一編址方式:

I/O與存儲(chǔ)器合在一起編址(單片機(jī)應(yīng)用系統(tǒng))編址有兩種方式

(P.92)<P.68《單片微機(jī)原理及應(yīng)用》教學(xué)課件

單片機(jī)對(duì)外部器件實(shí)現(xiàn)一一對(duì)應(yīng)的“片選”通常要用單片機(jī)的地址總線(xiàn)A15—A0中的部分或全部,甚至也可以用某些I/O線(xiàn)。A15A14A13A12A11A10A9A8P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P0口是低8位地址與數(shù)據(jù)復(fù)用口線(xiàn)選尋址與譯碼尋址

(P.92)A7/D7A6/D6A5/D5A4/D4A3/D3A2/D2A1/D1A0/D0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0P2口是高8位地址口?!秵纹C(jī)原理及應(yīng)用》教學(xué)課件P2.7P2.5P2.6P0口/CE/CE/CEP2.2~2.0RAM

(2K)

A10A9A8P2.5

RAM片選線(xiàn)(0000H—07FFH)P2.2,P2.1,P2.0與P0口共同尋址

2K字節(jié)存儲(chǔ)單元地址范圍:XX0XX00000000000XX0XX11111111111?

線(xiàn)選尋址:用一條或幾條地址線(xiàn)對(duì)外尋址

MCS-51單片機(jī)AD7-0D7-0D7-0Q7-0Q7-0《單片微機(jī)原理及應(yīng)用》教學(xué)課件P2.7P2.5P2.6P0口/CE/CE/CEP2.2-2.0RAM(2K)

A10A9A8P2.7

做輸出鎖存器的片選線(xiàn)地址范圍:0XXXXXXXXXXXXXXXMCS-51單片機(jī)AD7-0D7-0D7-0Q7-0P2.6

做輸入緩沖器的片選線(xiàn)地址范圍:X0XXXXXXXXXXXXXX鎖存器緩沖器(例:7FFFH)(例:0BFFFH)《單片微機(jī)原理及應(yīng)用》教學(xué)課件P2.7P2.5P2.6/CE/CE/CE常用譯碼器件:

74LS138:3-8譯碼器?

譯碼尋址:用地址線(xiàn)加譯碼器件對(duì)外尋址

P0.7-P0.074LS138Y0ABCGG2AG2B0#1#2#7#+5VMCS-51Y1Y2Y7/CE74LS139:雙2-4譯碼器《單片微機(jī)原理及應(yīng)用》教學(xué)課件單片機(jī)的中斷系統(tǒng)《單片微機(jī)原理及應(yīng)用》教學(xué)課件數(shù)據(jù)的輸入/輸出傳送方式(P.69)查詢(xún)傳送方式(LOOKUP):傳送前一方先查詢(xún)另一方的狀態(tài),若已經(jīng)準(zhǔn)備好就傳送,否則就繼續(xù)查詢(xún)/等待中斷傳送方式(IRQ):一方通過(guò)申請(qǐng)中斷的方式與另一方進(jìn)行數(shù)據(jù)傳送無(wú)條件傳送方式:一方對(duì)另一方來(lái)說(shuō)總是準(zhǔn)備好的直接存儲(chǔ)器存取方式(DMA):雙方直接通過(guò)總線(xiàn)傳送數(shù)據(jù),不經(jīng)CPU中轉(zhuǎn)第四章

I/O,中斷,定時(shí)與串行通信《單片微機(jī)原理及應(yīng)用》教學(xué)課件

數(shù)據(jù)傳送的雙方平時(shí)各自做自己的工作,一旦甲方要求與乙方進(jìn)行數(shù)據(jù)傳送,就主動(dòng)發(fā)出信號(hào)提出申請(qǐng),乙方接到申請(qǐng)后若同意傳送,安排好當(dāng)前的工作,再響應(yīng)與甲方發(fā)生數(shù)據(jù)傳送。完事后,回去繼續(xù)做打斷前的工作。中斷功能強(qiáng)弱是計(jì)算機(jī)性能優(yōu)劣的重要標(biāo)志提高CPU效率解決速度矛盾實(shí)現(xiàn)并行工作應(yīng)付突發(fā)事件……中斷傳送方式特點(diǎn)

《單片微機(jī)原理及應(yīng)用》教學(xué)課件①中斷源②中斷申請(qǐng)③開(kāi)放中斷④保護(hù)現(xiàn)場(chǎng)⑤中斷服務(wù)⑥恢復(fù)現(xiàn)場(chǎng)⑦中斷返回中斷涉及的幾個(gè)環(huán)節(jié)(前面提到的甲方)(甲方發(fā)出信號(hào)提出申請(qǐng))(乙方同意傳送)(安排好當(dāng)前的工作)(響應(yīng)乙方的要求)(完事后,回去……)(繼續(xù)做打斷前的工作)《單片微機(jī)原理及應(yīng)用》教學(xué)課件單片機(jī)的中斷源及TCONCPU在每個(gè)機(jī)器周期的S5P2期間,會(huì)自動(dòng)查詢(xún)各個(gè)中斷申請(qǐng)標(biāo)志位,若查到某標(biāo)志位被置位,將啟動(dòng)中斷機(jī)制。51子系列允許5個(gè)(52子系列6個(gè))中斷源:

2個(gè)外部中斷請(qǐng)求:INT0,INT12個(gè)片內(nèi)定時(shí)器/計(jì)數(shù)器T0和T1中斷請(qǐng)求:

TF0,TF1,(TF2——52子系列有T2)

1個(gè)串行口中斷請(qǐng)求:TI/RICPU識(shí)別中斷申請(qǐng)的依據(jù):《單片微機(jī)原理及應(yīng)用》教學(xué)課件單片機(jī)的中斷源及TCONCPU在每個(gè)機(jī)器周期的S5P2期間,會(huì)自動(dòng)查詢(xún)各個(gè)中斷申請(qǐng)標(biāo)志位,若查到某標(biāo)志位被置位,將啟動(dòng)中斷機(jī)制。CPU識(shí)別中斷申請(qǐng)的依據(jù):TcTsTmTmTc=1/foscTs=6TcTm=12Tc=6TsS5S6S4S3S2S5S6S4S3S2S1——此圖見(jiàn)P.10《單片微機(jī)原理及應(yīng)用》教學(xué)課件定時(shí)器控制寄存器TCON(88H)TF1

TR1

TF0

TR0

IE1

IT1

IE0

IT0TCONTF0/TF1:定時(shí)器溢出中斷申請(qǐng)標(biāo)志位:

=0:定時(shí)器未溢出;

=1:定時(shí)器溢出申請(qǐng)中斷,進(jìn)中斷后自動(dòng)清零。TR0/TR1:定時(shí)器運(yùn)行啟??刂莆唬?/p>

=0:定時(shí)器停止運(yùn)行;

=1:定時(shí)器啟動(dòng)運(yùn)行。TCON:Timer控制寄存器,是管理定時(shí)器工作的SFR(其中低4位管外部中斷)《單片微機(jī)原理及應(yīng)用》教學(xué)課件定時(shí)器控制寄存器TCON(88H)TF1

TR1

TF0

TR0

IE1

IT1

IE0

IT0TCONIE0/IE1:外部中斷申請(qǐng)標(biāo)志位:

=0:沒(méi)有外部中斷申請(qǐng);

=1:有外部中斷申請(qǐng)。IT0/IT1:外部中斷請(qǐng)求的觸發(fā)方式選擇位:

=0:在INT0/INT1端申請(qǐng)中斷的信號(hào)低電平有效;=1:在INT0/INT1端申請(qǐng)中斷的信號(hào)負(fù)跳變有效.TCON:Timer控制寄存器,低4位管理外部中斷From:/uvision/db_sim_functions.asp《單片微機(jī)原理及應(yīng)用》教學(xué)課件在CPU已經(jīng)開(kāi)放了外部中斷允許的前提下:在INT0/INT1引腳輸入一個(gè)負(fù)脈沖或低電平,TCON寄存器中的IE0/IE1標(biāo)志位自動(dòng)變“1”,檢測(cè)到IE0/IE1變“1”后,將產(chǎn)生指令:

LCALL0003H(/0013H)執(zhí)行中斷服務(wù)程序,并將IE0/IE1標(biāo)志位自動(dòng)清“0”,以備下次申請(qǐng)。外部中斷(INT0,INT1)申請(qǐng)過(guò)程閱讀P.75例4-2,使用外部中斷1?!秵纹C(jī)原理及應(yīng)用》教學(xué)課件單片機(jī)的中斷矢量與優(yōu)先級(jí)(P.70)中斷矢量:MCS-51單片機(jī)的5個(gè)中斷源分別對(duì)應(yīng)有各自的中斷服務(wù)程序入口地址——中斷矢量000BHTF0定時(shí)/計(jì)數(shù)器0(T0)002BHTF2定時(shí)/計(jì)數(shù)器2(T2)0023HRI/TI串行口接收/發(fā)送001BHTF1定時(shí)/計(jì)數(shù)器1(T1)0013HIE1外部中斷1(INT1)0003HIE0外部中斷0(INT0)中斷優(yōu)先級(jí)中斷矢量申請(qǐng)標(biāo)志中斷源最高優(yōu)先級(jí)最低優(yōu)先級(jí)表4-5中斷矢量表(P.73)《單片微機(jī)原理及應(yīng)用》教學(xué)課件

PT2PSPT1

PX1

PT0PX0IPPX0/PX1:INT0/1優(yōu)先級(jí)控制位:

=0

時(shí)屬低優(yōu)先級(jí);=1

時(shí)屬高優(yōu)先級(jí)。PT0/PT1/PT2:T0/1/2中斷優(yōu)先級(jí)控制位:

=0

時(shí)屬低優(yōu)先級(jí);=1

時(shí)屬高優(yōu)先級(jí)。PS1:串行口中斷優(yōu)先級(jí)控制位:

=0

時(shí)屬低優(yōu)先級(jí);=1

時(shí)屬高優(yōu)先級(jí)。中斷優(yōu)先級(jí)控制寄存器IP(0B8H)(P.72)《單片微機(jī)原理及應(yīng)用》教學(xué)課件對(duì)同時(shí)發(fā)生多個(gè)中斷申請(qǐng)時(shí):?不同優(yōu)先級(jí)的中斷同時(shí)申請(qǐng)(很難遇到)

——先高后低?相同優(yōu)先級(jí)的中斷同時(shí)申請(qǐng)(很難遇到)

——按序執(zhí)行?正處理低優(yōu)先級(jí)中斷又接到高級(jí)別中斷

——高打斷低?正處理高優(yōu)先級(jí)中斷又接到低級(jí)別中斷

——高不理低中斷優(yōu)先級(jí)處理原則《單片微機(jī)原理及應(yīng)用》教學(xué)課件(P.73)?沒(méi)有同級(jí)的中斷或更高級(jí)別的中斷正在處理;在中斷源提出了中斷申請(qǐng)且CPU此前已經(jīng)允許中斷的前提下,還須滿(mǎn)足以下三個(gè)條件:?正在執(zhí)行的指令必須執(zhí)行完最后1個(gè)機(jī)器周期;?若正在執(zhí)行RETI,或正在訪問(wèn)IE或IP寄存器,須執(zhí)行完上述指令和下一條指令以后方能響應(yīng)中斷。響應(yīng)中斷條件!《單片微機(jī)原理及應(yīng)用》教學(xué)課件

EA

—ET2ESET1EX1ET0EX0IE中斷允許寄存器IE(0A8H)

EX0/EX1/ET1/ET0/ES位:分別是INT0/1,Timer0/1,串行口的中斷允許控制位:

=0時(shí)禁止中斷;=1

時(shí)允許中斷。ET2:T2中斷允許控制位(僅52子系列有)

=0時(shí)禁止中斷;=1

時(shí)允許中斷。EA:總的中斷允許控制位(總開(kāi)關(guān)):

=0時(shí)禁止全部中斷;=1

時(shí)允許中斷。(P.71)《單片微機(jī)原理及應(yīng)用》教學(xué)課件中斷系統(tǒng)硬件結(jié)構(gòu)(P.74)注:各中斷允許控制位=0,開(kāi)關(guān)斷開(kāi);=1,開(kāi)關(guān)接通IE0EX0TF0IE1TF1TIESET1EX1ET0外部中斷請(qǐng)求0外部中斷請(qǐng)求1內(nèi)部定時(shí)器0內(nèi)部定時(shí)器1內(nèi)部串行口TRRIIE寄存器EA位IP寄存器各單路開(kāi)關(guān)總開(kāi)關(guān)中斷源標(biāo)志位查詢(xún)機(jī)構(gòu)高中斷級(jí)中斷請(qǐng)求低中斷級(jí)中斷請(qǐng)求中斷入口中斷源標(biāo)志位INT0INT1中斷入口中斷源標(biāo)志位10《單片微機(jī)原理及應(yīng)用》教學(xué)課件外部中斷及中斷請(qǐng)求的撤除(P.71)低電平/負(fù)脈沖→INT0/INT1引腳可觸發(fā)中斷TF1TR1TF0TR0IE1

IT1IE0IT0TCON(88H)IT0/IT1:INT0/1的觸發(fā)方式選擇位:

IT0/IT1=0

時(shí),INT0/INT1是低電平有效;

IT0/IT1=1

時(shí),INT0/INT1是負(fù)跳變有效。低電平觸發(fā)引腳上的低電平須持續(xù)到中斷發(fā)生。若中斷返回前仍未及時(shí)撤除低電平,將再次中斷。負(fù)脈沖觸發(fā)CPU在前一機(jī)器周期采到INT0/INT1引腳為高,后一機(jī)器周期采到為低才認(rèn)為是一次中斷請(qǐng)求。CPU可記憶申請(qǐng)、可自動(dòng)撤除中斷申請(qǐng)?!秵纹C(jī)原理及應(yīng)用》教學(xué)課件外部低電平中斷的撤除外來(lái)的低電平→反相→CLK端產(chǎn)生上跳沿→D端的“0”打到Q端→申請(qǐng)中斷INTxP1.0CLKSQD外來(lái)中斷申請(qǐng)信號(hào)(低電平)MCS-5174LS74S=0則Q=1中斷返回前對(duì)P1.0送“0”

→令Q端變?yōu)椤?”指令如下:

ANLP1,#0FEH=CLRP1.0;令Q端置“1”

ORLP1,#01H=SETBP1.0;令S端置“1”,以免下次中斷來(lái)時(shí)Q端不能變“0”《單片微機(jī)原理及應(yīng)用》教學(xué)課件中斷應(yīng)用前后要做的幾項(xiàng)工作

中斷前開(kāi)中斷允許:必須選擇優(yōu)先級(jí):根據(jù)需要選擇,可有/可無(wú)設(shè)置控制位:INTx—觸發(fā)方式(ITx)

Tx—TCON,TMOD,TRx,初值……

RI/TI—SCON,REN,RB8,TB8,……中斷后進(jìn)入中斷服務(wù)后:保護(hù)現(xiàn)場(chǎng),關(guān)中斷,……退出中斷服務(wù)前:恢復(fù)現(xiàn)場(chǎng),開(kāi)中斷,設(shè)Tx的初值,清TI/RI,……中斷服務(wù)程序的最后一條指令必是RETI《單片微機(jī)原理及應(yīng)用》教學(xué)課件中斷應(yīng)用程序舉例:P.75例4-2:通過(guò)外部中斷1,在中斷服務(wù)中將B寄存器里的內(nèi)容左環(huán)移一位。

已知:(B)=01h,要求采用邊沿觸發(fā),低優(yōu)先級(jí)。此例的實(shí)際意義:在INT1引腳接一個(gè)按鈕開(kāi)關(guān)到地,每按一下按鈕就申請(qǐng)一次中斷,中斷服務(wù)則是:依次點(diǎn)亮八盞燈中的一盞?!秵纹C(jī)原理及應(yīng)用》教學(xué)課件中斷應(yīng)用程序舉例:P75例4-2:通過(guò)外部中斷1,在中斷服務(wù)中將B寄存器里的內(nèi)容左環(huán)移一位。

已知:(B)=01h,要求采用邊沿觸發(fā),低優(yōu)先級(jí)。此例的實(shí)際意義:在INT1引腳接一個(gè)按鈕開(kāi)關(guān)到地,每按一下按鈕就申請(qǐng)一次中斷,中斷服務(wù)則是:依次點(diǎn)亮八盞燈中的一盞。P1.0P1.7INT1300《單片微機(jī)原理及應(yīng)用》教學(xué)課件

ORG0000HLJMPMAIN

ORG0013H;中斷矢量

LJMPINTMAIN:SETBEA;開(kāi)總中斷允許“開(kāi)關(guān)”

SETBEX1;開(kāi)分中斷允許“開(kāi)關(guān)”

CLRPX1;0優(yōu)先級(jí)(也可不要此句)

SETBIT1;邊沿觸發(fā)

MOVB,#01H;給B

寄存器賦初值HERE:SJMPHERE;原地等待中斷申請(qǐng)INT:MOVA,B;自B寄存器中取數(shù)

RLA;左環(huán)移一次

MOVB,A;存回B,備下次取用

(MOVP1,A);輸出到P1口

RETI;中斷返回中斷服務(wù)程序《單片微機(jī)原理及應(yīng)用》教學(xué)課件單片機(jī)的定時(shí)/計(jì)數(shù)器《單片微機(jī)原理及應(yīng)用》教學(xué)課件2個(gè)16位定時(shí)器/計(jì)數(shù)器

——(52系列有3個(gè)16位Timer)定時(shí)器:對(duì)片內(nèi)機(jī)器時(shí)鐘(周期方波)進(jìn)行計(jì)數(shù)計(jì)數(shù)器:對(duì)Tx引腳輸入的負(fù)脈沖進(jìn)行計(jì)數(shù)與Timer工作有關(guān)的特殊功能寄存器:

TCON和

TMOD第四章I/O,中斷,定時(shí)與串行通信P.75《單片微機(jī)原理及應(yīng)用》教學(xué)課件Timer的2個(gè)特殊功能寄存器(TCON,TMOD)TF1TR1TF0TR0IE1IT1IE0IT0定時(shí)器控制寄存器TCON(88H)P.76TFx:Timer0/1計(jì)數(shù)溢出標(biāo)志位。

=1計(jì)數(shù)溢出;=0計(jì)數(shù)未滿(mǎn)

TFx標(biāo)志位可用于申請(qǐng)中斷或供CPU查詢(xún)。在進(jìn)入中斷服務(wù)程序時(shí)會(huì)自動(dòng)清零;但在查詢(xún)方式時(shí)必須軟件清零。TRx:Timer0/1運(yùn)行控制位。

=1啟動(dòng)計(jì)數(shù);=0停止計(jì)數(shù)《單片微機(jī)原理及應(yīng)用》教學(xué)課件TR0/TR1:Timer0/1運(yùn)行控制位:

TR0/TR1=0時(shí),Timer0/1停止計(jì)數(shù)

TR0/TR1=1時(shí),Timer0/1啟動(dòng)計(jì)數(shù)定時(shí)器T0/T1中斷申請(qǐng)過(guò)程

在已經(jīng)開(kāi)放T0/T1中斷允許且已被啟動(dòng)的前提下:

T0/T1加滿(mǎn)溢出時(shí)TF0/TF1標(biāo)志位自動(dòng)置“1”

檢測(cè)到TCON中TF0/TF1變“1”后,將產(chǎn)生指令:

LCALL000BH/LCALL001BH

執(zhí)行中斷服務(wù)程序,

TF0/TF1標(biāo)志位會(huì)自動(dòng)清“0”,以備下次中斷申請(qǐng)。

定時(shí)/計(jì)數(shù)器可按片內(nèi)機(jī)器周期定時(shí),也可對(duì)由T0/T1引腳輸入一個(gè)負(fù)脈沖進(jìn)行加法計(jì)數(shù)TF1TR1TF0

TR0

IE1IT1IE0IT0TCON(88H)《單片微機(jī)原理及應(yīng)用》教學(xué)課件GATEC/T

M1

M0GATEC/T

M1

M0定時(shí)器方式寄存器TMOD(89H)P.76T1T0M1,M0:工作方式定義位(定義4種方式):C/T:計(jì)數(shù)器/定時(shí)器選擇位

=1外部事件計(jì)數(shù)器。對(duì)Tx引腳的負(fù)脈沖計(jì)數(shù);

=0片內(nèi)時(shí)鐘定時(shí)器。對(duì)機(jī)器周期脈沖計(jì)數(shù)定時(shí)00:13位Timer——用它無(wú)益,不要記它!01:16位Timer——經(jīng)常用到10:可自動(dòng)重裝的8位Timer——經(jīng)常用到11:T0分為2個(gè)8位Timer;T1此時(shí)不工作

——因?yàn)闆](méi)有帶來(lái)甚麼好處,幾乎無(wú)用《單片微機(jī)原理及應(yīng)用》教學(xué)課件GATEC/TM1M0GATEC/TM1M0T1T0GATE門(mén)控位:Timer可由軟件與硬件兩者控制

GATE=0——普通用法

Timer的啟/停由軟件對(duì)TRx位寫(xiě)“1”/“0”控制定時(shí)器方式寄存器TMOD(續(xù))(89H)

GATE=1——門(mén)控用法

Timer的啟/停由軟件對(duì)TRx位寫(xiě)“1”/“0”

和在INTx引腳上出現(xiàn)的信號(hào)的高/低共同控制《單片微機(jī)原理及應(yīng)用》教學(xué)課件閱讀書(shū)上定時(shí)器應(yīng)用程序舉例:P.78例1:

晶振=6MHz,估算Timer的定時(shí)時(shí)長(zhǎng)(max,min)P.80例3:

要求對(duì)T0產(chǎn)生250μS定時(shí)進(jìn)行初始化。(晶振=6MHz)P.80例4:

產(chǎn)生T=2mS方波(試改為方式2)P.80例4:

請(qǐng)改為方式1為2再閱讀,務(wù)請(qǐng)大家不要陷入方式0的困惑之中!P.81例5:定時(shí)1秒(晶振=12MHz)《單片微機(jī)原理及應(yīng)用》教學(xué)課件定時(shí)器結(jié)構(gòu)與工作方式

P.78工作方式1:——16位的定時(shí)/計(jì)數(shù)器振蕩器12TLx

THx(8位)(8位)TFx申請(qǐng)中斷Tx端TRx位GATE位INTx端≥1&C/T=0C/T=1控制=1開(kāi)關(guān)接通或門(mén)與門(mén)見(jiàn)P.78圖4-4《單片微機(jī)原理及應(yīng)用》教學(xué)課件

THx/TLx賦初值:THx賦高8位,TLx賦低8位;工作方式1的編程要點(diǎn):P.79

TMOD選方式:寫(xiě)“M1,M0”=01b選方式1;

若不用門(mén)控位,直接用軟件寫(xiě)TRx控制啟/停

若使用門(mén)控位,先置位TRx,然后由INTx端的高/低電平來(lái)控制其啟/停;

若要允許中斷,還須先置位ETx、EA等中斷允許控制位,并編寫(xiě)中斷服務(wù)程序;

(如P80例4-3,工作方式2)

若不用中斷,可查詢(xún)“計(jì)數(shù)溢出標(biāo)志TFx”

的方式工作,但溢出標(biāo)志TFx須軟件清0;

(如P80例4-4,工作方式1)《單片微機(jī)原理及應(yīng)用》教學(xué)課件定時(shí)器(方式1)應(yīng)用程序舉例:分析:已知fosc

=6MHz則:(振蕩周期)1Tc=1/6MHz

(機(jī)器周期)1Tm=12Tc=12/6MHz=2S

粗略地說(shuō):Tmin2S16位定時(shí)器最大數(shù)值為:216=65536=0FFFFH+1

故選擇方式1

工作可以得到:

Tmax=655362=131072S=131.072mSP.78例1:若晶振頻率為6MHz,計(jì)算單片機(jī)的最小與最大定時(shí)時(shí)間:《單片微機(jī)原理及應(yīng)用》教學(xué)課件分析:已知fosc

=6MHz則:(機(jī)器周期)1Tm=12Tc=12/6MHz=2S100mS÷2S=5000016位定時(shí)器最大數(shù)值為:

216=65536(=0FFFFH+1)

故選擇方式1工作可以滿(mǎn)足要求。計(jì)算初值:65536-50000=15536=3CB0HP.80例4-3(改):要求對(duì)T0產(chǎn)生100mS定時(shí)進(jìn)行初始 化。(晶振=6MHz)定時(shí)器(方式1)應(yīng)用程序舉例:***注:教材只需延長(zhǎng)時(shí)間250us即可,采用工作方式2

可以滿(mǎn)足需要!《單片微機(jī)原理及應(yīng)用》教學(xué)課件GATEC/TM1M0GATEC/TM1M0定時(shí)器方式寄存器TMOD由分析得知:T0選擇方式1,初值=3CB0H

XXXX0001初始化:MOVTMOD,#01H;選T0方式1

MOVTH0,#3CH;賦初值高8位

MOVTL0,#0B0H;賦初值低8位

SETBTR0;啟動(dòng)T0定時(shí)若需要定時(shí)器0產(chǎn)生中斷還應(yīng)當(dāng)寫(xiě)如下語(yǔ)句:

SETBET0;開(kāi)T0中斷允許

SETBEA;開(kāi)總中斷允許以及相應(yīng)的中斷服務(wù)程序。《單片微機(jī)原理及應(yīng)用》教學(xué)課件工作方式2:——8位自動(dòng)重裝的定時(shí)/計(jì)數(shù)器振蕩器12TLx(8位)TFx申請(qǐng)中斷Tx端TRx位GATE位INTx端≥1&C/T=0C/T=1控制=1開(kāi)關(guān)接通或門(mén)與門(mén)THx(8位)溢出位門(mén)開(kāi)圖4-5工作方式2電路邏輯結(jié)構(gòu)圖《單片微機(jī)原理及應(yīng)用》教學(xué)課件?THx/TLx賦相同初值在TLx計(jì)數(shù)達(dá)到0FFH再加“1”時(shí),TL0

將溢出,進(jìn)位位直接進(jìn)入“TFx”去申請(qǐng)中斷,同時(shí)打開(kāi)三態(tài)門(mén),使THx中的值自動(dòng)重裝(Copy)進(jìn)TLx工作方式2的編程:?TMOD寄存器選方式:寫(xiě)“M1,M0”=10

b選中方式2?其他用法與各種方式1完全相同《單片微機(jī)原理及應(yīng)用》教學(xué)課件分析:fosc

=6MHz1機(jī)器周期=2S

1KHz方波周期=1mS

半個(gè)方波周期=500S500uS÷2uS=250若選擇方式2工作,8位定時(shí)器最大數(shù)值為:

28=256=0FFH+1可以滿(mǎn)足要求。計(jì)算初值:256-250=6P.80例4-3(改):從P1.0腳輸出頻率=1KHz方波。設(shè):晶振=6MHz。利用T1定時(shí)中斷。Th:半周期T:周期定時(shí)器(方式2)應(yīng)用程序舉例:《單片微機(jī)原理及應(yīng)用》教學(xué)課件

ORG0000HAJMPMAIN

ORG001BH;T1的中斷矢量

CPLP1.0;中斷服務(wù):P1.0取非

RETI;中斷返回MAIN:MOVTMOD,#20HMOVTH0,#6MOVTL0,#6SETBET1SETBEASETBTR1HERE:AJMPHERE;原地等待中斷

END初始化;選T1方式2;賦重裝值;賦初值;開(kāi)T1中斷;開(kāi)總中斷;啟動(dòng)T1《單片微機(jī)原理及應(yīng)用》教學(xué)課件T0:

組織成TL0和TH0兩個(gè)8位定時(shí)/計(jì)數(shù)器Timer工作方式3——幾乎無(wú)用T1:不再是定時(shí)/計(jì)數(shù)器了

T1

的TR1和TF1出借給TH0當(dāng)控制位使用,

剩下的TH1/TL1寄存器只能當(dāng)作普通寄存器用。《單片微機(jī)原理及應(yīng)用》教學(xué)課件振蕩器12TL0(8位)TF0申請(qǐng)中斷T0端TR0位GATE位INT0端≥1&C/T=0C/T=1控制=1開(kāi)關(guān)接通或門(mén)與門(mén)TH0(8位)TF1申請(qǐng)中斷TR1位控制=1Timer工作方式3結(jié)構(gòu):?T0成為雙8位Timer

?T1不再有Timer功能?TF1,TR1出借給TH0

?TH1/TL1當(dāng)普通寄存器用《單片微機(jī)原理及應(yīng)用》教學(xué)課件長(zhǎng)定時(shí)舉例(設(shè)晶振=6MHz,要定時(shí)1秒):ORG0000H ;P.81例5(改)

AJMPMAIN ;教材采用12MHz

ORG001BH ;延時(shí)50ms

AJMPTINT;見(jiàn)下一頁(yè)MAIN:MOVTMOD,#10H;選T1方式1MOVTH1,#3CH;賦初值3CB0H=15536(只能定100mS)MOVTL1,#0B0H;前面講過(guò)

MOV30H,#10;軟件計(jì)數(shù)單元30H初值=10

CLRF0;芯片復(fù)位時(shí)已經(jīng)是“0”,此句可有可無(wú)

SETBET1;開(kāi)T1中斷

SETBEA;開(kāi)總中斷

SETBTR1;啟動(dòng)T1HERE:JBCF0,TIMEUP;原地等待“1秒到”的標(biāo)志F0AJMPHERETIMEUP:(dosomething);定時(shí)1秒到了以后要做的事情

AJMPHERE中斷服務(wù)在主程序中《單片微機(jī)原理及應(yīng)用》教學(xué)課件長(zhǎng)定時(shí)舉例(續(xù)):

ORG0000HAJMPMAINORG001BHAJMPTINTMAIN:…TINT:DJNZ30H,RTN;若中斷不到10次就返回

SETBF0;已經(jīng)中斷夠10次了“置1”標(biāo)志位

MOV30H,#10;為下一個(gè)1秒定時(shí)做準(zhǔn)備RTN: MOVTH1,#3CH;再賦定時(shí)100mS的初值3CB0H MOVTL1,#0B0HRETI;中斷返回

END《單片微機(jī)原理及應(yīng)用》教學(xué)課件將此例的中斷服務(wù)改寫(xiě)在中斷服務(wù)程序中:

ORG0000HAJMPMAINORG001BHAJMPTINT;見(jiàn)下一頁(yè)MAIN:MOVTMOD,#10H;選T1方式1MOVTH1,#3CH;賦初值3CB0H=15536(只能定100mS)MOVTL1,#0B0HMOV30H,#10;軟件計(jì)數(shù)單元30H初值=10CLRF0;芯片復(fù)位時(shí)已經(jīng)是“0”,此句可有可無(wú)

SETBET1;開(kāi)T1中斷

SETBEA;開(kāi)總中斷

SETBTR1;啟動(dòng)T1HERE:AJMPHERE;原地等待中斷《單片微機(jī)原理及應(yīng)用》教學(xué)課件長(zhǎng)定時(shí)舉例(續(xù)):ORG0000HAJMPMAINORG001BHAJMPTINTMAIN:…TINT:DJNZ30H,RTN;若中斷不到10次就返回

MOV30H,#10;為下一個(gè)1秒定時(shí)做準(zhǔn)備(dosomething);定時(shí)1秒到了以后要做的事情)RTN:MOVTH1,#3CH;再賦初值

MOVTL1,#0B0HRETI;中斷返回

END中斷服務(wù)《單片微機(jī)原理及應(yīng)用》教學(xué)課件定時(shí)器小結(jié):(2個(gè)16位加法計(jì)數(shù)器)?運(yùn)行/停止由TRx位控制,(當(dāng)GATE=1時(shí):由TRx位和Tx引腳上的信號(hào)共同控制)?工作方式由TMOD決定;

計(jì)數(shù)/定時(shí)由C/T位決定工作方式0(13位)

永遠(yuǎn)不用

工作方式3(T0拆為雙8位)幾乎無(wú)用工作方式1(16位)經(jīng)常用到工作方式2(8位自動(dòng)重裝)經(jīng)常用到?從初值按機(jī)器周期或外部脈沖遞加,溢出位

TFx申請(qǐng)中斷;中斷允許由ETx位和EA位控制,《單片微機(jī)原理及應(yīng)用》教學(xué)課件串行口與串行通信《單片微機(jī)原理及應(yīng)用》教學(xué)課件串行通信的基本特征是數(shù)據(jù)逐位順序進(jìn)行傳送串行通信的格式及約定(如:同步方式、通訊速率、數(shù)據(jù)塊格式、信號(hào)電平……等)不同,形成了多種串行通信的協(xié)議與接口標(biāo)準(zhǔn)。常見(jiàn)的有:?通用異步收發(fā)器(UART)——本課程介紹的串口?通用串行總線(xiàn)(USB)?I2C總線(xiàn)?CAN總線(xiàn)?SPI總線(xiàn)?RS-485,RS-232C,RS422A標(biāo)準(zhǔn)……等等第四章I/O,中斷,定時(shí)與串行通信(P.82)《單片微機(jī)原理及應(yīng)用》教學(xué)課件全雙工串行接口(UART)?數(shù)據(jù)通信的幾個(gè)術(shù)語(yǔ):

并行:數(shù)據(jù)各位同時(shí)進(jìn)行傳送

串行:數(shù)據(jù)逐位順序進(jìn)行傳送?全雙工:(串行通信)收/發(fā)可同時(shí)進(jìn)行半雙工:(串行通信)收/發(fā)不可同時(shí)進(jìn)行?異步串行通信:以字符為單位進(jìn)行傳送同步串行通信:以數(shù)據(jù)塊為單位進(jìn)行傳送波特率(bps.):單位時(shí)間傳送的位數(shù)《單片微機(jī)原理及應(yīng)用》教學(xué)課件51單片機(jī)的串行接口(P.82)SBUF(發(fā))SBUF(收)發(fā)送控制器TI接收控制器RI移位寄存器波特率發(fā)生器T11A累加器(門(mén))移位寄存器RxDTxD去申請(qǐng)中斷引腳引腳CPU內(nèi)部MOVA,SBUFMOVSBUF,A《單片微機(jī)原理及應(yīng)用》教學(xué)課件串行口的結(jié)構(gòu)?兩個(gè)同名的接收/發(fā)送緩沖寄存器SBUF(99H)

指令MOVSBUF,A

啟動(dòng)一次數(shù)據(jù)發(fā)送,可向SBUF

再發(fā)送下一個(gè)數(shù)指令MOVA,SBUF

完成一次數(shù)據(jù)接收,SBUF可再接收下一個(gè)數(shù)?接收/發(fā)送數(shù)據(jù),無(wú)論是否采用中斷方式工作,每接收/發(fā)送一個(gè)數(shù)據(jù)都必須用指令對(duì)RI/TI

清0,以備下一次收/發(fā)。?串行口相關(guān)的SFR(SCON,PCON)《單片微機(jī)原理及應(yīng)用》教學(xué)課件

SM0SM1

SM2RENTB8RB8

TIRISCON?SM0,SM1:串行口4種工作方式的選擇位。

00方式0:8位移位寄存器I/O,波特率固定為fosc/12

01方式1:8位UART(1+8+1位),

波特率可變,按公式計(jì)算

10方式2:9位UART(1+8+1+1位),

波特率固定=foscx1/32或1/64

11方式3:9位UART(1+8+1+1位),

波特率可變,按公式計(jì)算?

SM2:串行口多機(jī)通信控制位

(作為方式2、方式3的附加控制位)串行口控制寄存器SCON(98H)P.83《單片微機(jī)原理及應(yīng)用》教學(xué)課件?

RI,TI:串行口收/發(fā)數(shù)據(jù)申請(qǐng)中斷標(biāo)志位=1申請(qǐng)中斷;=0不申請(qǐng)中斷?

TB8:方式2、3中,是要發(fā)送的第9位數(shù)據(jù)。多機(jī)通信中,TB8=0表示發(fā)送的是數(shù)據(jù);

TB8=1表示發(fā)送的是地址。(奇偶校驗(yàn))?

RB8:在方式2、3中,是收到的第9位數(shù)據(jù)。在多機(jī)通信中,用作區(qū)別地址幀/數(shù)據(jù)幀的標(biāo)志。(奇偶校驗(yàn))

SM0SM1

SM2RENTB8RB8

TIR1?

REN:串行口接收允許控制位

=1表示允許接收;=0禁止接收。SCON《單片微機(jī)原理及應(yīng)用》教學(xué)課件SMOD———GF1GF0PD

IDL電源控制寄存器

PCON(97H)P.83——特殊功能寄存器PCON不能按位尋址——?

SMOD:在串行口工作方式1、2、3中,

是波特率加倍位

=1時(shí),波特率加倍

=0時(shí),波特率不加倍。

(在PCON中只有這一個(gè)位與串口有關(guān))

?

GF1,GF0:用戶(hù)可自行定義使用的通用標(biāo)志位PCON《單片微機(jī)原理及應(yīng)用》教學(xué)課件?

PD:掉電方式控制位

=0:常規(guī)工作方式。

=1:進(jìn)入掉電方式:

振蕩器停振

片內(nèi)RAM和SRF的值保持不變

P0—P3口維持原狀。程序停止

只有復(fù)位能使之退出掉電方式。

SMOD———GF1GF0

PDIDLPCON《單片微機(jī)原理及應(yīng)用》教學(xué)課件?

IDL:待機(jī)方式(空閑方式)控制位

=0:常規(guī)工作方式。

=1:進(jìn)入待機(jī)方式:振蕩器繼續(xù)振蕩

中斷、定時(shí)器、串口功能繼續(xù)有效

片內(nèi)RAM和SRF保持不變

CPU狀態(tài)保持、P0—P3口維持原狀

程序停頓。

中斷和復(fù)位能退出待機(jī),繼續(xù)后面的程序。SMOD———GF1GF0

PD1DLPCON《單片微機(jī)原理及應(yīng)用》教學(xué)課件?

PD:掉電控制位

=0:常規(guī)方式。

=1:掉電方式:振蕩器停振片內(nèi)RAM和SRF不變P0—P3口維持原狀程序停止只有復(fù)位能退出掉電

?

IDL:待機(jī)控制位

=0:常規(guī)方式。

=1:待機(jī)方式:振蕩器繼續(xù)振蕩中斷,定時(shí)器,串口有效片內(nèi)RAM和SRF不變CPU狀態(tài),P0—P3維持原狀程序停頓。中斷和復(fù)位能退出待機(jī),繼續(xù)后面的程序。SMOD———GF1GF0

PDIDLPCON《單片微機(jī)原理及應(yīng)用》教學(xué)課件串行口工作方式0

P.84工作方式0:8位移位寄存器I/O方式?發(fā)送:SBUF中的串行數(shù)據(jù)由RxD逐位移出;

TxD輸出移位時(shí)鐘,頻率=fosc1/12;

每送出8位數(shù)據(jù)TI就自動(dòng)置1;

需要用軟件清零

TI。?接收:串行數(shù)據(jù)由RxD逐位移入SBUF中;

TxD輸出移位時(shí)鐘,頻率=fosc1/12;

每接收8位數(shù)據(jù)RI就自動(dòng)置1;

需要用軟件清零RI?!秵纹C(jī)原理及應(yīng)用》教學(xué)課件?經(jīng)常配合“串入并出”“并入串出”移位寄存器一起使用擴(kuò)展接口(第6章)。

?方式0工作時(shí),多用查詢(xún)方式編程:

發(fā)送:MOVSBUF,A接收:JNBRI,$JNBTI,$CLRRI

CLRTIMOVA,SBUF工作方式0:8位移位寄存器I/O方式(續(xù))?復(fù)位時(shí),SCON

已經(jīng)被清零,缺省值:方式0。?接收前,務(wù)必先置位

REN=1允許接收數(shù)據(jù)。《單片微機(jī)原理及應(yīng)用》教學(xué)課件串行口方式0的擴(kuò)展應(yīng)用——經(jīng)常用到串行口常用工作方式0擴(kuò)展出并行I/O口,工作方式1、2、3則常用于串行通信ABCLKhgfedcbaCLRABCLKCLRABCLKCLR+5V74LS16474LS16474LS16474LS164是串入并出芯片;74LS165是并入串出芯片hgfedcbahgfedcba+5V共陽(yáng)LED數(shù)碼管VCCTxDRxD51單片機(jī)《單片微機(jī)原理及應(yīng)用》教學(xué)課件共陽(yáng)極hgfedcbaabcdgefh共陽(yáng)LED數(shù)碼管公共端(字位)

接高電平,筆劃(字段)

置為低電平就被點(diǎn)亮了hgfedcba累加器A110000000C0H=“0”?比如要顯示“0”

須令abcdef為“0”

電平,gh為“1”電平。?再比如要顯示“3”

須令abcdg為“0”

電平,efh為“1”電平。101100000B0H=“3”《單片微機(jī)原理及應(yīng)用》教學(xué)課件例:利用串行口工作方式0擴(kuò)展出8位并行I/O口,驅(qū)動(dòng)共陽(yáng)LED數(shù)碼管顯示0—9。ABCLKhgfedcbaCLR+5VVCCTxDRxD51單片機(jī)74LS164共陽(yáng)LED數(shù)碼管《單片微機(jī)原理及應(yīng)用》教學(xué)課件根據(jù)上圖編寫(xiě)的通過(guò)串行口和74LS164驅(qū)動(dòng)共陽(yáng)LED數(shù)碼管(查表)顯示0-9數(shù)字的子程序:DSPLY:MOVDPTR,#TABLEMOVCA,@A+DPTRMOVSBUF,AJNBTI,$CLRTIRETTABLE:DB0C0H,0F9H,0A4HDB0B0H,99H,92HDB82H,0F8H,80H,90Hhgfedcba累加器A110000000C0H=“0”101100000B0H=“3”共陽(yáng)極hgfedcbaabcdgefh《單片微機(jī)原理及應(yīng)用》教學(xué)課件?常用于串行通訊。除發(fā)/收8位數(shù)據(jù)外,還在D0位前有一個(gè)起始位“0”;在D7位后有一個(gè)停止位“1”。?方式1工作時(shí):發(fā)送端自動(dòng)添加一個(gè)起始位和一個(gè)停止位;接收端自動(dòng)去掉一個(gè)起始位和一個(gè)停止位。工作方式1:8位UART(1+8+1位)波特率可變

——P.84?波特率可變

——用定時(shí)器T1作波特率發(fā)生器:公式:波特率=(2SMOD/32)T1的溢出率《單片微機(jī)原理及應(yīng)用》教學(xué)課件波特率=(2SMOD/32)T1的溢出率(P.85)?

溢出率:T1溢出的頻繁程度即:T1溢出一次所需時(shí)間的倒數(shù)。?

初值X=2n

-

2SMOD

fosc32

波特率

12?

波特率

=2SMOD

fosc32

12(2n

-X)其中:X是定時(shí)器初值《單片微機(jī)原理及應(yīng)用》教學(xué)課件?

初值X=2n-

2SMOD

fosc32波特率

12?

P.86例4-6中計(jì)算波特率的部分:題目要求用T1工作于方式2來(lái)產(chǎn)生波特率1200,已知晶振頻率=6MHz。要求出T1的初值:初值X=28

-

20

610632

1200

12=256-

=256-13.026106460800243=0F3H——結(jié)果后面要用到注:教材采用SMOD=1,波特率倍增!《單片微機(jī)原理及應(yīng)用》教學(xué)課件

?表格有多種,晶振也不止一種常用波特率和T1初值查表P.85表(部分)串口波特率(方式1,3)foscSMOD位(PCON中)定時(shí)器T1C/T方式初值192006MHz1020FEH96006MHz1020FDH48006MHz0020FDH24006MHz0020FAH12006MHz0020F4H6006MHz0020E8H1106MHz00272H《單片微機(jī)原理及應(yīng)用》教學(xué)課件?RxD引腳為接收端,TxD引腳為發(fā)送端,由波特率發(fā)生器T1控制發(fā)送速度,不同于方式0:收/發(fā)都需要由TxD送出移位時(shí)鐘。

?T1作波特率發(fā)生器時(shí)初始化包括:

選定時(shí)器工作方式2(TMOD選8位自動(dòng)重裝);

將計(jì)算(或查表)出的初值X賦給TH1,TL1;

啟動(dòng)T1(SETBTR1);

對(duì)T1不要開(kāi)中斷

!!工作方式1的接收/發(fā)送P.84?串行口的初始化包括:

對(duì)SCON選工作方式對(duì)PCON設(shè)波特率加倍位“SMOD”(缺省值=0)

如果是接收數(shù)據(jù),仍要先置“1”REN位

《單片微機(jī)原理及應(yīng)用》教學(xué)課件MAIN:ORG0023H

MOVTMOD,#20HSBR1:JNBRI,SEND

MOVTL1,#0F3HLCALLSIN

MOVTH1,#0F3HSJMPNEXT

SETBTR1SEND:LCALLSOUT

MOVSCON,#50HNEXT:RETI

…………SETBEASIN:……SETBESRETLCALLSOUT

SOUT:……SJMP$RETP86例:串行通信方式1應(yīng)用用T1工作于方式2,產(chǎn)生波特率1200bps《單片微機(jī)原理及應(yīng)用》教學(xué)課件

SM0SM1

SM2RENTB8RB8

TIR1SCON?SM0,SM1:串行口工作方式選擇位。

01:方式1,8位UART(1+8+1位)?

REN:串行口接收允許位。REN=1允許接收串行口控制寄存器SCON

01

0

10000?

TB8,RB8,TI,RI等位由運(yùn)行中間的情況決定,可先寫(xiě)成“0”?

SM2:串行口多機(jī)通信控制位,作為方式2、3

的附加控制位,此處不用,可寫(xiě)成“0”《單片微機(jī)原理及應(yīng)用》教學(xué)課件MAIN:ORG0023H

MOVTMOD,#20HSBR1:JNBRI,SEND

MOVTL1,#0F3HLCALLSIN

MOVTH1,#0F3HSJMPNEXT

SETBTR1SEND:LCALLSOUT

MOVSCON,#50HNEXT:RETI

…………SETBEASIN:……SETBESRETLCALLSOUT

SOUT:……SJMP$RETP86例:串行通信方式1應(yīng)用

用T1工作于方式2,產(chǎn)生波特率1200bps《單片微機(jī)原理及應(yīng)用》教學(xué)課件發(fā)送子程序接收子程序SOUT:

SIN:

MOVA,@R0MOVA,SBUF

MOVC,PMOVC,PCPLCCPLC

MOV

ACC.7,C

ANLA,#7FH

INCR0MOV@R1,AMOVSBUF,AINCR1CLRTICLRRIRETRETP86例

(續(xù))刪除刪除注:《單片微機(jī)原理及應(yīng)用》張毅坤等主編《單片微機(jī)原理及應(yīng)用》教學(xué)課件?由于波特率固定,常用于單片機(jī)間通訊。數(shù)據(jù)由8+1位組成,通常附加的一位

(TB8/RB8)用于“奇偶校驗(yàn)”。工作方式2:——P.84

9位UART(1+8+1+1位)兩種波特率?方式2的波特率=fosc2SMOD/64

即:fosc1/32或fosc1/64兩種《單片微機(jī)原理及應(yīng)用》教學(xué)課件?奇偶校驗(yàn)是檢驗(yàn)串行通信雙方傳輸?shù)臄?shù)據(jù)正確與否的一個(gè)措施,并不能保證通信數(shù)據(jù)的傳輸一定正確。換言之:如果奇偶校驗(yàn)發(fā)生錯(cuò)誤,表明數(shù)據(jù)傳輸一定出錯(cuò)了;如果奇偶校驗(yàn)沒(méi)有出錯(cuò),絕不等于數(shù)據(jù)傳輸完全正確。?奇校驗(yàn):8

溫馨提示

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