串行口通信技术课件_第1页
串行口通信技术课件_第2页
串行口通信技术课件_第3页
串行口通信技术课件_第4页
串行口通信技术课件_第5页
已阅读5页,还剩21页未读, 继续免费阅读

下载本文档

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

文档简介

基本概念

RS-232介面MCS-51的串行介面單片機與單片機之間的通信編成練習

串行口通信技術本章內容SingleChipMicrocomputer1.實訓目的(1)復習掌握定時器的功能和編程使用。(2)理解串行通信與並行通信的兩種方式。(3)掌握串行通信的重要指標:字元幀和串列傳輸速率。(4)初步瞭解MCS-51單片機串行口的使用方法。實訓8單片機之間的雙機通信2.實訓引入

單片機間經常需要互相傳遞資訊--通信.3.實訓程式甲機發送程式參考如下:

MOVTMOD,#20H MOVTL1,#0F4H MOVTH1,#0F4H SETBTR1 MOVSCON,#40H MOVR0,#20H MOVR7,#08HSTART:MOVA,@R0 MOVSBUF,AWAIT:JBCTI,CONT AJMPWAITCONT:INCR0 DJNZR7,START SJMP$乙機接收及顯示程式參考如下:

MOVTMOD,#20H MOVTL1,#0F4H MOVTH1,#0F4H SETBTR1 MOVSCON,#40H MOVR0,#20H MOVR7,#08H SETBRENWAIT:JBCRI,READ AJMPWAITREAD:MOVA,SBUF MOV@R0,A INCR0 DJNZR7,WAITDISP:LCALLDISPLAY SJMPDISP4.實訓分析與總結分析程式可以看出,通信雙方都有對單片機定時器的編程(注意發送、接收程式的前4條指令),而且雙方對定時器的編程完全相同。這說明,MCS-51單片機在進行串行通信時,是與定時器的工作有關的。定時器用來設定串行通信數據的傳輸速度。在串行通信中,傳輸速度是用串列傳輸速率來表徵的,有關串列傳輸速率與定時器的關係以及編程在8.3.3節介紹。什麼是串行通信?串行通信和並行通信電腦1

GND電腦2

GND並行通信電腦1

GND電腦2

GND發送接收串行通信並行通信:數據的各位同時傳送;串行通信:數據一位一位順序傳送。串行通信的分類:非同步(AsynchronousCommunication)同步(SynchronousCommunication)

串行通信制式:單工(a)、半雙工(b)和全雙工(c)(simplexhalfduplexfullduplex)發送器A站接收器B站單工通信(a)發收A站發收B站發收A站發收B站(b)(c)MCS-51的串行介面概述有一個可編程全雙工串行通信介面(UART)(UniversalAsychronousReceiver/Transmitter

)管腳:TXD(P3.1)、RXD(P3.0)可同時發送、接收數據(Transmit/Receive)有四種工作方式,幀格式有8、10、11位。串列傳輸速率(Baudrate)可設置

串列傳輸速率:每秒鐘傳送二進位數碼的位數,也叫比特數,單位為b/s,即位/秒。MCS-51串行介面的結構MCS-51串行介面寄存器SBUF——串行口數據緩衝器共兩個:一個發送寄存器SBUF,一個接收SBUF,二者共用一個地址99H。SCON——串行口控制寄存器PCON——電源及串列傳輸速率選擇寄存器控制寄存器SCONSM0SM1SM2RENTB8RB8TIRI工作方式選擇多機通信控制位允許串行接收位接收數據的第9位發送數據的第9位接收中斷標誌發送中斷標誌9FH9EH9DH9CH9BH9AH99H98HSM0SM1工作方式功能串列傳輸速率00方式08位同步移位寄存器fosc/1201方式110位UART可變10方式211位UARTfosc/64或fosc/3211方式311位UART可變串行方式的定義例:設串行口工作在方式1,允許接收,則指令為:

