串行口是单片机与外界进行信息交换的工具,8051单片机的通信方式有两种:
并行通信:数据的各位同时发送或接收。
串行通信:数据一位一位次序发送或接收。
串行通信的方式
异步通信
用一个起始位0表示字符的开始,用停止位1表示字符的结束,中间夹着8个数据位,字符能一个接一个传送
cpu与外设之间必须有字符格式和波特率两项规定
字符格式规定能使双方把0和1串理解成同一种意义,原则上自由制定,通用角度使用标准如ascii
波特率即数据传输速率,每秒传送的二进制位数,如120字符/s,每个字符10数位,则传送波特率为1200波特
同步通信
去掉了开始结束标志提高速度,但由于数据块传递开始要用同步字符来指示,同时要求由时钟来实现发送端与接收端之间的同步,故硬件较复杂。
通信方向
在串行通信中,把通信接口只能发送或接收的单向传送办法叫单工传送;把数据能双向传递称为双工传送。半双工传送两机之间不能同时进行发送和接收,任一时该,只能发或者只能收信息。全双工传送是能同时发送接收。
串行接口结构
51单片机一个可编程的全双工串行通信接口。可用作异步通信方式(uart),与串行传送信息的外部设备相连接。或用于通过同步或异步标准通信协议进行全双工的8051多机系统,使用ttl或cmos移位寄存器来扩充i/o口。
8051单片机通过管脚rxd(p3.0,串行数据接收端)和管脚txd(p3.1,串行数据发送端)与外界通信。sbuf是串行口缓冲寄存器,包括发送寄存器和接收寄存器。它们有相同名字和地址空间,但不会出现冲突,因为它们两个一个只能被cpu读出数据,一个只能被cpu写入数据。
串行口的控制与状态寄存器
串行口控制寄存器 scon
用于定义串行口的工作方式及实施接收和发送控制,字节地址为98h
sm0、sm1:串行口工作方式选择位
串行口的工作方式
方式0
○为移位寄存器输入/输出方式。可外接移位寄存器以扩展i/o口,也能外接同步输入/输出设备。8位串行数据者是从rxd输入或输出,txd用来输出同步脉冲。○输出:发送完毕后终端标志t1硬件置位。(同其他)○输入:当 ri =0和ren =1同时满足开始接收,接收到第八位后数据移至寄存器,硬件置位ri。
方式1
○为波特率可变的10位异步通信方式。○输出:当执行一条指令将数据写入发送缓冲sbuf时,就启动发送,发送完一帧硬件置位t1○输入:检测1-0跳变,使用前用软件清零ri和sm2
方式2
○为固定波特率的11位uart方式。它比方式1增加了一位可程控为1或0的第9位数据。○输出:11位,附加第九位是scon的tb8位,可作为多机通信中地址/数据信息标志位、奇偶校正位。别的同其他○输入:123同
方式3
为波特率可变的11位uart方式。除波特率外,其余与方式2相同。
波特率选择
方式0:方式0的波特率固定为主振频率的1/12。
方式2:
波特率由 pcon 中的smod位决定
波特率=2somd/64*fosc,smod=0或1
方式1和3:
波特率=定时器t1溢出率
t1溢出率= t1计数率/产生溢出所需的周期数
t1计数率取决于它工作在定时器状态还是计数器状态。
○当工作于定时器状态时,t1计数率为fosc/12;○当工作于计数器状态时,t1计数率为外部输入频率,此频率应小于fosc/24。
产生溢出所需周期与定时器t1的工作方式、t1的预置值有关。
○定时器t1工作于方式0:溢出所需周期数=8192-x○定时器t1工作于方式1:溢出所需周期数=65536-x○定时器t1工作于方式2:溢出所需周期数=256-x
因为方式2为自动重装入初值的8位定时器/计数器模式,所以用它来做波特率发生器最恰当。
要不要装指纹锁?大多数家庭会遇到的四个问题
低损耗三相理想二极管桥整流器减少了热量, 从而可简化热设计
Vishay推出新款超快二极管,优化系统开关损耗
小熊智能加湿器评测 性价比突显
HiFi扬声器的制作
单片机串行口介绍,8051单片机的通信方式
LGD入围 索尼独供“难保”!
最逼真的大脑模拟Spaun问世
加密货币对冲基金可能面临转型多家对冲基金将会关闭
大多数通用的CMOS和JFET的放大器
浅谈汽车线束的产品规划、设计以及成本
索尼移动将涉足无人机领域 定位于企业级用户
Nios软核在CT机扫描系统控制器设计中的应用
iphone8什么时候上市?iphone8最新消息:苹果iphone8:全面屏设计+竖向摄像头+闪光灯设计+Touch ID没取消,攒钱!
iphone8什么时候上市?iphone8样张曝光,屏幕更大体积更小,就这颜值你会买吗?
焊接机器人焊接飞溅多该如何处理?
中芯国际第一代先进技术良率达业界量产水平
三星QLED电视机接受预订:起售价17175元人民币
点亮STM32、FPGA和Liunx板子的LED灯
赋能工业4.0,向日葵远程协助远程协助提升售后效率