8051串行口及串行通信技术
- 格式:ppt
- 大小:661.00 KB
- 文档页数:50
80C51串行口通信80C51串行口的结构TXD 是80C51单片机的P3.1口RXD 是80C51单片机的P3.0口T1 溢出率是定时器1 的溢出率 SMOD是发送速率倍频的 16分频T1每溢出一次发送一位,里面复杂咱们不管,每次发送完后TI申请中断,就是串口每次发送完一个字节去申请一个中断,每接受完一个字节它也要申请一次中断。
接受完了通过移位寄存器SBUF 取走。
发送也用SBUF .单片机上有两个物理上独立的接受,发送缓冲器SBUF,它们占用同一地址99H;接受器是双缓冲结构;发送缓冲器,因为发送时CPU是主动的,不会产生重叠错误。
解释下这句话意思:物理上独立的但是地址相同,但是具体内部构造咱们不去了解它。
2个寄存器一个负责发一个负责收,接受是双缓冲的结构。
如果去取数据A=SBUF ; 发送数据SBUF =A; 就是说SBUF =A 就把A发出去了。
A= SBUF 就是把 SBUF的值给取出来给了A。
单片机的串口就是这么简单。
主要要搞好中断和比特率。
80C51串行口的控制寄存器SCON是一个特殊功能寄存器,用以设定串行口的工作方式、接受/发送控制以及设置状态标志;有此图课看出地址诶98H 能对8整除所以可以进行位操作。
●SMO 和SM1为工作方式选择位,可选择四种工作方式:如下图串行口有4种工作方式。
0 、1、2、3。
f方式0 可以看出是移位寄存器就是一位一位移位了,波特率是固定的晶振除以12Fosc(oscillator 振荡器),方式1 是10位异步收发器(8位数据),波特率可变。
一下 2、3类同。
我们主要掌握方式1就OK。
用的最多的也是方式1。
波特率用软件控制,设置多少就多少。
由于选择方式1所以SMO SM1就是 01 。
●SM2,多机通信控制位,主要用于方式2和方式3。
当接收机的SM2=1时可以利用收到的RB8来控制是否激活RI(RB8=0时不激活RI,收到的信息丢弃;RB8=1时收到的数据进入SBUF,并激活RI,进而在中断服务中将数据从SBUF读走)。
第八章 8051单片机的异步串行通信技术第一节概述计算机与外界的信息交换称为通信。
常用通信方式有两种:并行通信与串行通信,简称并行传送和串行传送。
并行传送具有传送速度快,效率高等优点,但传送多少数据位就需要多少根数据线,传送成本高;串行传送是按位顺序进行数据传送,最少仅需要一根传输线即可完成,传送距离远,但传送速度慢。
串行通信又分同步和异步两种方式。
同步通信中,在数据传送开始时先用同步字符来指示(常约定1—2个),并由同时传送的时钟信号来实现发送端和接收端同步,即检测到规定的同步字符后,接着就连续按顺序传送数据。
这种传送方式对硬件结构要求较高。
在单片机异步通信中,数据分为一帧一帧地传送,即异步串行通信一次传送一个完整字符,字符格式如图8—1所示:图8—1 异步串行通信的字符格式一个字符应包括以下信息:1. 起始位:对应逻辑0(space)状态。
发送器通过发送起始位开始一帧字符的传送。
2. 数据位:起始位之后传送数据位。
数据位中低位在前,高位在后。
数据位可以是5、6、7、8位。
1673. 奇偶校验位:奇偶校验位实际上是传送的附加位,若该位用于用于奇偶校验,可校检串行传送的正确性。
奇偶校验位的设置与否及校验方式(奇校验还是偶校验)由用户需要确定。
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单片机串行口实验一实验目的:理解8051单片机串行口工作原理和方式。
学习和掌握8051单片机实现通讯的环境和程序编写。
了解PC机通讯的基本要求。
二实验原理:在实时控制和管理方面,采用多台微机处理机组成分级分布控制系统中,各CPU之间的通信一般都是串行方式。
所以串行接口是微机应用系统常用的接口。
所谓“串行通信”是指外设和计算机间使用一根数据信号线(另外需要地线,可能还需要控制线),数据在一根数据信号线上一位一位地进行传输,每一位数据都占据一个固定的时间长度。
如图6-1所示。
这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,当然,其传输速度比并行传输慢。
图6-1在串行通讯时,RS-232C接口是目前最常用的一种串行通讯接口,RS-232C使用-3到-25V表示数字“1”,使用3V到25V表示数字“0”,RS-232C在空闲时处于逻辑“1”状态。
8051单片机上有UART用于串行通信,发送时由TXD端送出数据,接收时则由RXD端输入数据。
它是一个可编程的全双工串行口。
SCON是串行口控制和状态寄存器,其格式如下:表6-1其中,SM0,SM1为串行口工作方式控制位,具体的工作方式如下表(表6-2)所示:表6-2SM2为多机通信控制位,当SM2=1时,只有接受到RB8为1,RI才置位,当SM2=0时,接受到字符RI就置位。
REN为串行口接收允许位。
工作在方式2和3时,TB8为发送的第9位数据,也可以用作奇偶校验位,RB8为接受到的第9位数据,而方式1时,RB8为接受到的停止位。
TI,RI分别为发送接受中断标志位,均由硬件置位,软件清0。
PCON是电源控制寄存器,其格式如下:表6-3其中,SMOD为串行口波特率加倍位。
当SMOD=1时,方式1,3波特率=定时器1溢出率/16,方式2波特率为fosc/32;当SMOD=0时,方式1,3波特率=定时器1溢出率/32,方式2波特率为fosc/64。