预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共25页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第八章8051单片机的异步串行通信技术第一节概述计算机与外界的信息互换称为通信。常用通信方式有两种:并行通信与串行通信,简称并行传送和串行传送。并行传送具有传送速度快,效率高等优点,但传送多少数据位就需要多少根数据线,传送成本高;串行传送是按位顺序进行数据传送,最少仅需要一根传输线即可完毕,传送距离远,但传送速度慢。串行通信又分同步和异步两种方式。同步通信中,在数据传送开始时先用同步字符来指示(常约定1—2个),并由同时传送的时钟信号来实现发送端和接受端同步,即检测到规定的同步字符后,接着就连续按顺序传送数据。这种传送方式对硬件结构规定较高。在单片机异步通信中,数据分为一帧一帧地传送,即异步串行通信一次传送一个完整字符,字符格式如图8—1所示:图8—1异步串行通信的字符格式一个字符应涉及以下信息:1.起始位:相应逻辑0(space)状态。发送器通过发送起始位开始一帧字符的传送。2.数据位:起始位之后传送数据位。数据位中低位在前,高位在后。数据位可以是5、6、7、8位。3.奇偶校验位:奇偶校验位事实上是传送的附加位,若该位用于用于奇偶校验,可校检串行传送的对的性。奇偶校验位的设立与否及校验方式(奇校验还是偶校验)由用户需要拟定。4.停止位:用逻辑1(mark)表达。停止位标志一个字符传送的结束。停止位可以是1、1.5或2位。串行通信中用每秒传送二进制数据位的数量表达传送速率,称为波特率。1波特=1bps(位/秒)例如数据传送速率是240帧/秒,每帧由一位起始位、八位数据位和一位停止位组成,则传送速率为:10×240=2400位/秒=2400波特单片机的串行通信重要采用异步通信传送方式。在串行通信中,按不同的通信方向有单工传送和双工传送之分,如图8—2所示:甲机乙机(a)单工传送甲机乙机(b)双工传送甲机乙机(c)全双工传送图8—2单片机串行通信方向示意图8—2(a)中,甲.乙两机只能单方向发送或接受数据;图8—2(b)中,甲机和乙机能分时进行双向发送和接受数据;图8—2(c)中,甲,乙两机能同时双向发送和接受数据。第二节8051串行口的基本结构MCS—51系列单片机串行口结构框图如图8—3所示:图8—38051串行口结构框图一、串行口缓冲寄存器SBUF图8—3中SUBF是串行口缓冲寄存器,发送SBUF和接受SBUF地址同为99H,但由于发送SBUF不能接受数据,接受SBUF也不具有发送功能,故两者工作互不干扰。当CPU向SBUF写入时,数据进入发送SBUF,同时启动串行发送;CPU读SBUF时,事实上是读接受SBUF数据。二、串行通信控制寄存器与串行通信有关的控制寄存器重要是串行通信控制寄存器SCON。SCON是8051的一个可以位寻址的专用寄存器,用于串行数据通信的控制。SCON的单元地址98H,位地址9FH—98H。寄存器内容及位地址表达如下:SCON位地址9F9E9D9C9B9A9998位符号SM0SM1SM2RENTB8RB8TIRI各位功能说明如下:位符号功能说明SM0,SM1SM0,SM1──串行口工作方式选择位:SM0SM1工作方式功能0008位数码传送,波特率固定,为f晶振/12。01110位数码传送,波特率可变。10211位数码传送,波特率固定,为f晶振/64或f晶振/32。11311位数码传送,波特率可变。SM2SM2──多机通信控制位:当串行口以方式2或方式3接受时,如SM2=1,则只有当接受到的第九位数据(RB8)为1,才将接受到的前8位数据送入接受SBUF,并使RI位置1,产生中断请求信号;否则将接受到的前8位数据丢弃。而当SM2=0时,则不管第九位数据为0还是为1,都将前8位数据装入接受SBUF中,并产生中断请求信号。对方式0,SM2必须为0,对方式1,当SM2=1,只有接受到有效停止位后才使RI位置1。RENREN──允许接受位,用于对串行数据的接受进行控制:REN=0,严禁接受;REN=1,允许接受。该位由软件置1或清零。TB8TB8──发送数据位8:在方式2和方式3时,TB8是要发送的第9位数据。RB8RB8——接受数据位8:在方式2和方式3中,RB8位存放接受到的第9位数据TITI──发送中断标志:当方式0时,发送完第8位数据后,该位由硬件置位。在其它方式下,于发送停止位之前由硬件置位。因此TI=1,表达帧发送结束。其状态既可供软件查询使用,也可请求中断。TI位由软件清0。RIRI──接受中断标志:当方式0时,接受完第8位数据后,该位由硬件置1。在其它方式下,当接受到停止位时,该位由硬件置位。因此RI=1,表达帧接受结束。其状态既可供软件查询使用,也可以请求中断。RI位由软件清0。此外,电源控制寄存器PCON中SMOD位可影响串行口的波特率。当(SMOD)=1,串行口波特率加倍。尚有中断允许寄