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

下載本文檔

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

文檔簡介

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

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

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

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

串行口工作方式1

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

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

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

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

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

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

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

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

RI=0;

串行口工作方式2

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

可編程位在SCON的TB8和RB8位中,用于奇偶校驗或多機通訊標識??删幊涛豢梢杂绍浖?或清0;發(fā)送時在TB8中,連同八位數(shù)據(jù)通過串口發(fā)出。收到數(shù)據(jù)后,數(shù)據(jù)存入接收SBUF內(nèi),可編程位存入RB8中。SM0SM1SM2RENTB8RB8TIRISCON可編程位還可用作為對接收到的數(shù)據(jù)進行校驗使用,常用校驗方法:在可編程位裝入發(fā)送數(shù)據(jù)的奇偶校驗位。

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

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

串行口工作方式3

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

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

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

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

溫馨提示

  • 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

提交評論