已有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相同。
猜你喜欢
中华v6多少钱 实际价格6.79万
新交规实习期上高速怎么处罚
本田xrv保值率怎么样 本田xrv二手车报价(5.12-17.50万元)
全国汽车降价信息大全 20款优惠可达4万以上(奔驰c优惠11万)
华为手机可以用airpods吗
丰田chr2021款报价 官方报价14.18-19.08万元(全款价最低16.16万元起)
奥迪q5l蓝牙连接好了歌曲没声音
东南汽车dx7报价 2020款东南dx7落地价11万元(配置十分全面)
唐力和田心是什么电视剧中的人物
广汽传祺影豹价格多少 传祺影豹多少钱(报价11.33万元起)
13pro运行内存4g还是6g
英菲尼迪QX50油耗多少 自重1.9吨油耗并不算高
最新学习
景逸x5怎么样(景逸x5全方面解析)
手机充电不显示充电是怎么回事
c盘怎么老是自动涨内存
世界四大菜系
五菱地摊神车(五菱地摊神车价格)
讴歌rdx车身尺寸是多少 讴歌rdx后备厢容积多大(常规容积660L)
8万左右丰田suv 奕泽纯电动版全新上市
本田xrv2019新款价格 本田xrv2019新款怎么样
帕里斯帝发动机怎么样 帕里斯帝用的什么发动机(3.5升V6自吸发动机)
24小时空调多少度电
别克昂科旗动力怎么样 输出马力可达237匹(搭载2.0T发动机)
理想l8汽车报价及图片(售价35.98万元起全新理想l8发布)