串行接口与应用课件_第1页
串行接口与应用课件_第2页
串行接口与应用课件_第3页
串行接口与应用课件_第4页
串行接口与应用课件_第5页
已阅读5页,还剩33页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

串行介面與應用7.1串行通信的基本知識

在MCS-51單片機內部,有一個通用非同步接收/發送器(UART)。這是一個全雙工串行介面,能同時進行發送和接收數據。利用這個串行介面,可以實現單片機之間的單機通信、多機通信,以及與PC機之間的通信。 7.1.1數據通信的基本概念

1、數據通信

2、通信方式 有兩種通信方式:一種是並行通信,一種是串行通信。

7.1.2串行通信方式 串行通信有三種方式:單工通信、半雙工通信和全雙工通信。

7.1.3數據同步技術1、非同步通信7.2MCS-51單片機串行口的結構與工作方式 7.2.1串行口的結構

MCS-51有一個可編程的全雙工串行通信介面,可作為通用非同步接收/發送器UART,也可作為同步移位寄存器。它的幀格式有8位、10位和11位,可以設置為固定串列傳輸速率和可變串列傳輸速率,給使用者帶來很大的靈活性。 7.2.2串行口控制寄存器SCON和電源控制寄存器PCON 1、串行口控制寄存器SCON

串行口控制寄存器SCON決定串行口通信工作方式,控制數據的接收和發送,並標示串行口的工作狀態等。其位格式為: SM0、SM1:串行口工作方式控制位,兩位對應四種工作方式,如表7-1所示(fosc是晶振頻率)。 2、電源控制寄存器PCON

電源控制寄存器PCON中只有一位SMOD與串行口工作有關,它的位格式為:

SMOD:串列傳輸速率倍增位。串行口工作在方式1、方式2、方式3時,若SMOD=1,則串列傳輸速率提高一倍;若SMOD=0,則串列傳輸速率不提高一倍。單片機複位時,SMOD=0。 7.2.3串列傳輸速率設計

1、方式0的串列傳輸速率 工作方式0時,移位脈衝由機器週期的第6個狀態週期S6給出,每個機器週期產生一個移位脈衝,發送或接收一位數據。因此,串列傳輸速率是固定的,為振盪頻率的1/12,不受PCON寄存器中SMOD的影響。用公式表示為:工作方式0的串列傳輸速率=fosc/12 2、方式2的串列傳輸速率 工作方式2時,移位脈衝由振盪頻率fosc的第二節拍P2時鐘(即fosc/2)給出,所以,方式2串列傳輸速率取決於PCON中的SMOD位的值,當SMOD=0時,串列傳輸速率為fosc的1/64;當SMOD=1時,串列傳輸速率為fosc的1/32,用公式表示為;工作方式2串列傳輸速率=(2SMOD/64)×fosc 3、工作方式1和方式3的串列傳輸速率 【例8-1】8051單片機時鐘振盪頻率為11.0592MHZ,選用定時器T1(工作在方式2)作串列傳輸速率發生器,串列傳輸速率為4800bps,求定時器T1的初值X。 解設串列傳輸速率控制位SMOD=0,則:

