单片计算机及其应用7-9.ppt
《单片计算机及其应用7-9.ppt》由会员分享,可在线阅读,更多相关《单片计算机及其应用7-9.ppt(156页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第章章51系系统统的的串串行行接接口口本章内容本章内容Single Chip Microcomputer7-1概概概概 述述述述7-4选学内容选学内容选学内容选学内容7-2 MCS-51的串行接口的串行接口7-3 MCS-517-3 MCS-51单片机串行口的应用单片机串行口的应用单片机串行口的应用单片机串行口的应用7-1概概 述述当今社会已进入信息时代,网络成为当今科技当今社会已进入信息时代,网络成为当今科技发展的一大方向,计算机系统通过网络这一桥梁,发展的一大方向,计算机系统通过网络这一桥梁,在信息时代中发挥着越来越大的作用。在单片机的在信息时代中发挥着越来越大的作用。在单片机的应用系统
2、中,单机应用非常广泛,但在一些大型、应用系统中,单机应用非常广泛,但在一些大型、智能化系统中,必须要由多个单片机协同工作才能智能化系统中,必须要由多个单片机协同工作才能完成任务,因此,它们之间的信息传递成为了一种完成任务,因此,它们之间的信息传递成为了一种必然。在学习单片机间的通讯之前,我们有必要对必然。在学习单片机间的通讯之前,我们有必要对通信的基础知识有一些了解。通信的基础知识有一些了解。一、什么是串行通信?一、什么是串行通信?vv串行通信和并行通信串行通信和并行通信 计算机1 GND 计算机2 GND并行通信 计算机1 GND 计算机2 GND发送接收串行通信并行通信,即数据的各位并行通
3、信,即数据的各位并行通信,即数据的各位并行通信,即数据的各位同时同时同时同时传送;传送;传送;传送;串行通信,即数据串行通信,即数据串行通信,即数据串行通信,即数据一位一位一位一位一位一位一位一位顺序传送。顺序传送。顺序传送。顺序传送。二、串行通信的分类二、串行通信的分类vv异步异步异步异步(Asynchronous Communication)(Asynchronous Communication)v异步是指收发双方时钟异步,即收方和发方的时钟异步是指收发双方时钟异步,即收方和发方的时钟各自独立,由起始位和结束位来实现收、发同步。各自独立,由起始位和结束位来实现收、发同步。允许允许5%的误差
4、。的误差。(1 1 1 1)帧结构)帧结构)帧结构)帧结构 帧为收发双方传数据的基本单位帧为收发双方传数据的基本单位其结构如图所示。由一个起始位其结构如图所示。由一个起始位“0”,58位数据位数据(低位在前),再后为奇偶校验位和一个停止位(低位在前),再后为奇偶校验位和一个停止位“1”构成。构成。异步异步(Asynchronous Communication)(2)特点)特点v利用起始位和结束位来实现收发同步利用起始位和结束位来实现收发同步v帧间间隔随机帧间间隔随机v位间隔固定位间隔固定v每帧数据最多一个字节每帧数据最多一个字节(3)错误检验方法:)错误检验方法:奇偶校验奇偶校验串行通信的分类
5、串行通信的分类vv同步同步同步同步(Synchronous Communication)(Synchronous Communication)v同步传送方式是一种同步传送方式是一种连续传送连续传送连续传送连续传送方式,适合于大量数据的高速方式,适合于大量数据的高速传送。收发双方的时钟实现同步。传送。收发双方的时钟实现同步。(1 1)帧结构)帧结构)帧结构)帧结构(2 2)特点)特点)特点)特点v利用同步字符或同步时钟实现收、发同步利用同步字符或同步时钟实现收、发同步v每帧数据为一数据块,故传送速率较异步快每帧数据为一数据块,故传送速率较异步快v同步时钟要求较严格同步时钟要求较严格(3 3)校验
6、方法:)校验方法:)校验方法:)校验方法:CRC 循环冗余校验循环冗余校验三、波特率(三、波特率(Baud rateBaud rate)vv波特率波特率波特率波特率是指串行通讯中数据传送的速率,即每秒种是指串行通讯中数据传送的速率,即每秒种传送的数据传送的二进制位数。它指的是位与位之传送的数据传送的二进制位数。它指的是位与位之间的时间间隔。其单位为比特间的时间间隔。其单位为比特/秒,秒,bpsv在异步通讯中,收发双方是通过设定相同的波特率、在异步通讯中,收发双方是通过设定相同的波特率、依靠起始位和结束位来实现数据的准确传送。依靠起始位和结束位来实现数据的准确传送。例:例:例:例:设每秒传送设每
7、秒传送120个字符,其帧结构为个字符,其帧结构为1个起始位,个起始位,7个数据位,个数据位,1位校验位和位校验位和1位结束位,其波特率为:位结束位,其波特率为:120字符字符/秒秒*10位位/字符字符=1200bps四、串行通信制式四、串行通信制式vv 单工单工(simplex)vv 半双工半双工(half duplex)vv 全双工全双工(full duplex)串行通信制式串行通信制式数据只能单数据只能单向流动向流动数据虽能双向通讯,数据虽能双向通讯,但任一时刻仅能单向但任一时刻仅能单向传送。传送。数据双向通讯,收、数据双向通讯,收、发各用一根信号线,发各用一根信号线,可完全独立工作。可完
8、全独立工作。7-2 7-2 MCS-51的串行接口的串行接口vv概述概述有一个可编程全双工串行通信接口(有一个可编程全双工串行通信接口(有一个可编程全双工串行通信接口(有一个可编程全双工串行通信接口(UART)UART)UART)UART)(Universal Asychronous Receiver/Transmitter(Universal Asychronous Receiver/Transmitter(Universal Asychronous Receiver/Transmitter(Universal Asychronous Receiver/Transmitter )可同时发送、
9、接收数据可同时发送、接收数据可同时发送、接收数据可同时发送、接收数据(Transmit/Receive)Transmit/Receive)有四种工作方式,帧格式有有四种工作方式,帧格式有有四种工作方式,帧格式有有四种工作方式,帧格式有8 8 8 8、10101010、11111111位。位。位。位。波特率波特率波特率波特率(Baud rate)(Baud rate)(Baud rate)(Baud rate)可设置可设置可设置可设置 波特率为每秒钟传送二进制数码的位数,也叫比特数,单位为b/s,即位/秒(bps)。一、串行口的构成一、串行口的构成串行口内部组成示意图串行口内部组成示意图如图所如
10、图所示,结构较为复杂,我们在使示,结构较为复杂,我们在使用时可将其抽象为三个可供软用时可将其抽象为三个可供软件直接访问的的特殊功能寄存件直接访问的的特殊功能寄存器:器:PCON、SCON和和SBUF。通过对它们的读写操作即可完通过对它们的读写操作即可完全控制串行口。全控制串行口。MCS-51串行接口寄存器SBUFSBUF串行口数据缓冲器串行口数据缓冲器串行口数据缓冲器串行口数据缓冲器vv共两个:一个发送寄存器共两个:一个发送寄存器共两个:一个发送寄存器共两个:一个发送寄存器SBUFSBUF,一个接收,一个接收,一个接收,一个接收SBUFSBUF,二者,二者,二者,二者共用一个地址共用一个地址共
11、用一个地址共用一个地址99H99H。它在物理上对应两个寄存器,发送它在物理上对应两个寄存器,发送它在物理上对应两个寄存器,发送它在物理上对应两个寄存器,发送寄存器和接收寄存器,由于它们并不在同一时刻使用,寄存器和接收寄存器,由于它们并不在同一时刻使用,寄存器和接收寄存器,由于它们并不在同一时刻使用,寄存器和接收寄存器,由于它们并不在同一时刻使用,因此两个寄存器共用一个地址并不会发生冲突,通过指因此两个寄存器共用一个地址并不会发生冲突,通过指因此两个寄存器共用一个地址并不会发生冲突,通过指因此两个寄存器共用一个地址并不会发生冲突,通过指令来区别是发送还是接收。其中,接收寄存器采用双缓令来区别是发
12、送还是接收。其中,接收寄存器采用双缓令来区别是发送还是接收。其中,接收寄存器采用双缓令来区别是发送还是接收。其中,接收寄存器采用双缓冲而发送寄存器采用单缓冲。冲而发送寄存器采用单缓冲。冲而发送寄存器采用单缓冲。冲而发送寄存器采用单缓冲。SCONSCON串行口控制寄存器。串行口控制寄存器。串行口控制寄存器。串行口控制寄存器。它用来定义串行口它用来定义串行口它用来定义串行口它用来定义串行口的工作方式及监视串行口的工作状态。的工作方式及监视串行口的工作状态。的工作方式及监视串行口的工作状态。的工作方式及监视串行口的工作状态。PCONPCON电源及波特率选择寄存器,电源及波特率选择寄存器,电源及波特率
13、选择寄存器,电源及波特率选择寄存器,PCON.7为为SMOD,波特率加倍位,当,波特率加倍位,当SMOD=1时,波特率为时,波特率为SMOD=0时的两倍。时的两倍。PCON不能进行位寻址,可用不能进行位寻址,可用ANLPCON,#7FH或或ORL PCON,#80H来对其来对其清零或置清零或置“1”。只有该位有用,为只有该位有用,为只有该位有用,为只有该位有用,为1 1时,波特率时,波特率时,波特率时,波特率22;为;为;为;为0 0时不变。时不变。时不变。时不变。电源及波特率选择寄存器电源及波特率选择寄存器PCONPCONSMOD GF1 GF0PDIDL87H串行口控制寄存器串行口控制寄存
14、器SCONSCONSM0SM1SM2RENTB8RB8TIRI工作方式选择多机通信控制位允许串行接收位REN=1时,允许接收;REN=0时,禁止接收。接收数据的第9位方式2、3中第九位,多机通讯中可用来表示是地址帧还是数据帧接收中断标志,由硬件置“1”,而由软件清零发送中断标志9FH9EH9DH9CH9BH9AH99H98HSM0SM1工作方式工作方式功能功能波特率波特率00方式方式08位同步移位寄存器位同步移位寄存器fosc/1201方式方式110位位UART可变可变10方式方式211位位UARTfosc/64或或fosc/3211方式方式311位位UART可变可变串行方式的定义例:设串行口
15、工作在方式例:设串行口工作在方式例:设串行口工作在方式例:设串行口工作在方式1 1 1 1,允许接收,则指令为:,允许接收,则指令为:,允许接收,则指令为:,允许接收,则指令为:MOV SCON,#01010000BMOV SCON,#01010000BMOV SCON,#01010000BMOV SCON,#01010000B串行口的四种工作方式串行口的四种工作方式vv方式的选择由方式的选择由方式的选择由方式的选择由SM1SM1、SM0SM0实现。实现。实现。实现。vv四种方式的比较:四种方式的比较:四种方式的比较:四种方式的比较:工作方式功能说明波特率方式08位同步移位寄存器常用于扩展I/
16、O口fosc/12方式110位UART8位数据、起始位、结束位可变(取决于定时器1溢出率)方式211位UART8位数据、起始位0、结束位1和奇偶校验位fosc/64或fosc/32方式311位UART8位数据、起始位、结束位可变(取决于定时器1溢出率)1、方式、方式0v在此种方式下,串行口工作在在此种方式下,串行口工作在移位寄存器移位寄存器移位寄存器移位寄存器方式,其方式,其波特率为波特率为fOSC/12fOSC/12,数据从,数据从RXD(P3.0)端移出,)端移出,同步移位脉冲由同步移位脉冲由TXD(P3.1)输出。发送、接收的)输出。发送、接收的数据为低位在前。数据为低位在前。vv(1
17、1)发送。)发送。)发送。)发送。执行执行MOV SBUF,A后,数据和同步后,数据和同步时钟从串行口发出,发送结束后,必须由软件对时钟从串行口发出,发送结束后,必须由软件对TI清零。即:清零。即:JNB TI,$CLR TI其其时序如图时序如图所示:所示:(2)接)接 收收 REN=1且且RI=0时,启动一个接收过程。时,启动一个接收过程。数据从串行口输入,接收完毕后,数据从串行口输入,接收完毕后,RI=1,执,执行行MOV A,SBUF后,数据进入后,数据进入CPU,要进,要进行下一次接收,必须用软件对行下一次接收,必须用软件对RI清零,清零,SETBREN;MOV SCON,#10HJN
18、B RI,$MOV A,SBUF其接收时序其接收时序如下图如下图所示:所示:2 2、方式、方式1 1v串行口工作在串行口工作在8 8位异步通讯接口位异步通讯接口方式。其一帧方式。其一帧信息为信息为1010位,其中,位,其中,8 8位数据位,一位起始位位数据位,一位起始位(0 0)和一位停止位()和一位停止位(1 1)。)。TXDTXD端为发送端端为发送端而而RXDRXD为接收端为接收端,波特率可变。,波特率可变。TXDRXDMCU(1)、方式方式1-1-发送发送v执行MOV SBUF,A后,数据从TXD输出,发送完一帧信息后,置TI=1,再次发送前,须对TI清零。其时序图如下图所示:(2)方式
19、方式1-1-接收接收v由于方式由于方式1发送时不传送同步时钟,因而接收端在接收数据发送时不传送同步时钟,因而接收端在接收数据是通过采样来实现的。其采样频率为波特率的是通过采样来实现的。其采样频率为波特率的16倍,利用三倍,利用三中取二原则来确认接收数据。中取二原则来确认接收数据。v 接收过程在接收过程在REN置置1的前提下,从搜索到起始位开始。直到的前提下,从搜索到起始位开始。直到9位接收完毕(含位接收完毕(含1位停止位)。位停止位)。v在在9位接收完毕后,只有:位接收完毕后,只有:RI=0、SM2=0或接收到的停止位或接收到的停止位为为1,才将,才将8位数据送入位数据送入SBUF,停止位送,
20、停止位送RB8,并置,并置RI=1。3 3、方式、方式2 2和方式和方式3 3v方式方式2和方式和方式3为为9位异步通讯口,一帧信息由位异步通讯口,一帧信息由11位组成,即起始位(位组成,即起始位(0)、)、8位数据位、位数据位、1位位可编程位和可编程位和1位停止位。方式位停止位。方式2和方式和方式3的区别的区别仅在于波特率不同仅在于波特率不同方式方式2波特率波特率=2SMOD64*fOSC方式方式3波特率波特率=2SMOD32*(定时器(定时器T1的溢出率)的溢出率)(1 1 1 1)发送)发送)发送)发送发送前,可以用任何位操作指令将第发送前,可以用任何位操作指令将第9位数据装入位数据装入
21、TB8中,然后执行中,然后执行MOVSBUF,A。串行口会自动将。串行口会自动将TB8作为第作为第9位数据发出,发送完毕,位数据发出,发送完毕,TI=1。(2 2 2 2)接收)接收)接收)接收其方法与方式其方法与方式1类似类似说说 明明由于方式由于方式1、2和和3并不传送同步时钟,因并不传送同步时钟,因此,必须保证发送方和接收方应工作在相同此,必须保证发送方和接收方应工作在相同的波特率下,才能保证数据的准确传送。的波特率下,才能保证数据的准确传送。7-3 MCS-517-3 MCS-51单片机串行口的应用单片机串行口的应用一、一、MCS-51单片机的串行通讯的波特率单片机的串行通讯的波特率串
22、行口的传送速率即波特率由串行口的传送速率即波特率由fosc、PCON、SMOD及定时器及定时器Ti的设定。的设定。串行口的四种工作方式对应于三种波串行口的四种工作方式对应于三种波特率:特率:1 1、方式、方式、方式、方式0:0:其波特率固定为其波特率固定为fosc/122 2、方式、方式、方式、方式2:2:有两种波特率可供选择有两种波特率可供选择方式方式2波特率波特率=2SMOD64*fOSC3 3、方式、方式、方式、方式1 1和方式和方式和方式和方式3 3波特率波特率=2SMOD32*(定时器(定时器T1的溢出率)的溢出率)定时器定时器T1的溢出率的溢出率=fOSC122K-初值初值1*其中
23、,其中,K是定时器的位数,取决于定时器的工作方式。为是定时器的位数,取决于定时器的工作方式。为保证高精度,尽可能选择方式保证高精度,尽可能选择方式2自动装入方式。自动装入方式。定时器T1产生的常用波特率二、串行口方式二、串行口方式0 0用作扩展并行用作扩展并行I/OI/O口口用串行口扩展用串行口扩展I/O口具有电路简单易行,成本低口具有电路简单易行,成本低等优点,因而被经常使用。等优点,因而被经常使用。1 1 1 1、用方式、用方式、用方式、用方式0 0 0 0扩展并行输出口扩展并行输出口扩展并行输出口扩展并行输出口74LS164为为TTL型型,而而CD4094为为CMOS型串行移型串行移位寄
24、存器位寄存器在串行口外接一个串入并出的移位寄存器,即在串行口外接一个串入并出的移位寄存器,即可扩展一个并行可扩展一个并行I/O口。口。例例例例7-4-1 7-4-1 7-4-1 7-4-1 用用用用8051805180518051串行口外接串行口外接串行口外接串行口外接74LS16474LS16474LS16474LS164扩展扩展扩展扩展8 8 8 8位并行输出口。位并行输出口。位并行输出口。位并行输出口。74LS16474LS164为为为为一串入并出移位寄存器,其一串入并出移位寄存器,其A、B为串为串行输入端,行输入端,CLK为移位时钟,为移位时钟,MR为清零端。串行口为清零端。串行口工作
25、在方式工作在方式0,移位寄存器方式,也可将清零端直接连,移位寄存器方式,也可将清零端直接连到到VCC端。端。8051RXDTXDP1.0VCC发光二极管的显示延时采用延时子程序发光二极管的显示延时采用延时子程序DELAY来实现。来实现。SM0SM1SM2RENTB8RB8TIRI9FH9EH9DH9CH9BH9AH99H98H程序清单:程序清单:程序清单:程序清单:ORG2000HUART:MOV SCON,#00HMOV A,#80HCLRP1.0;移位寄存器清零移位寄存器清零LCALLDELAYSETB P1.0STA:MOV SBUF,AJNBTI,$CLRTIRRASJMP STA串行
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片 计算机 及其 应用
限制150内