89c52单片机中,串行口工作方式1时,每次发送8位数据是什么意思?
3个回答
展开全部
串行数据的发送实际上就是靠改变IO口电平来实现的,IO口在同一时间就只能表示两种状态:高低电平,对应数据位0或1.串口第次发送8位数据就是让IO口在发送时间内变化8次.
为什么是8位,因为串口在方式1是以字节为单位发送的.
而为什么串口在方式1要以字节为单位呢? 这是在硬件设计之初就确定好的,是串口标准.你我是不能改变的.
发送时间是由波特率决定的,波特率就是指每秒钟发送多少个bit位.
串口标准中: 要发送一个数据,还得加上一些其它的东西,比如起始位 停止位等.
a=01;SUBF=a; 单片机执行后,就会将a中的8个位送到SUBF缓冲器中,SUBF也是一个字节. 然后单片机将会按设置好的参数启动串口,将SUBF中的数据一位一位的送到IO口上,即TXD引脚上,至于起始位 停止位些是由串口自动实现的,只要设置好后,不需去理会.时间当然也是由波特率决定的.
综上所述,在使用单片机串口时,波特率的设置是必不可少的.两个设备要通信,他们的波特率 停止位 数据位都是必不可少的.
为什么是8位,因为串口在方式1是以字节为单位发送的.
而为什么串口在方式1要以字节为单位呢? 这是在硬件设计之初就确定好的,是串口标准.你我是不能改变的.
发送时间是由波特率决定的,波特率就是指每秒钟发送多少个bit位.
串口标准中: 要发送一个数据,还得加上一些其它的东西,比如起始位 停止位等.
a=01;SUBF=a; 单片机执行后,就会将a中的8个位送到SUBF缓冲器中,SUBF也是一个字节. 然后单片机将会按设置好的参数启动串口,将SUBF中的数据一位一位的送到IO口上,即TXD引脚上,至于起始位 停止位些是由串口自动实现的,只要设置好后,不需去理会.时间当然也是由波特率决定的.
综上所述,在使用单片机串口时,波特率的设置是必不可少的.两个设备要通信,他们的波特率 停止位 数据位都是必不可少的.
展开全部
串口工作方式1时,总共发送10个位:1起始位+8数据位+1停止位。
起始位为低电平,作用是产生初始下降沿触发接收方的接收操作。
8位数据位中,最低位最前。
停止位为高电平。
如果用示波器来观测,波形为:
低高低低低低低低低高
起始位为低电平,作用是产生初始下降沿触发接收方的接收操作。
8位数据位中,最低位最前。
停止位为高电平。
如果用示波器来观测,波形为:
低高低低低低低低低高
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你最好拿示波器看看就知道了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询