打印

初学者请教几个问题,请高手不吝赐教。

[复制链接]
1780|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zkybuaa|  楼主 | 2013-9-20 10:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1、串口接收数据时,是先接收高位还是低位?
我看很多书上都是说,接收先接收低位。这样,问题就来了,输入移位寄存器在移位脉冲的作用下,逐步左移,如果先接收D0位,不就是把最低位放到最左边了吗?
接收完毕后,把移位寄存器的数据送给SBUF,不也就是低位在左,高位在右,这不反了吗?

2、51单片机的I/O口在做输入引脚时,要先置1,以关断下来MOS。
每次输入时,都要置1吗?
我看有不少例子,比如是对外部ram操作,先输出一个0x00,再读入一个0xff,这两个操作是紧接着的,并没有置1的过程,为什么也可以呢?
到底是在什么情况下需要置1呢?比如是哪些指令?

请高手指点一二,不胜感激。

相关帖子

沙发
ipman| | 2013-9-20 11:56 | 只看该作者
1, 高低不用关心,(其实高位在先) ,单片机的数据寄存器读取出来的是实际数据
2, 不懂你想实现什么, 一般作为输入, 直接读取即可

使用特权

评论回复
板凳
zkybuaa|  楼主 | 2013-9-20 15:20 | 只看该作者
ipman 发表于 2013-9-20 11:56
1, 高低不用关心,(其实高位在先) ,单片机的数据寄存器读取出来的是实际数据
2, 不懂你想实现什么, 一般作为 ...

1、串口发送时,是低位在前形成的数据帧,串行发送给另一个单片机时,对方最先接收的应该是起始位啊。
2、我是想把这个I/O口既作为输出口,也作为输入口,就是双向口。在输出过程中,比如先输出了低电平,要把它作为输入引脚用之前,是不是应该把端口置1?

使用特权

评论回复
地板
coody| | 2013-9-21 10:44 | 只看该作者
不用费心移位寄存器,人家是往低位移的

使用特权

评论回复
5
zkybuaa|  楼主 | 2013-9-21 14:45 | 只看该作者
coody 发表于 2013-9-21 10:44
不用费心移位寄存器,人家是往低位移的

往低位移的,何解?

使用特权

评论回复
6
zkybuaa|  楼主 | 2013-9-22 14:20 | 只看该作者
还是有点不太明白,请高手们不吝赐教。

使用特权

评论回复
7
ipman| | 2013-9-25 20:35 | 只看该作者
你想模拟uart接收? 而且一个IO半双工?告诉你,实验室可以,产品可不建议

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

648

帖子

0

粉丝