版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、本章分為三節(jié),主要介紹:7.1 串行口的結(jié)構(gòu)7.0 計(jì)算機(jī)串行通信基礎(chǔ)7.2 串行口的四種工作方式第 7 章 MCS-51的串行口7.3 多機(jī)通信7.4 波特率的制定方法1本章分為三節(jié),主要介紹:7.1 串行口的結(jié)構(gòu)7.0 計(jì)算7.1 計(jì)算機(jī)串行通信基礎(chǔ) 計(jì)算機(jī)通信是指計(jì)算機(jī)與外部設(shè)備或計(jì)算機(jī)與計(jì)算機(jī)之間的信息交換。有并行通信和串行通信兩種方式。 MCS-51單片機(jī)內(nèi)部有一個(gè)功能強(qiáng)大的全雙工的異步通信串行口。所謂全雙工就是雙機(jī)之間串行接收、發(fā)送數(shù)據(jù)可同時(shí)進(jìn)行。所謂異步通信,就是收、發(fā)雙方?jīng)]有同步時(shí)鐘來控制收、發(fā)雙方的同步傳送,而是靠雙方各自的時(shí)鐘來控制數(shù)據(jù)的異步傳送。27.1 計(jì)算機(jī)串行通信基
2、礎(chǔ) 計(jì)算機(jī)通信是指計(jì)算機(jī)與異步通信的數(shù)據(jù)格式 : 異步通信的特點(diǎn):不要求收發(fā)雙方時(shí)鐘的嚴(yán)格一致,實(shí)現(xiàn)容易,設(shè)備開銷較小,但每個(gè)字符要附加23位用于起止位,各幀之間還有間隔,因此傳輸效率不高。3異步通信的數(shù)據(jù)格式 : 異步通信的特點(diǎn):不要求收發(fā)雙方2、同步通信 同步通信時(shí)要建立發(fā)送方時(shí)鐘對(duì)接收方時(shí)鐘的直接控制,使雙方達(dá)到完全同步。此時(shí),傳輸數(shù)據(jù)的位之間的距離均為“位間隔”的整數(shù)倍,同時(shí)傳送的字符間不留間隙,即保持位同步關(guān)系,也保持字符同步關(guān)系。發(fā)送方對(duì)接收方的同步可以通過兩種方法實(shí)現(xiàn)。 42、同步通信4 要傳送的串行數(shù)據(jù)在發(fā)方是以數(shù)據(jù)幀形式一幀一幀地發(fā)送,通過傳輸線由收方一幀一幀地接收。 MCS
3、-51的串行口有4種工作方式,波特率可由軟件設(shè)置片內(nèi)的定時(shí)器計(jì)數(shù)器來控制。每當(dāng)串行口接收或發(fā)送1B完畢,均可發(fā)出中斷請(qǐng)求。 MCS-51的串行口除了可以用于串行數(shù)據(jù)通信之外,還可以非常方便地用來擴(kuò)展并行1/0 口。5 要傳送的串行數(shù)據(jù)在發(fā)方是以數(shù)據(jù)幀形式一幀一幀地發(fā)送,7.1 串行口的結(jié)構(gòu) 有兩個(gè)物理上獨(dú)立的接收、發(fā)送緩沖器SBUF,可同時(shí)發(fā)送、接收數(shù)據(jù),兩個(gè)緩沖器共用一個(gè)特殊功能寄存器字節(jié)地址(99H)。67.1 串行口的結(jié)構(gòu)6 字節(jié)地址98H,可位尋址,位地址為98H9FH。7.1.1串行口控制寄存器 SCON(1) SM0、SM1:4種工作方式的選擇位7 字節(jié)地址98H,可位尋址,位地址
4、為98H9FH。7(2) SM2:多機(jī)通信控制位 SM2位主要用于方式2或方式3。當(dāng)串行口以方式2或方式3接收時(shí),如果SM2=1,則只有當(dāng)接收到的第9位數(shù)據(jù)(RB8)為1時(shí),才將接收到的前8位數(shù)據(jù)送入SBUF ,并置1 RI, 產(chǎn)生中斷請(qǐng)求;當(dāng)接收到的第9位數(shù)據(jù)(RB8)為0時(shí),則將接收到的前8位數(shù)據(jù)丟棄。 SM2=0時(shí),則不論第9位數(shù)據(jù)是1還是0,都將前8位數(shù)據(jù)送入SBUF中,并置1RI,產(chǎn)生中斷請(qǐng)求。方式1時(shí),如果SM2=1 ,則只有收到有效的停止位時(shí)才會(huì)激活RI。在方式0時(shí), SM2必須為 0 。8(2) SM2:多機(jī)通信控制位方式1時(shí),如果SM2=1 ,則(3)REN:允許串行接收位
5、由軟件置 1 或清 0 。 REN=1 允許串行口接收數(shù)據(jù)。 REN=0 禁止串行口接收數(shù)據(jù)。(4)TB8: 發(fā)送的第9位數(shù)據(jù) 在方式 2 和 3 時(shí), TB8 是要發(fā)送的第 9 位數(shù)據(jù)。其值由軟件置 1 或清0。 在雙機(jī)通信時(shí), TB8 一般作為奇偶校驗(yàn)位使用;在多機(jī)通信中用來表示主機(jī)發(fā)送的是地址幀還是數(shù)據(jù)幀, TB8=1 為地址幀, TB8=0 為數(shù)據(jù)幀。9(3)REN:允許串行接收位(4)TB8: 發(fā)送的第9位數(shù)據(jù)(5) RB8:接收到的第 9 位數(shù)據(jù) 工作在方式2和3時(shí),RB8存放接收到的第9位數(shù)據(jù)。在方式1,如果SM2=0,RB8是接收到的停止位。在方式0,不使用RB8。(6) TI
6、:發(fā)送中斷標(biāo)志位 在方式0時(shí),串行發(fā)送第 8 位數(shù)據(jù)結(jié)束時(shí)由硬件置 1 ,在其它工作方式,串行口發(fā)送停止位的開始時(shí)置1。TI=1 ,表示一幀數(shù)據(jù)發(fā)送結(jié)束,可供軟件查詢,也可申請(qǐng)中斷。 CPU 響應(yīng)中斷后,在中斷服務(wù)程序中向 SBUF 寫入要發(fā)送的下一幀數(shù)據(jù)。 TI 必須由軟件清 0 。10(5) RB8:接收到的第 9 位數(shù)據(jù)(6) TI:發(fā)送中斷(5) RI:接收中斷標(biāo)志位 串行口工作在方式0時(shí),接收完第8位數(shù)據(jù)時(shí), RI由硬件置1。在其它工作方式中,串行口接收到停止位時(shí),該位置1。 RI=1 ,表示一幀數(shù)據(jù)接收完畢,并申請(qǐng)中斷,要求CPU從接收SBUF取走數(shù)據(jù)。該位的狀態(tài)也可供軟件查詢。
7、RI必須由軟件清 0 。 SCON的所有位都可進(jìn)行位操作清0或置1。11(5) RI:接收中斷標(biāo)志位11SMOD:波特率選擇位。例如:方式 1 的波特率的計(jì)算公式為: 當(dāng)SMOD=1時(shí),要比SOMD=0時(shí)的波特率加倍,所以也稱SMOD位為波特率倍增位。7.1.2 特殊功能寄存器PCON PCON字節(jié)地址為87H,沒有位尋址功能。12SMOD:波特率選擇位。 當(dāng)SMOD=1時(shí),要比SOM7.2.1 方式 0 串行口的工作方式0為同步移位寄存器輸入輸出方式,常用于外接移位寄存器,以擴(kuò)展并行I/0 口。這種方式不適用于兩個(gè)MCS-51之間的串行通信。 以8位數(shù)據(jù)為1幀,不設(shè)起始位和停止位,先發(fā)送或接
8、收最低位。波特率固定為fosc/12 。7.2 串行口的 4 種工作方式137.2.1 方式 0 以8位數(shù)據(jù)為1幀,不設(shè)起始位和停1.方式0發(fā)送 當(dāng)CPU執(zhí)行1條將數(shù)據(jù)寫入SBUF的指令時(shí),產(chǎn)生1個(gè)正脈沖,串行口開始即把SBUF中的8位數(shù)據(jù)以fosc12的固定波特率從RXD引腳串行輸出,低位在先,TXD引腳輸出同步移位脈沖,發(fā)送完8位數(shù)據(jù)置1中斷標(biāo)志位TI。141.方式0發(fā)送141.方式0接收 接收時(shí),REN為串行口允許接收控制位,REN=0 ,禁止接收;REN=1 ,允許接收。 當(dāng)CPU向串行口的SCON寄存器寫入控制字(方式0,并置1REN位,同時(shí)RI=0)時(shí),產(chǎn)生1個(gè)正脈沖,串行口即開始
9、接收數(shù)據(jù)。引腳RXD為數(shù)據(jù)輸入端,TXD為移位脈沖信號(hào)輸出端,接收器也以fosc/12的固定波特率采樣RXD引腳的數(shù)據(jù)信息,當(dāng)接收器接收到8位數(shù)據(jù)時(shí)置1中斷標(biāo)志RI,表示1幀數(shù)據(jù)接收完畢,可進(jìn)行下一幀數(shù)據(jù)的接收。151.方式0接收15 上面介紹了方式0的發(fā)送和接收。在方式0下, SCON 中的 TB8 、 RB8 位沒有用到,發(fā)送或接收完 8 位數(shù)據(jù)由硬件置 ITI 或 RI 中斷標(biāo)志位, CPU 響應(yīng) TI 或 RI 中斷。 TI或 RI標(biāo)志位必須由用戶軟件清 0 ,可采用如下指令: CLR TI; TI 位清 0 CLR Rl ; RI位清 0 清0 TI 或 RI。方式0時(shí), SM2位(
10、多機(jī)通信控制位)必須為 0 。16 上面介紹了方式0的發(fā)送和接收。在方式0下, SCON7.2.2 方式1 SM0、SM1兩位為 01 時(shí),串行口以方式1工作。方式1真正用于數(shù)據(jù)的串行發(fā)送和接收。 TXD 引腳和 RXD 引腳分別用于發(fā)送和接收數(shù)據(jù)。方式 1 收發(fā)1幀的數(shù)據(jù)為10位,1個(gè)起始位(0), 8個(gè)數(shù)據(jù)位,1 個(gè)停止位(1) ,先發(fā)送或接收最低位。 方式1串行口為波特率可變的8位異步通信接口。方式1的波特率由下式確定:177.2.2 方式1 方式1串行口為波特率可變的8位異步通1.方式1發(fā)送 方式1輸出時(shí),數(shù)據(jù)位由TXD端輸出,發(fā)送1幀信息為10位,1位起始位0, 8位數(shù)據(jù)位(先低位)
11、和1位停止位1 ,當(dāng)CPU執(zhí)行1條數(shù)據(jù)寫發(fā)送緩沖器SBUF的指令,就啟動(dòng)發(fā)送。 TX時(shí)鐘的頻率就是發(fā)送的波特率。發(fā)送開始時(shí),內(nèi)部發(fā)送控制信號(hào) 變?yōu)橛行?,將起始位向TXD輸出,每經(jīng)過1個(gè)TX時(shí)鐘周期,便產(chǎn)生1個(gè)移位脈沖,并由TXD輸出1個(gè)數(shù)據(jù)位。8位數(shù)據(jù)位全部發(fā)送完畢后,置1中斷標(biāo)志位TI,然后 失效。181.方式1發(fā)送 TX時(shí)鐘的頻率就是發(fā)送的波特率。發(fā)送開1.方式1接收 以方式1接收(REN=1,SM0,SM1=01) 時(shí),數(shù)據(jù)從RXD(P3.0)引腳輸入。當(dāng)檢測到負(fù)跳變的起始位時(shí),則開始接收。接收時(shí),定時(shí)控制信號(hào)有2種,一種是接收移位時(shí)鐘(RX時(shí)鐘),它的頻率和傳送的波特率相同。191.方
12、式1接收19 另一種是位檢測器采樣脈沖,頻率是RX時(shí)鐘的16倍,以波特率的16倍的速率采樣RXD引腳狀態(tài),當(dāng)采樣到RXD端從1到0的跳變時(shí)就啟動(dòng)檢測器,接收的值是3次連續(xù)采樣(第7、8、9次)取其中2次相同的值,以確認(rèn)是否是真正的起始位的開始,這樣能較好地消除干擾引起的影響,以保證可靠無誤的開始接收數(shù)據(jù)。 當(dāng)確認(rèn)起始位有效時(shí),開始接收1幀信息。接收每一位數(shù)據(jù)時(shí),也都進(jìn)行3次連續(xù)采樣(第 7 、 8 、 9 個(gè)脈沖時(shí)采樣),接收的值是3次采樣中至少2次相同的值,以保證接收到的數(shù)據(jù)位的準(zhǔn)確性。20 另一種是位檢測器采樣脈沖,頻率是RX時(shí)鐘的16倍,以 當(dāng)一幀數(shù)據(jù)接收完畢以后,必須同時(shí)滿足以下兩個(gè)條
13、件,這次接收才真正有效。(1) RI=0 ,即上一幀數(shù)據(jù)接收完成時(shí), RI=1發(fā)出的中斷請(qǐng)求已被響應(yīng),SBUF中的數(shù)據(jù)已被取走,說明“接收SBUF”已空。(2) SM2=0或收到的停止位=1(方式1時(shí),停止位已進(jìn)入RB8) ,則將接收到的數(shù)據(jù)裝入SBUF和RB8(RB8裝入停止位),且置1中斷標(biāo)志RI。 若這兩個(gè)條件不同時(shí)滿足,收到的數(shù)據(jù)不能裝入SBUF,這意味著該幀數(shù)據(jù)將丟失。21 當(dāng)一幀數(shù)據(jù)接收完畢以后,必須同時(shí)滿足以下兩個(gè)條件,這7.2.3 方式2 SM0、SM1兩位為10 時(shí),串行口以方式2工作。方式2和方式3時(shí),串行口被定義為9位異步通信接口。每幀數(shù)據(jù)均為11位,1位起始位0, 8位
14、數(shù)據(jù)位(先低位), 1位可程控為1或0的第9位數(shù)據(jù)和1位停止位1。227.2.3 方式2221.方式 2 發(fā)送 發(fā)送前,先根據(jù)通信協(xié)議由軟件設(shè)置TB8 (例如,雙機(jī)通信時(shí)的奇偶校驗(yàn)位或多機(jī)通信時(shí)的地址數(shù)據(jù)的標(biāo)志位)。 然后將要發(fā)送的數(shù)據(jù)寫入 SBUF ,即可啟動(dòng)發(fā)送過程。 串行口能自動(dòng)把TB8取出,并裝入到第 9 位數(shù)據(jù)位的位置,再逐一發(fā)送出去。 發(fā)送完畢,則把 TI位置 1 。231.方式 2 發(fā)送23例 7-1 方式 2 發(fā)送在雙機(jī)通信中的應(yīng)用。 下面的發(fā)送中斷服務(wù)程序,是在雙機(jī)通信中,以TB8作為奇偶校驗(yàn)位,處理方法為數(shù)據(jù)寫入SBUF之前,先將數(shù)據(jù)的奇偶校驗(yàn)位寫入 TB8(設(shè)第2組的工作
15、寄存器區(qū)的R0作為發(fā)送數(shù)據(jù)區(qū)地址指針)。 本程序采用奇偶校驗(yàn)發(fā)送。 程序如下: 24例 7-1 方式 2 發(fā)送在雙機(jī)通信中的應(yīng)用。242.方式2接收 當(dāng)SCON的SM0、SM1兩位為10,且REN=1時(shí),允許串行口以方式2接收數(shù)據(jù)。 接收時(shí),數(shù)據(jù)由RXD端輸入,接收11位信息。當(dāng)位檢測邏輯采樣到RXD引腳從1到0的負(fù)跳變,并判斷起始位有效后,便開始接收1幀信息。 在接收完第9位數(shù)據(jù)后,需滿足以下2個(gè)條件才能將接收到的數(shù)據(jù)送入SBUF接收緩沖器。(1) RI=0 ,意味著接收緩沖器為空 (2) SM2=0或接收到的第9位數(shù)據(jù)位RB8=1 當(dāng)都滿足時(shí),接收到的數(shù)據(jù)送入SBUF ,第9位數(shù)據(jù)送入RB
16、8,并置1 RI 。若不滿足這 2 個(gè)條件,接收的信息將被丟棄。252.方式2接收 在接收完第9位數(shù)據(jù)后,需滿足以下2個(gè)條例 7-2 方式 2 接收在雙機(jī)通信中的應(yīng)用。 本例與例7-1是相對(duì)應(yīng)的。若附加的第9位數(shù)據(jù)為校驗(yàn)位,在接收程序中應(yīng)作奇偶校驗(yàn)處理,可采用如下程序(設(shè)1組寄存器區(qū)的R0 為數(shù)據(jù)緩沖器指針)。 程序如下:26例 7-2 方式 2 接收在雙機(jī)通信中的應(yīng)用。267.2.4 方式3 SM0、SM1兩位為11 時(shí),串行口以方式3工作。方式2和方式3時(shí),串行口被定義為9位異步通信接口。除了波特率外,方式 3 和方式 2 相同。277.2.4 方式3277.4 波特率的制定方法 在串行通
17、信中,收發(fā)雙方發(fā)送或接收的波特率必須一致。通過軟件對(duì)MCS-51串行口可設(shè)定4種工作方式。其中方式0和方式2的波特率是固定的;方式1和方式3的波特率是可變的,由定時(shí)器T1的溢出率來確定(定時(shí)器T1的溢出率就是T1每秒溢出的次數(shù))。7.4.1 波特率的定義 串行口每秒鐘發(fā)送(或接收)的位數(shù)稱為波特率。設(shè)發(fā)送1位所需要的時(shí)間為 T ,則波特率為1/T。287.4 波特率的制定方法7.4.1 波特率的定義287.4.2 定時(shí)器T1產(chǎn)生波特率的計(jì)算 波特率和串行口的工作方式有關(guān):(1)方式0: 波特率固定為時(shí)鐘頻率fosc/12,且不受SMOD位的值的影響。(2)方式2: 波特率與 SMOD 位的值有關(guān)。若fosc=12MHz : SMOD=0, 波特率=187.5 kb/s ; SMOD=1, 波特率=375 kb / s 。297.4.2 定時(shí)器T1產(chǎn)生波特率的計(jì)算若fosc=12MHz7.4.2 定時(shí)器T1產(chǎn)生波特率的計(jì)算 波特率和串行口的工作方式有關(guān):(1)方式1或方式3 : 常用定時(shí)器T1作為波特率發(fā)生器,其關(guān)系式為, T1的溢出率和SMOD值共同決定波特率。 在實(shí)際設(shè)定波特率時(shí),T1常設(shè)置為方式 2 定時(shí)(自動(dòng)裝初值),即TL1作8位計(jì)數(shù)器,TH1存放備用初值。不僅可使操作方便,也可避免因軟件重裝初值而帶
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 8物北師期末阜陽市臨泉縣2023-2024學(xué)年八年級(jí)上學(xué)期期末考試物理試題
- 《數(shù)字影像特征匹配》課件
- 2025年呼和浩特道路貨物運(yùn)輸駕駛員考試
- 2025年樂山貨運(yùn)從業(yè)資格證模擬考試題目
- 2025年福建貨運(yùn)從業(yè)資格證年考試
- 2025年六盤水貨運(yùn)從業(yè)資格證模擬考試系統(tǒng)
- 2024年飛機(jī)液壓檢查凈化設(shè)備項(xiàng)目建議書
- 小孩麻疹的預(yù)防與治療
- 2025茶樹菇買賣服務(wù)合同
- 2025關(guān)于保管合同格式
- 緬懷偉大領(lǐng)袖,爭做時(shí)代新人征文
- (學(xué)校)基于英語學(xué)習(xí)活動(dòng)觀的初中英語教學(xué)實(shí)踐詳解(中小學(xué)教育教研講座教學(xué)培訓(xùn)課件)
- 中國風(fēng)古風(fēng)古代詩人作家人物介紹蘇東坡傳PPT模板
- (完整)消化性潰瘍PPT課件ppt
- 2022年軍隊(duì)文職《數(shù)學(xué)2+物理》真題-1
- 大學(xué)英語2(含答案)
- 高中英語 新人教版必修1全冊(cè) 課件PPT
- 遼寧省大連市2023-2024學(xué)年數(shù)學(xué)四年級(jí)第一學(xué)期期末達(dá)標(biāo)檢測模擬試題含答案
- (完整word版)A3試卷模板
- Excel預(yù)埋件重量計(jì)算表格
- 全國職業(yè)院校技能大賽(食品藥品檢驗(yàn)賽項(xiàng))備考試題庫(匯總)
評(píng)論
0/150
提交評(píng)論