51单片机串行口程序c语言编程,单片机C语言编程串行口通讯.ppt

单片机C语言编程串行口通讯

第7章 MCS-51单片机串行口 第7章 MCS-51单片机串行口 目 录 7.1 串行通信基本知识 7.2 串行口结构及控制 7.3 串行口工作方式 7.4 串行口应用举例 7.5 单片机与PC机通信的接口电路 本章要点 本章主要讲述MCS-51单片机串行口的结构、工作原理以及应用。 主要内容包括串行通信基本知识、MCS-51单片机串行口结构、串行口工作方式以及单片机与PC机通信的接口电路。 7.1 串行通信基本知识 主要内容 7.1.1 数据通信 7.1.2 异步通信和同步通信 7.1.3 波特率 7.1.4 通信方向 7.1.5 串行通信接口种类 7.1.1 数据通信 计算机与外界的信息交换称为通信。基本的通信方法有并行通信和串行通信两种。 1.并行通信 单位信息(通常指一个字节)的各位数据同时传送的通信方法称为并行通信。 2.串行通信 单位信息的各位数据被分时一位一位依次顺序传送的通信方式称为串行通信。 7.1.1 数据通信 1.异步通信 异步通信中,传送的数据可以是一个字符代码或一个字节数据,数据以帧的形式一帧一帧传送。 2.同步通信 在同步通信中,每一数据块发送开始时,先发送一个或两个同步字符,使发送与接收取得同步,然后再顺序发送数据。数据块的各个字符间取消起始位和停止位,所以通信速度得以提高 。 7.1.3 波特率 在串行通信中,对数据传送速度有一定要求。波特率表示每秒传送的位数,单位为b/s(记作波特)。 例如:数据传送速率为每秒钟10个字符,若每个字符的一帧为11位,则传送波持率为: 11b/字符×10字符/s=110b/s 异步通信的传送速率一般在50~19 200b/s之间 。 7.1.4 通信方向 单工方式:一对传输线只允许单方向传送数据; 半双工方式:一对传输线允许向两个方向中的任一方向传送数据,但不能同时进行; 全双工方式:用两对传输线连接在发送器和接收器上,发送和接收能同时进行。 7.1.5 串行通信接口种类 根据串行通信格式及约定(如同步方式、通信速率、数据块格式等)不同,形成了许多串行通信接口标准,如常见的:UART(串行异步通信接口)、 USB(通用串行总线接口)、 I2C(集成电路间的串行总线)、 SPI(串行外设总线)、 485总线、CAN总线接口等。 7.2 串行口结构及控制 主要内容 7.2.1 MCS-51串行口结构 7.2.2 与串行口有关的特殊功能寄存器 7.2.3 波特率设计 7.2.1 MCS-51串行口结构 7.2.2 与串行口有关的特殊功能寄存器 1.控制状态寄存器SCON 用于定义串行通信口的工作方式和反映串行口状态,其字节地址为98H,复位值为0000 0000B,可位寻址格式为: SM0和SM1(SCON.7、SCON.6):串行口工作方式选择位。 TB8(SCON.3):发送数据的第9位。 RB8(SCON.2):接收数据的第9位。 TI(SCON.1):发送中断标志。 RI(SCON.0):接收中断标志。 2.电源控制寄存器PCON 电源控制寄存器PCON (地址为87H)中只有SMOD位与串行口工作有关。 7.2.3 波特率设计 方式0和方式2的波特率是固定的,方式1和方式3的波特率是由定时器T1的溢出率来决定的。在增强型单片机中,也可以使用T2作波特率发生器。 1.方式0的波特率 固定为振荡频率的1/12。并不受PCON寄存器中SMOD位的影响。 方式0的波特率=fosc/12 7.2.3 波特率设计 2.方式2的波特率 接收与发送的移位时钟由振荡频率fosc的第二节拍P2时钟(fosc/2)给出,所以,方式2波特率取决于PCON中SMOD位的值:当SMOD=0时,波特率为fosc的1/64;若SMOD=1,则波特率为fosc的1/32。即 方式2的波特率= 2SMOD×fosc/64 7.2.3 波特率设计 3.方式1和方式3的波特率 (1)T1作波特率发生器 在最典型应用中,定时器T1选用定时器模式2,此时n=8,设定时器的初值为X: 于是,X=256 - (2)T2作波特率发生器 在增强型单片机中,还可以使用T2作为波特率发生器。当寄存器T2CON的位TCLK=1和(或)RCLK=1时,允许串行口从T2获得发送和(或)接收的波特率。 串行口方式1、3的波特率=T2溢出率/16 定时器2作波特率发生器时,计数在每个状态周期递增。这样: 方式1、3的波特率= 主要内容

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值