阅读数:79
已有1条回答
管理员
控制串行口工作方式的寄存器是SCON。SCON串行口控制寄存器,用于控制串行通信的方式选择、接收和发送,指示串口的状态。SCON既可以字节寻址,也可以位寻址,其字节地址为98H,地址位为98H~9FH。
工作方式(SM0SM1)
1、方式0(SM0SM1:00):串行口的工作方式0为移位寄存器I/O方式,可外接移位寄存器,一扩展I/O口,也可外接同步I/O设备。发送操作:当执行一条“MOVSBUF,A”指令时,启动发送操作,由TXD输出移位脉冲,由RXD串行SBUF中的数据。发送完8位数据后自动置TI=1.请求中断。要继续发送时,TI必须有指令清零。接收操作:REN是串行口接收允许控制位。REN=0时禁止接收;REN=1时允许接收。当软件将REN置“1”时,即开始从RXD端口以fosc/12波特率输入数据,当接收到8位数据时,将中断标志RI置“1”。再次接收数据之前,必须用软件将RI清0。
2、方式1(SM0SM1:01):串行口为10位通用异步接口。发送或接收一帧数据信息为10位,包括1位起始位“0”、8位数据位、1位停止位“1”。发送数据:数据从TXD端口输出,当数据写入发送缓冲器SBUF时,就启动发送器发送。发送完一帧数据后,置中断标志TI=1,申请中断,通知CPU可以发送下一个数据了。接收数据:首先使REN=1(允许接收数据),串行口从RXD接收数据,当采样到1至0跳变时,确认是起始位“0”,就开始接收一帧数据,当接收完一帧数据时,置中断标志RI=1,申请中断,通知CPU从SBUF取走接收到的数据。
3、方式2(SM0SM1:10):串行口为11位异步通信接口。发送或接收一帧信息包括1位起始位“0”、8位数据位、1位可编程位、1位停止位“1”。发送数据:发送前,先根据通信协议由软件设置TB8为“奇偶校验位”或“数据标识位”,然后将要发送的数据写入SBUF,即能启动发送器。发送过程是由执行任何一条以SBUF为目的寄存器的指令而启动的,把8位数据装入SBUF,同时还把TB8装到发送移位寄存器的第9位上,然后从TXD(P3.1)端口输出一帧数据。接收数据:先置REN=1,使串行口为允许接收状态,同时还要将RI清“0”。然后再根据SM2的状态和所接收到的RB8的状态决定此串行口在信息到来后是否置RI=1,并申请中断,通知CPU接收数据。当SM2=0时,不管RB8为“0”还是为“1”,都置RI=1,此串行口将接收发送来的信息。当SM2=1时,且RB8=1,表示在多机通信情况下,接收的信息为“地址帧”,此时置RI=1,串行口将接收发来的地址。当SM2=1时,且RB8=0,表示在多机通信情况下,接收的信息为“数据帧”,但不是发给本从机的,此时RI不置为“1”,因而SBUF中接收的数据帧将丢失。
4、方式3(SM0SM1:11):为波特率可变的11位异步通信方式,除了波特率有所区别之外,其余方式都与方式2相同。
猜你喜欢
etc故障去哪里维修
特斯拉汽车价格表车型(特斯拉各种车型介绍)
高压锅怎么用
小米13 Pro翻盖亮屏怎么设置
OPPOK11和红米Note12Turbo哪个好
纯电动汽车排名及价格一览 荣威ei5售价14万(续航可达501km)
2021年必须装ETC吗
大众新捷达多少钱(新捷达VS7售10.49万起)
华为mate9是哪年上市的
一加10PRO换后盖要多少钱
圆珠笔油的5种清洗妙招
iphone12和11大小对比
最新学习
小米13 Pro 512G多少钱
路虎发现2022款报价及图片(2023款路虎发现上市)
Redmi Note 12 Pro是曲面屏吗
6级电机转速多少
德系suv20万左右推荐 三款热门德系suv怎么选
公司如何增加股东
快充最快的手机是哪一款
cs35配置参数表(长安cs35质量怎么样值得买吗)
华为如何关闭增强防护功能
淘宝省钱卡有什么作用
郁金香种球怎么种 准备壤土处理种球种植
iphone14玩英雄联盟手游掉帧怎么办?