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

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

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

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

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

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

MCS-51单片机的串行接口串行通信基础串行通信的基本特征是数据逐位顺序进行传送 串行通信的格式及约定(如:同步方式、通讯速率、数据块格式、信号电平……等)不同,形成了多种串行通信的协议与接口标准。 常见的有: ☞通用异步收发器(UART)——本课程介绍的串口 ☞通用串行总线(USB) ☞I2C总线(两线式串行总线) ☞CAN总线(控制器局域网络) ☞SPI总线(串行外围设备接口) ☞RS-485,RS-232C,RS422A标准……等等串行通信有异步和同步两种通信方式异步通信中接收和发送双方必须(至少)有两项设定传输方向通用异步接收发送器UARTUART的主要功能MCS-51单片机----串行通信接口电路集成在单片机内。 直观的感觉:向SBUF中写入一个字节是同时写入(并行),向外发送则是一位一位的进行(串行)。 同样由外界向SBUF接收是一位一位的进行(串行),而CPU是以字节形式(并行)从SBUF中读入串行口寄存器结构串行接收的双缓冲结构串行通信相关的寄存器(三个)REN允许接收位(通过软件置位复位) 控制串行数据的接收 REN=1允许接收REN=0禁止接收 TB8(通过软件置位复位) 在方式2、3下要发送的第9位数据(格式信息),在多机通信中通过TB8的状态来表示主机发送的是地址帧(“1”)还是数据帧(“0”) RB8 在方式2、3时,存放接收到的第9位数据,代表接收到的某些数据特征SM2:串行口多机通信控制位 (作为方式2、方式3的附加控制位) 如果SM2=1(允许多机通信),REN=1,则从机处于只有接收到RB8=1(地址帧)时,激发中断请求标志位RI,否则将接收到的前8位数据丢弃。被确信的从机,复位SM2=0,接收RB8=0的数据帧。RI接收中断标志 方式0时,接收完第8位数据后,硬件置位 其它方式下,接收到停止位时,硬件置位 RI=1表示帧接收结束,其状态可软件查询,也可中断申请。软件清零 TI发送中断标志 方式0时,发送第8位数据后,硬件置位 其它方式下,于发送到停止位之前硬件置位 TI=1表示帧发送结束,其状态可软件查询,也可中断申请。软件清零 SMOD———GF1GF0PD1DL串行工作方式0☞经常配合“串入并出”“并入串出”移位 寄存器一起使用扩展接口。使用方式0进行数据移位输入、输出时,是将串行口作为并行口使用,是一种并行口扩展应用 数据发送:实现数据发送,须有串进并出移位寄存器配合使用数据接收:须有并进串出的移位寄存器配合使用方式0时移位操作的波特率固定,为单片机晶振频率的1/12。 如晶振6MHZ,波特率为500K/秒,2us移位一次 如晶振12MHZ,波特率为1M/秒,1us移位一次 应用举例p.125程序清单例:利用串行口工作方式0扩展出8位并行I/O口,驱动共阳LED数码管显示0—9。根据上图编写的通过串行口和 74LS164驱动共阳LED数码管 (查表)显示0-9数字的子程序: DSPLY:MOVDPTR,#TABLE MOVCA,@A+DPTR MOVSBUF,A JNBTI,$ CLRTI RET TABLE:DB0C0H,0F9H,0A4H DB0B0H,99H,92H DB82H,0F8H,80H,90H波特率(BAUDRATES)的计算☞表格有多种,晶振也不止一种☞由于波特率固定,常用于单片机间通讯。 数据由8+1位组成,通常附加的一位 (TB8/RB8)用于“奇偶校验”。工作方式3:当SM0,SM1为11时,串行口工作于方式3 9位UART(1+8+1+1位)波特率可变UART的四种工作方式3.方式2 (1)设定波特率 PCON (2)设定UART工作方式 4.方式3 (1)设定波特率 TMOD、PCON、定时器的计数初值、启动定时器 (2)设定UART工作方式 Over!