SCON的设置siri的自定义回答和设置

记录自己的学习经历
SCON串行使用波特率计算和设置
1. 工作模式
SCON 串行口控制寄存器 
通常在芯片或设备中为了监视或控制接口状态,都会引用到接口控制寄存器。SCON就是51芯片的串行口控制寄存器。
它的寻址地址是98H,是一个可以位寻址的寄存器,作用就是监视和控制51芯片串行口的工作状态。51芯片的串口
可以工作在几个不同的工作模式下。
具体定义如下:
SM0 SM1 SM2 REN TB8 RB8 TI RI
SM0、SM1为串行口工作模式设置位,这样两位可以对应进行四种模式的设置。看表8-2串行口工作模式设置。
同步移位寄存器
fosc/32或fosc/64
在这里只说明最常用的模式1,其它的模式也就一一略过,有兴趣的朋友可以找相关的硬件资料查看。
表中的fosc代表振荡器的频率,也就是晶振的频率。
UART为(Universal Asynchronous Receiver)的英文缩写。
2. 定义详解
SM2:模式2、模式3中为多处理机通信使能位。在模式0中要求该位为0。
REM:允许串口接收位,置1允许接收,置0禁止接收。REM由软件置位或清零。
如果在一个电路中接收和发送引脚P3.0,P3.1都和上位机相连,在软件上有串口中断处理程序,当要求在处理某个子
程序时不允许串口被上位机来的控制字符产生中断,那么可以在这个子程序的开始处加入REM=0来禁止接收,在子程
序结束处加入REM=1再次打开串口接收。
TB8:发送数据位8,在模式2和3是要发送的第9位。该位可用软件根据需要置位或清除,通常这位在通信协议中做奇偶位,
在多处理机通信中这一位则用于表示是地址帧还是数据帧。
RB8:接收数据位8,在模式2和3是已接收数据的第9位。该位可以是奇偶效验位,地址/数据标识位。在模式0中,
RB8为保留位没有被使用。在模式1中,当SM2=0,RB8是已接收数据的停止位。
TI: 发送中断标识位。在模式0,发送完第8位数据时,由硬件置位。其它模式中则是在发送停止位之初,由硬件置位。TI
置位0,申请中断,CPU响应中断后在软件置位0发送一帧数据。任何模式TI必须软件置0,也就是说在数据写入到SBUF后,
硬件发送数据,中断响应(如中断打开),这时TI=1,表明发送已完成,TI不会由硬件清除,所以这时必须用软件对其清零。
RI: 接收中断标识位。在模式0,接收第8位结束时,由硬件置位。其它模式中则是在接收停止位的半中间,由硬件置位。
RI=1,申请中断,要求CPU取走数据。但在模式1中,SM2=1时,当未收到有效的停止位,则不会对RI置位。同样RI
也必须要靠软件清除。常用的串口模式1是传输10个位的,1位起始位为0,8位数据位,低位在先,1位停止位为1。它
的波特率是可变的,其速率是取决于定时器1或定时器2的定时值(溢出速率)。AT89C51和AT89C2051等51系列芯
片只有两个定时器,定时器0和定时器1,而定时器2是89C52系列芯片才有的。 3. 波特率设定
波特率在使用串口做通讯时,一个很重要的参数就是波特率,只有上下位机的波特率一样时才可以进行正常通讯。
波特率:是指串行端口每秒内可以传输的波特位数。
有一些初学的朋友认为波特率是指每秒传输的字节数,如标准9600会被误认为每秒种可以传送9600个字节,而实际上它是
指每秒可以传送9600个二进位,而一个字节要8个二进位,如用串口模式1来传输那么加上起始位和停止位,每个数据字节就
要占用10个二进位,9600波特率用模式1传输时,每秒传输的字节数是:
51芯片的串口工作模式:
模式0:波特率是固定的,为fosc/12,以一个12M的晶振来计算,那么它的波特率可以达到1M。
模式2:波特率是固定在fosc/64或fosc/32,具体用那一种就取决于PCON寄存器中的SMOD位,如SMOD为0,波特
率为focs/64,SMOD为1,波特率为focs/32。
模式3:波特率是可变的,取决于定时器1或2(52芯片)的溢出速率。那么我们怎么去计算这两个模式的波特率设置
时相关的寄存器的值呢?可以用以下的公式去计算:
波特率=(2SMOD÷32)×定时器1溢出速率
上式中如设置了PCON寄存器中的SMOD位为1时就可以把波特率提升2倍。通常会使用定时器1工作在定时器工作模式2下,
这时定时值中的TL1做为计数,TH1做为自动重装值 ,这个定时模式下,定时器溢出后,TH1的值会自动装载到TL1,再次开
始计数,这样可以不用软件去干预,使得定时更准确。
在这个定时模式2下定时器1溢出速率的计算公式如下:
溢出速率=(计数速率)/(256-TH1)
上式中的“计数速率”与所使用的晶体振荡器频率有关,在51芯片中定时器启动后会在每一个机器周期使定时寄存器TH的值
增加一,一个机器周期等于十二个振荡周期,所以可以得知51芯片的计数速率为晶体振荡器频率的1/12,一个12M的晶振用
在51芯片上,那么51的计数速率就为1M。通常用11.0592M晶体是为了得到标准的无误差的波特率,那么为何呢?计算一下就
知道了。如要得到9600的波特率,晶振为11.0592M和12M,定时器1为模式2,SMOD设为1,分别看看那所要求的TH1为何值。
代入公式:
9600=(2÷32)×((11.0592M/12)/(256-TH1))
TH1=250 //看看是不是和上面实例中的使用的数值一样?
9600=(2÷32)×((12M/12)/(256-TH1))
TH1≈249.49
上面的计算可以看出使用12M晶体的时候计算出来的TH1不为整数,而TH1的值只能取整数,这样它就会有一定的误差存在不能
产生精确的9600波特率。当然一定的误差是可以在使用中被接受的,就算使用11.0592M的晶体振荡器也会因晶体本身所存在的
误差使波特率产生误差,但晶体本身的误差对波特率的影响是十分之小的,可以忽略不计
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!SCON寄存器_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
赠送免券下载特权
10W篇文档免费专享
部分付费文档8折起
每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
SCON寄存器
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩2页未读,
定制HR最喜欢的简历
你可能喜欢PCON=0x00;SCON=0x50什么意思_百度知道
PCON=0x00;SCON=0x50什么意思
我有更好的答案
将十六进制转换为二进制为pcon=;scon=.这些零和一具体代表什么意思,参看下面单片机中对这俩个寄存器每一位的定义:PCON主要是为CHMOS型单片机的电源控制而设置的专用寄存器,单元地址是87H,其结构格式如下:
PCON电源管理寄存器结构:
位符号 SMOD -
GF1 GF0 PD IDL
在CHMOS型单片机中,除SMOD位外,其他位均为虚设的,SMOD是串行口波特率倍增位,当SMOD=1时,串行口波特率加倍。系统复位默认为SMOD=0。
各位的定义: SMOD:该位与串口通信有关。
SMOD=0; 串口方式1,2,3时,波特率正常。
SMOD=1; 串口方式1,2,3时,波特率加倍。
GF1,GF0:两个通用工作标志位,用户可以自由使用。
PD:掉电模式设定位。
PD=0 单片机处于正常工作状态。
PD=1 单片机进入掉电(Power Down)模式 ,可由外部中断或硬件复位模式唤醒,进入掉电模式后,外部晶振停振,CPU、定时器、串行口全部停止工作,只有外部中断工作。
IDL:空闲模式设定位。
IDL=0 单片机处于正常工作状态。
IDL=1 单片机进入空闲(Idle)模式,除CPU不工作外,其余仍继续工作,在空闲模式下可由任一个中断或硬件复位唤醒。SCON控制寄存器,它是一个可寻址的专用寄存器,用于串行数据的通信控制,单元地址是98H,其结构格式如下:
SCON寄存器结构
SM0 SM1 SM2 REN TB8 RB8 TI RI
位地址 9FH 9EH 8DH 9CH 9BH 9AH 99H 98H
各控制位功能介绍如下:
(1).SM0、SM1:串行口工作方式控制位。
SM0,SM1 工作方式
(2).SM2:多机通信控制位。
多机通信是工作于方式2和方式3,SM2位主要用于方式2和方式3。接收状态,当串行口工作于方式2或3,以及SM2=1时,只有当接收到第9位数据(RB8)为1时,才把接收到的前8位数据送入SBUF,且置位RI发出中断申请,否则会将接受到的数据放弃。当SM2=0时,就不管第位数据是0还是1,都难得数据送入SBUF,并发出中断申请。
工作于方式0时,SM2必须为0。
(3).REN:允许接收位。
REN用于控制数据接收的允许和禁止,REN=1时,允许接收,REN=0时,禁止接收。
(4).TB8:发送接收数据位8。
在方式2和方式3中,TB8是要发送的——即第9位数据位。在多机通信中同样亦要传输这一位,并且它代表传输的地址还是数据,TB8=0为数据,TB8=1时为地址。
(5).RB8:接收数据位8。
在方式2和方式3中,RB8存放接收到的第9位数据,用以识别接收到的数据特征。
(6).TI:发送中断标志位。
可寻址标志位。方式0时,发送完第8位数据后,由硬件置位,其它方式下,在发送或停止位之前由硬件置位,因此,TI=1表示帧发送结束,TI可由软件清“0”。
(7).RI:接收中断标志位。
可寻址标志位。接收完第8位数据后,该位由硬件置位,在其他工作方式下,该位由硬件置位,RI=1表示帧接收完成。
在串口中断处理时,TI,RI都需要软件清&0&,硬件置位后不可能自动清0,此外,在进行缓冲区操作时,需要ES=0,以防止中断出现。
采纳率:32%
0x00;0x50表示是16进制数字
为您推荐:
其他类似问题
scon的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。使用 Sconfig.cmd 配置服务器核心服务器
适用对象:Windows Server 2012 R2, Windows Server 2012
在 Windows Server 2012 中,你可以使用服务器配置工具 (Sconfig.cmd) 配置和管理服务器核心安装的几个常见方面。&必须是管理员组的成员才能使用此工具。
Sconfig.cmd 在最小服务器界面和&完全安装&模式中可用。
更改为系统驱动器。
键入&Sconfig.cmd,然后按 Enter。&服务器配置工具界面打开:
Sconfig.cmd 用户界面屏幕截图
当前域/工作组设置在默认服务器配置工具屏幕中显示。
如果域用户尚未添加到本地管理员组,则你将不能使用域用户进行系统更改,如更改计算机名称。&若要将域用户添加到本地管理员组,允许计算机重启。
你需要重启服务器,以便将更改应用到域或工作组成员。
当前计算机名称在默认服务器配置工具屏幕中显示。&你可以通过从主菜单访问&计算机名称&设置页面并按照说明进行操作,来更改计算机名称
你需要重启服务器,以便将更改应用到域或工作组成员。
若要将其他用户添加到本地管理员组,请使用主菜单上的&添加本地管理员&选项。&在加入域的计算机上,以下面的格式输入用户:域\用户名。&在非加入域的计算机(工作组计算机)上,仅输入用户名。&更改会立即生效。
你可以将 IP 地址配置为由 DHCP 服务器自动分配,或者你可以手动分配静态 IP 地址。&此选项还允许你为服务器配置 DNS 服务器设置。
这些选项以及更多选项现可使用网络 Windows PowerShell cmdlet。
远程桌面设置的当前状态在默认服务器配置工具屏幕中显示。&你可以通过访问&远程桌面&主菜单选项并按照屏幕上的说明进行操作,来配置以下远程桌面设置。
为运行带网络级别身份验证的远程桌面的客户端启用远程桌面
为运行任何版本的远程桌面的客户端启用远程桌面
禁用远程桌面
你可以从&配置远程管理&主菜单选项启用各种远程管理方案。
Microsoft 管理控制台远程管理
Windows PowerShell
服务器管理器
若要注销、重启或关闭服务器,请访问主菜单相应的菜单项。
选择&退出命令行&选项,按 ENTER 以退出命令行。&若要返回到服务器配置工具,请键入&Sconfig.cmd,然后按 ENTER
阅读(...) 评论()

我要回帖

更多关于 fifa18键盘自定义设置 的文章

 

随机推荐