阅读数: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相同。
猜你喜欢
微信账单可以一次性删除吗
发动机静音处理的方法是什么?
12123免扣分政策什么时候停止
80kva变压器可以用多少个千瓦
红米K60怎么清理垃圾
北汽制造勇士质量怎么样 车主是这么评价的
yoyo为什么不能语音唤醒
瑞虎7保养灯怎么消除,2种方法教你快速消除保养提示灯
苹果怎么查找另一个手机位置
奔驰G65最新款价格多钱 奔驰g65落地高达424.28万
甘蔗是什么
迈凯伦720s多少钱一辆 迈凯伦720s落地多少钱(大概387.88万元起)
最新学习
火车硬卧被褥是一客一换吗
刹车片多少公里换一次?刹车片多少钱
iphone15plus怎么截长屏
福特蒙迪欧多少钱(全新蒙迪欧15.98万起售)
OPPO Find N2 Flip玩游戏怎么样
bmwix3纯电动车价格(2022宝马ix概念车整体展示)
新婚对联
雷克萨斯es200值得买吗(雷克萨斯ES200全方面测评)
12355能找回智慧团建密码吗
华为手机锁屏时间位置怎么移动
负责解释和执行程序的部件称为
社保卡丢失怎么补办