單片機原理及接口技術(shù)第五章_串行口_第1頁
單片機原理及接口技術(shù)第五章_串行口_第2頁
單片機原理及接口技術(shù)第五章_串行口_第3頁
單片機原理及接口技術(shù)第五章_串行口_第4頁
單片機原理及接口技術(shù)第五章_串行口_第5頁
已閱讀5頁,還剩32頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、5.2 MCS-51串行口 5.2.1 5.2.1 串行口概述串行口概述 80518051的通訊:即單片機與外界進行信息交換。的通訊:即單片機與外界進行信息交換。 通訊方式:通訊方式: 并行通訊:并行通訊:數(shù)據(jù)的各位同時發(fā)送或接受數(shù)據(jù)的各位同時發(fā)送或接受 串行通訊:串行通訊:數(shù)據(jù)一位一位順序發(fā)送或接受數(shù)據(jù)一位一位順序發(fā)送或接受 串行口通訊方式串行口通訊方式 單工通訊:單工通訊:通訊接口只能發(fā)送或接受的單向通訊方式通訊接口只能發(fā)送或接受的單向通訊方式 半雙工通訊:半雙工通訊:通訊接口既可發(fā)送又可接受,但不能同通訊接口既可發(fā)送又可接受,但不能同 時進行時進行 全雙工通訊:全雙工通訊:通訊接口能同時

2、發(fā)送接受的通訊方式通訊接口能同時發(fā)送接受的通訊方式 異步傳送方式與同步傳送 異步通訊:異步通訊:利用起始位表示字符的開始,用停止位利用起始位表示字符的開始,用停止位 表示字符結(jié)束表示字符結(jié)束 D0D1D2D3D4D5D6D7D0 1 0 P 0 起始位數(shù)據(jù)位D0D7 校驗位 結(jié)束位 第n個字符(幀) w2. 同步通訊:在同步通訊中,每個字符 要用起始位和停止位作為字符開始和結(jié) 束的標志,占用了時間;所以在數(shù)據(jù)塊 傳遞時,為了提高速度,常去掉這些標 志,采用同步傳送。由于數(shù)據(jù)塊傳遞開 始要用同步字符來指示,同時要求由時 鐘來實現(xiàn)發(fā)送端與接收端之間的同步, 故硬件較復(fù)雜。 串行通信的數(shù)據(jù)傳送率 傳

3、送率:數(shù)據(jù)傳送速度 波特率(baud rate):異步通信中數(shù)據(jù)傳輸速率的單 位,其含義每秒傳送多少位二進制數(shù)。 例:數(shù)據(jù)傳送的速率為120個字符每秒,每個字符有1個 起始位、8個數(shù)據(jù)位和一個停止位組成,則其傳送波特率 為: 波特1200/1200/12010sbsb 每一位的傳送時間為波特率的倒數(shù): ms sb b td833. 0 1200 1 1 5.2.2 MCS-51串行口結(jié)構(gòu) 發(fā)送控制器 發(fā)送 SBUF (99H) 接受 SBUF (99H) 門 接受控制器 + 串行口中斷 串 行 控 制 寄 存 器 (98H) 輸入移位寄存器 定 時 器 T1 內(nèi)部總線 T1 R1 TXD(P3

4、.1) RXD(P3.0)8 8 8 物理空間上各自獨立的發(fā)送寄存器和接收寄 存器,有相同名字和地址空間,但不會出現(xiàn)沖 突,因為發(fā)送寄存器只讀不寫,接受寄存器只 寫不讀。 串行口控制寄存器SCON SM0SM1:串行口方式選擇位 SM2SM2:允許方式:允許方式2 2和方式和方式3 3多機通訊位多機通訊位 REN: 接收允許控制位。由軟件置位以允許接收,又由軟件清 0 來禁止接收。 TB8: 是要發(fā)送數(shù)據(jù)的第9位。在方式2或方式3中,要發(fā)送的第 9位數(shù)據(jù),根據(jù)需要由軟件置1或清0。例如,可約定作為 奇偶校驗位,或在多機通訊中作為區(qū)別地址幀或數(shù)據(jù)幀 的標志位。 RB8: 接收到的數(shù)據(jù)的第9位。在

5、方式0中不使用RB8。在方式1 中,若(SM2)=0,RB8為接收到的停止位。在方式2或 方,式3中,RB8為接收到的第9位數(shù)據(jù)。 TI: 發(fā)送中斷標志。在方式0中,第8位發(fā)送結(jié)束時,由硬件 置位。在其它方式的發(fā)送停止位前,由硬件置位。TI置位既表 示一幀信息發(fā)送結(jié)束,同時也是申請中斷,也可用軟件 查詢的方法獲得數(shù)據(jù)已發(fā)送完畢的信息,或用中斷的方 式來發(fā)送下一個數(shù)據(jù)。TI必須用軟件清0。 RI: 接收中斷標志位。在方式0,當接收完第8位數(shù)據(jù)后,由 硬件置位。在其它方式中,在接收到停止位的中間時 刻由硬件置位(例外情況見于SM2的說明)。RI置位 表示一幀數(shù)據(jù)接收完畢,可用查詢的方法獲知或者用