X=256−(11.0592×106×(0+1)/(384×4800)=250=FAH

所以,(TH1)=(TL1)=FAH

系統晶振頻率選用11.0592MHZ,是為了使初值為整數,從而產生精確的串列傳輸速率。 7.2.4串行口的四種工作方式 串行口的四種工作方式中,串行通信只使用方式1、方式2、方式3,方式0主要用於擴展並行輸入輸出口。

1、串行口工作方式07.3

主從式多機通信 7.3.1主從式多機通信原理

7.3.2多機通信協議

7.3.3串行通信實例

【例7-1】有兩臺8031單片機相距很近,直接將它們的串行口相連,1#機的TXD接2#機的RXD,2#機的TXD接1#機的RXD,二機的GND相連。二機的晶振頻率均為11.0592MHZ,通信的串列傳輸速率為4800bps。現將第一臺8031單片機片內RAM40H~5FH單元內的數據,串行發送到第二臺8031單片機片內RAM60H~7FH單元中。

發送與接收的參考程式如下:1#單片機發送程式:

ORG1000H TX:

MOVTMOD,#02H

MOVTH1,#0FAH

MOVTL1,#0FAH MOVSCON,#80H ;設定工作方式2

MOVPCON,#00H; 串列傳輸速率為fosc/64

SETBTR0

MOVR0,#40H ;設發送數據的地址指針

MOVR2,#20H ;設發送數據長度LOOP: MOVA,@R0 ;取發送數據送A

MOVC,PSW.0

MOVTB8,C ;奇偶位送TB8

MOVSBUF,A ;啟動發送WAIT: JBCTI,LL1

;判發送中斷標誌

SJMPWAIT

LL1:

INCR0

DJNZR2,LOOP

RET2#單片機接收程式:

ORG1000HRX:

MOVTMOD,#02H

MOVTH1,#0FAH

MOVTL1,#0FAH

MOVSCON,#90H ;設定工作方式2,並允許接收

MOVPCON,#00H

SETBTR0

MOVR0,#60H

MOVR2,#20H

LOOP: JBCRI,MM1 ;等待接收數據

SJMPLOOP

MM1: MOVA,SBUF ;讀入一幀數據

JBPSW.0,PP1 ;判接收端奇偶

JBRB8,ERROR ;判發送端奇偶

SJMPRIGHT

PP1:

JNBRB8,ERROR ;接收出錯RIGHT: MOV@R0,A ;接收正確

INCR0

DJNZR2,LOOP

ERROR: SETBPSW.5 ;置出錯標誌

RET

【例7-2】甲乙兩機進行串行通信,將甲機片外RAM中1000H單元開始的32個數據發送到乙機的片外RAM1000H開始的單元中。二機的晶振頻率均為11.0592MHZ,通信的串列傳輸速率為1200bps。 設甲、乙機串行口均工作在方式1,根據發送和接收的串列傳輸速率,設置定時器T1工作在方式2,當SMOD=0,則計數初值為E8H。甲機發送副程式流程圖如圖7-7(a)所示,乙機接收副程式流程圖如圖7-7(b)所示。

參考程式如下:

(1)甲機發送副程式:ORG1000HTTTT: MOVTMOD,#20H MOVTH1,#0E8H MOVTL1,#0E8H SETBTR1 MOVSCON,#50H MOV87H,#00HENTER: MOVDPH,#10H MOVDPL,#00H MOVR4,#20H MOVR5,#00HTX1:

MOVA,#04H

MOVSBUF,AWAIT1: JBCTI,RX1

SJMPWAIT1RX1:

JBCRI,NEXT1

SJMPRX1NEXT1: MOVA,SBUF

CJNEA,#00H,TX1TX2:

MOVA,R4

MOVSBUF,A

ADDA,R5

MOVR5,AWAIT2: JBCTI,TX3

SJMPWAIT2TX3

: MOVXA,@DPTR

MOVSBUF,A

ADDA,R5

MOVR5,A

INCDPTRWAIT3: JBCTI,NEXT2

SJMPWAIT3NEXT2: DJNZR4,TX3

MOVA,R5

MOVSBUF,AWAIT4: JBCTI,RX_11H

SJMPWAIT4RX_11H: JBCRI,IF_11H

SJMPRX_11HIF_11H: MOVA,SBUF

CJNEA,#11H,ENTER RET(2)乙機接收副程式:

ORG1000HRRRR:

MOVTMOD,#20H

MOVTH1,#0E8H

MOVTL1,#0E8H

SETBTR1

MOVSCON,#50H

MOV87H,#00HENTER: MOVDPH,#10H

MOVDPL,#00H

MOVR5,#00HRX1:

JBCRI,IF_04H

SJMPRX1IF_04H: MOVA,SBUF

CJNEA,#04H,TX_FFH

MOVA,#00H

MOVSBUF,AWAIT1: JBCTI,RX2

SJMPWAIT1

LJMPRX2TX_FFH: MOVA,#0FFH

MOVSBUF,AWAIT2: JBCTI,LL1

SJMPWAIT2LL1:

LJMPENTERRX2:

JBCRI,LL2

SJMPRX2LL2:

MOVA,SBUF

MOVR4,A

MOVR5,ARX3:

JBCRI,LL3

SJMPRX3LL3:

MOVA,SBUF

MOVX@DPTR,A

INCDPTR

ADDA,R5

MOVR5,A

DJNZR4,RX3RX4:

JBCRI,LL4

SJMPRX4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论