單片機應用技術(經典項目化案例式新形態活頁教材)第5版 課件 p191-6.2.2 設置工作方式_第1頁
單片機應用技術(經典項目化案例式新形態活頁教材)第5版 課件 p191-6.2.2 設置工作方式_第2頁
單片機應用技術(經典項目化案例式新形態活頁教材)第5版 課件 p191-6.2.2 設置工作方式_第3頁
單片機應用技術(經典項目化案例式新形態活頁教材)第5版 課件 p191-6.2.2 設置工作方式_第4頁
單片機應用技術(經典項目化案例式新形態活頁教材)第5版 課件 p191-6.2.2 設置工作方式_第5頁
已閱讀5頁,還剩19頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

6.2.2設置工作方式《單片機應用技術(C語言版)》深圳職業技術學院設置串行通信的工作方式設置波特率啟動波特率發生器123單片機串行口的初始化:SM0SM1SM2RENTB8RB8TIRI0x9F0x9E0x9D0x9C0x9B0x9A0x990x981.設置串行通信的工作方式

01000000SCON=0x40;SCONSM0SM1工作方式功能說明波特率00方式08位同步移位寄存器常用于擴展I/O口fosc/1201方式110位UART8位數據、起始位、結束位可變(取決于定時器1溢出率和SMOD)0方式211位UART8位數據、起始位、奇偶校驗位、結束位fosc/64或fosc/32(取決于SMOD)11方式311位UART8位數據、起始位、奇偶校驗位和結束位可變(取決于定時器1溢出率和SMOD)SM0SM1SM2RENTB8RB8TIRISCONSM0SM1SM2RENTB8RB8TIRISCONREN:允許串行接收位。REN=1時,允許接收,REN=0時,禁止接收。REN=1;SM0SM1SM2RENTB8RB8TIRISCONTI:發送中斷標志位方式0:發送完第8位數據時,TI由硬件置位。方式1、2、3:TI=1是發送完一幀數據的標志SBUF=send[i];//發送第i個數據while(TI==0);//查詢等待發送是否完成TI=0;

//發送完成,TI由軟件清0SM0SM1SM2RENTB8RB8TIRISCONRI:接收中斷標志位REN=1; //接收允許while(RI==0);//查詢等待接收標志為1,表示接收到數據buffer[i]=SBUF;//接收數據RI=0;

//RI由軟件清0SM0SM1SM2RENTB8RB8TIRISCON控制寄存器SCONSM0SM1SM2RENTB8RB8TIRI工作方式選擇位多機通信控制位允許串行接收位接收數據的第9位發送數據的第9位接收中斷標志位發送中斷標志位0x9F0x9E0x9D0x9C0x9B0x9A0x990x98電源及波特率選擇寄存器PCONSMODGF1GF0PDIDLPCONSMOD為波特率選擇位。SMOD=1:波特率×2SMOD=0:波特率不變

串行口工作方式1

方式1是單機通信方式,數據幀包括一位起始位,8位數據位和一位停止位,其10位幀格式如圖所示。波特率由定時器T1和SMOD位確定。

發送過程:(1)串口初始化。設置工作方式(幀格式)、設置波特率(傳輸速率)、啟動波特率發生器(T1)。

SCON=0x40;//定義串行口工作于方式1

TMOD=0x20;//定時器T1工作于方式2 TL1=0xf4;//波特率為2400bps TH1=0xf4; TR1=1; (2)發送數據。將要發送的數據送入SBUF,即可啟動發送。此時串口自動按幀格式將SBUF中的數據組裝為數據幀,并在波特率發生器的控制下將數據幀逐位發送到TXD端(最低位先發)。當發送完一幀數據后,單片機內部自動置中斷標志TI為1。

SBUF=send[i];//發送第i個數據(3)判斷一幀是否發送完畢。判斷TI是否為1,是則表示發送完畢,可以繼續發送下一幀;否則繼續判斷直至發送結束。while(TI==0);//查詢等待發送是否完成(4)清零發送標志位TI。

TI=0;接收過程:(1)串口初始化。設置工作方式(幀格式)、設置波特率(傳輸速率)、啟動波特率發生器(T1)、允許接收。SCON=0x40;//定義串行口工作于方式1TMOD=0x20;//定時器T1工作于方式2 TL1=0xf4;//波特率為2400bps TH1=0xf4; TR1=1; REN=1;//串行口允許接收數據

(2)判斷一幀是否接收完畢。數據從接收端RXD(最低位先收)一位一位接收,判斷RI是否為1,是則表示接收完畢,把數據存放在SBUF中,可以繼續接收下一幀;否則繼續判斷直至接收結束。while(RI==0);//查詢等待接收是否完成(2)數據存放。將接收到SBUF中的數據保存在數組中。

buffer[i]=SBUF;//接收第i個數據(4)清零接收標志位RI。

RI=0;

串行口工作方式2

方式2的數據幀是11位——用于多機通信格式為:一個起始位,8個數據位,一個可編程位和一個停止位,其11位幀格式如圖所示。波特率由SMOD位確定。

可編程位在SCON的TB8和RB8位中,用于奇偶校驗或多機通訊標識。可編程位可以由軟件置1或清0;發送時在TB8中,連同八位數據通過串口發出。收到數據后,數據存入接收SBUF內,可編程位存入RB8中。SM0SM1SM2RENTB8RB8TIRISCON可編程位還可用作為對接收到的數據進行校驗使用,常用校驗方法:在可編程位裝入發送數據的奇偶校驗位。

舉例:發送數據0x85(10000101B),發送數據包含二進制數1的個數為奇數,因此奇偶校驗位P=1,在發送數據0x85時,將P=1賦值到可編程位TB8,連同數據共同發出。

對方接收后,只要將實際數據的奇偶關系與RB8進行對比,即可知道收發過程是否有誤。SM0SM1SM2RENTB8RB8TIRISCON方式2波特率取決于PCON中SMOD位的值:SMOD=0時,波特率為fosc的1/64,即波特率=fosc/64;SMOD=1時,波特率為fosc的1/32,即波特率=fosc/32。波特率=(2SMOD/64)×fosc

串行口工作方式3

方式3的數據幀是11位——用于多機通信格式為:一個起始位,8個數據位,一個可編程位和一個停止位,其11位幀格式如圖所示。波特率由定時器T1和SMOD位確定。

可編程位在SCON的TB8和RB8位中,用于奇偶校驗或多機通訊標識。可編程位可以由軟件置1或清0;發送時在TB8中,連同八位數據通過串口發出。收到數據后,數據存入接收SBUF內,可編程位存入RB8中。SM0SM1SM2RENTB8RB8TIRISCON可編程位還可用作為對接收到的數據進行校驗使用,常用校驗方法:在可編程位裝入發送數據的奇偶校驗位。

舉例:發送數據0x85(10000101B),發送數據包含二進制數1的個數為奇數,因此奇偶校驗位P=1,在發送數據0x85時,將P=1賦值到可編程位TB8,連同數據共同發出。

對方接收后,只要將實際數據的奇偶關系與RB8進行對比,即可知道收發過程是否有誤。

溫馨提示

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

最新文檔

評論

0/150

提交評論