MOVSCON,#01010000B串行通信只用該位,為1時,串列傳輸速率×2;為0時不變。電源及串列傳輸速率選擇寄存器PCONSMOD×××GF1GF0PDIDL87H串行口四種工作方式應用比較方式的選擇由SM1、SM0實現。工作方式功能說明串列傳輸速率方式08位同步移位寄存器常用於擴展I/O口fosc/12方式110位UART8位數據、起始位、結束位可變(取決於定時器1溢出率)方式211位UART8位數據、起始位0、結束位1和奇偶校驗位fosc/64或fosc/32方式311位UART數據、起始、校驗、結束位可變(取決於定時器1溢出率)串列傳輸速率的設定可參見表8.2,實際無需計算。方式0在方式0下,串行口作同步移位寄存器用,其串列傳輸速率固定為fosc/12。串行數據從RXD(P3.0)端輸入或輸出,同步移位脈衝由TXD(P3.1)送出。這種方式常用於擴展I/O口。方式0用於擴展I/O口輸出方式0用於擴展I/O口輸入方式110位的幀格式串行口為串列傳輸速率可調的10位通用非同步介面UART。每發送或接收的一幀資訊中,包括1位起始位0,8位數據位和1位停止位1。方式2串行口為11位UART,傳送串列傳輸速率與SMOD有關。發送或接收的一幀數據中包括1位起始位0,8位數據位,1位可編程位(用於奇偶校驗)和1位停止位1。11位的幀格式方式3方式3為串列傳輸速率可變的11位UART通信方式,除了串列傳輸速率以外,方式3和方式2完全相同。MCS-51串行口的串列傳輸速率1.方式0和方式2的串列傳輸速率是固定的在方式2中,串列傳輸速率取決於PCON中的SMOD值:當SMOD=0時,串列傳輸速率為fosc/64;當SMOD=1時,串列傳輸速率為fosc/32.即串列傳輸速率=。oscSMODf642在方式0中,串列傳輸速率為時鐘頻率的1/12,即fosc/12,固定不變2.方式1和方式3的串列傳輸速率可變,由定時器1的溢出率決定串列傳輸速率/(b/s)fosc/MHzSMOD定時器1C/模式初始值方式0:1M方式2:375k方式1、3:62.5k19.2k9.6k4.8k2.4k1.2k137.5k11011012121211.05911.05911.05911.05911.05911.986612×1110000000××000000000××222222221××FFHFDHFDHFAHF4HE8H1DH72HFEEBHT串列傳輸速率=單片機之間的通信雙機非同步通信介面電路RS-422A雙機非同步通信介面電路雙機通信軟體編程查詢方式1)甲機發送編程將甲機片外1000H~101FH單元的數據塊從串行口輸出。定義方式2發送,TB8為奇偶校驗位。發送串列傳輸速率375kb/s,晶振為12MHz,SMOD=1。參考發送副程式如下:

MOV SCON,#80H;設置串行口為方式2

MOV PCON,#80H;SMOD=1 MOV DPTR,#1000H;設數據塊指針

MOV R7,#20H;設數據塊長度START:MOVXA,@DPTR;取數據給A MOV C,P MOV TB8,C;奇偶位P送給TB8MOV SBUF,A;數據送SBUF,啟動發送WAIT:JBCTI,CONT;判斷一幀是否發送完。若送完,清TI,取下一個數據

AJMPWAIT;未完等待

CONT:INCDPTR;更新數據單元

DJNZR7,START;迴圈發送至結束

RET2)乙機接收編程使乙機接收甲機發送過來的數據塊,並存入片內50H~6FH單元。接收過程要求判斷RB8,若出錯置F0標誌為1,正確則置F0標誌為0,然後返回。在進行雙機通信時,兩機應採用相同的工作方式和串列傳輸速率。參考接收副程式如下:

MOVSCON,#80H ;設置串行口為方式2

MOVPCON,#80H ;SMOD=1

MOVR0,#50H ;設置數據塊指針

MOVR7,#20H ;設置數據塊長度

SETBREN ;啟動接收

WAIT:JBCRI,READ;判斷是否接收完一幀。若完,清RI,讀入數據

AJMPWAIT;未完等待

READ:MOVA,SBUF;讀入一幀數據a

JNBPSW.0,PZ;奇偶位為0則轉

JNBRB8,ERR;P=1,RB8=0,則出錯

SJMPRIGHT;二者全為1,則正確

PZ:JBRB8,ERR;P=0,RB8=1,則出錯

RIGHT:MOV@R0,A ;正確,存放數據

INCR0 ;更新地址指針

DJNZR7,WAIT

温馨提示

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

评论

0/150

提交评论