6、中斷的方法獲知。RI也必須用軟件清0。 特殊功能寄存器PCON:是為了在CHMOS的80C51單片機上 實現(xiàn)電源控制而附加的。其中最高位是SMOD。 5.2.3 串行口工作方式 一、方式0 方式0為移位寄存器輸入/輸出方式。可外接移位寄存器以擴 展I/O口,也可以外接同步輸入/輸出設(shè)備。8位串行數(shù)據(jù)都是從 RXD(P3.0)輸入或輸出,TXD(P3.1)用來輸出同步脈沖。 1、方式0發(fā)送 串行數(shù)據(jù)從RXD引腳輸出,TXD引腳輸出移位脈沖。CPU將 數(shù)據(jù)寫入發(fā)送寄存器時,立即啟動發(fā)送,將8位數(shù)據(jù)以fosc/12 的固定波特率從RXD輸 出,低位在前,高位在 后。發(fā)送完一幀數(shù)據(jù)后 ,發(fā)送中斷標志T

7、I由硬 件置位。 2、方式0接收 當串行口以方式0接收時,先置位允許接收控制位REN。此 時,RXD (P3.0)為串行數(shù)據(jù)輸入端,TXDP3.1仍為同步脈沖移 位輸出端。當(RI)=0和(REN)=1同時滿足時,開始接收。 當接收到第8位數(shù)據(jù)時,將數(shù)據(jù)移入接收寄存器,并由硬件 置位RI。 ? 二、方式二、方式1 方式1為波特率可變的10位異步通訊接口方式。發(fā)送或接收一 幀信息,包括1個起始位0,8個數(shù)據(jù)位和1個停止位1。 1. 方式1發(fā)送 當CPU執(zhí)行一條指令將數(shù)據(jù)寫入發(fā)送緩沖SBUF時,就啟動 發(fā)送。串行數(shù)據(jù)從TXD引腳輸出,發(fā)送完一幀數(shù)據(jù)后,就由硬 件置位TI。 2. 方式1接受 在(R

8、EN)=1時,串行口采樣RXD引腳,當采樣到1至0的跳變 時,確認是開始位0,就開始接收一幀數(shù)據(jù)。只有當(RI)=0且 停止位為1或者(SM2)=0時,停止位才進入RB8,8位數(shù)據(jù)才 能進入接收寄存器,并由硬件置位中斷標志RI;否則信息丟失。 所以在方式1接收時,應(yīng)先用軟件清零RI和SM2標志。 在串行通訊中,收發(fā)雙方的數(shù)據(jù)傳送率(波特率)要有 一定的約定。在8051串行口的四種工作方式中,方式0和2的 波特率是固定的,而方式1和3的波特率是可變的,由定時器 T1的溢出率控制。 方式方式0和方式和方式2的波特率:的波特率: 在方式0,每個及其周期發(fā)送或接受一位數(shù)據(jù),波特率的 數(shù)值固定為時鐘頻率

9、(fosc)的1/12,且不受SMOD的影響。 在方式2中,波特率由PCON中的選擇位SMOD來決定, 當SMOD=0時,波特率為1/64fosc 當SMOD=1時,波特率為1/32fosc, 方式方式1和方式和方式3的波特率:的波特率: )1( 32 2 的溢出率波特率T SMOD 其中,T1的溢出率取決于計數(shù)速率和定時器的預(yù)制值。 T1計數(shù)率取決于它工作在定時器狀態(tài)還是計數(shù)器狀態(tài),當 工作于定時器狀態(tài)時,T1計數(shù)脈沖為fosc/12;當工作于計數(shù) 器狀態(tài)時,T1計數(shù)脈沖取決于外部輸入時鐘頻率。 例5_3 應(yīng)用串行口方式0輸出,在串行口外接移位寄存 器,構(gòu)成顯示器接口.如圖所示,三片(理論上

10、可以為n片,為舉例 方便而用三片)74LS164串接成24位并行輸出移位寄存器,每 片74LS164接一個共陽極8段LED顯示器,構(gòu)成三維數(shù)據(jù)顯示, 這里P1.0作串行輸出選擇信號(只有P1.0為高時,串行同步信 號TXD才能輸出),這種顯示器稱為靜態(tài)顯示,CPU不必為顯示 服務(wù)而頻繁執(zhí)行掃描任務(wù). 設(shè)顯示緩沖區(qū)設(shè)在DISBUF開始的區(qū)域中. 解:1. 確定工作方式 (1)送方式控制字 (SCON)0000 0000B00H ; 串行口以方式0輸出 5.2.4 串行口應(yīng)用 P1.0 RXD TXD 8051 e 74LS164 3 4 g 5 f 6 10 d 11 c 12 b 13 a L

11、ED0 e 74LS164 3 4 g 5 f 6 10 d 11 c 12 b 13 a LED1 e 74LS164 3 4 g 5 f 6 10 d 11 c 12 b 13 a LED2 選通TXD同步移位時鐘 L1: MOV A, R0 ;區(qū)要顯示的數(shù) MOV SBUF,A ; 開始發(fā)送 JNB T1, $ ; 等待一幀發(fā)送完 CLR TI ; 清發(fā)送中斷標志 INC R0 ; 修改顯示緩沖區(qū)指針 DJNZ R7, L1 ; 三個LED實現(xiàn)完了否? CLR P1.0 ; 關(guān)TXD RET ; 返回 DISBUF: DB 11H, D7H, 18H, D8H 程序清單: 5.1.4 定

12、時器、計數(shù)器的初始化 2計數(shù)器初值的計算 8 16 13 2 2 2 。 13 2 查詢方式 START 設(shè)定工作方式 啟動T0定時 載入初值 TF0=0? 否 是 輸出方波 軟件TF0=0 END 4) 查詢方式: 還可以使CPU采用查詢TF0的方式處理T/C0定時溢出, 編程簡單,但效率較低。 程序中查詢采用JNB TF0,$ 指令,目的是當判到TF1 1后,必須用軟件復(fù)位TF1,為下次計數(shù)器回零溢出做好準 備,這條指令具有判TF1為1后清零的雙重功能。 例5-2 利用GATE門控位測量從INT1引腳輸入的正脈沖寬度。解: 1. 確定工作方式 (1)送方式控制字 (TMOD)1001 00

13、00B90H ; T/C1定時,方式1 ,GATE1 。 (2)計算初值 由于被測正脈沖寬度未知, 假設(shè)寬度= 65.536ms,fosc12MHz ,則: 計數(shù)個數(shù):X65536(最大) 定時初值:C65536-X65536-655360, (TH1)00H,(TL1)00H。 (3)編程方法 對P3.3(INT1)引腳輸入的脈沖采用查詢的方法。 ) 被測脈寬 置1 TR1 TH1TL1從0開始計數(shù) 清0 TR1,停止T/C1計數(shù) 脈沖測試原理 ORG 0000H MAIN:MOV TMOD,#90H;置T1方式控制字 MOV TL1,#00H; MOV TH1,#00H;T1從0開始計數(shù)

14、JB P3.3,$;等 低電平 SETB TR1; T1允許計數(shù) JNB P3.3, $ ;等 高電平 JB P3.3, $ ;等 低電平 CLR TR1;停止計數(shù) 程序清單: 1INT 1INT 1INT 5.1.2 MCS-51定時定時/ /計數(shù)器的組成計數(shù)器的組成 T1 與定時/計數(shù)器相關(guān)的特殊功能寄存器 特殊功能寄存器 : TH0 TH1 存放計數(shù)初值的高8位 TL0 TL1 存放計數(shù)初值的低8位 TMOD (定時器工作模式寄存器) TCON (定時器控制寄存器 ) % T0和T1都是16位的可預(yù)置加1計數(shù)器 % T0和T1都是16位的可編程定時/計數(shù)器 % T0由兩個8位的寄存器TH

15、0和TL0組成 % T1由兩個8位的寄存器TH1和TL1組成 5.1.3 5.1.3 定時器定時器/ /計數(shù)器的控制方法計數(shù)器的控制方法 定時器/計數(shù)器的工作由TCON和TMOD控 制。由軟件把控制字寫入TCON和TMOD,用 來設(shè)置T0和T1的工作方式和控制功能。當 8051系統(tǒng)復(fù)位時,TCON和TMOD所有位都被 清0。 一.工作模式控制寄存器TMOD(89H) 定時器工作模式寄存器TMOD GATEC/TM10MGATE C/T1M0M 控 制 T1控 制 T0 89H 和T 類同 0 1M0M 00 01 10 11 方 式 方式0 方式1 方式2 方式3 0 1 定時器模式 計數(shù)器模

16、式 0 1 與INT 無關(guān) 0 0與INT 有關(guān) 二.定時器控制寄存器TCON(88H) TCON 位地址 0DD1D2D3D4D5D6D7 IT0IE0IT11IETR0TF0TR1TF1 88898A8B8C8D8E8F 見下一節(jié) 0 0:停T 計數(shù) 0 1:啟T 計數(shù) 0 0:無T 中斷(硬件復(fù)位) 1:有T 溢出中斷 0 0:無T 中斷(硬件復(fù)位) 1 0:停T 計數(shù) 1:有T 溢出中斷 1:啟T 計數(shù) 1 1 1 定時器工作模式寄存器TCON M1和M0 工作方式選擇位 這兩位可形成四種編碼,對應(yīng)四種工作方式: M1 M0 方式 功 能 描 述 0 0 0 為13位定時器/計數(shù)器,TL存放低5位,TH存高8位 0 1 1 為16位定時器/計數(shù)器 1 0 2 常數(shù)自動裝入8位定時器/計數(shù)器 1 1 3 僅適于T0,兩個8位定時器/計數(shù)器 三.定時器/計數(shù)器的四種工作模式 高8位和低5位的一個13位計數(shù)器的運行方式,見下圖. 當TL1的低5 位溢出時,向TH1進位,而TH1溢出(回零

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論