打印

读到的时钟就无法走动

[复制链接]
1293|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
llia|  楼主 | 2022-1-5 23:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在读DS12C887时,如果没有把总线在相关时刻全部置高一下,则读到的时钟就无法走动,全死的(总线连的是P0口)

使用特权

评论回复
沙发
jlyuan| | 2022-1-5 23:16 | 只看该作者
楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因

使用特权

评论回复
板凳
llia|  楼主 | 2022-1-5 23:18 | 只看该作者

uchar read_ds(uchar ds_add)//读DS12C887
{
uchar ds_date;
ds_as=1;
ds_ds=1;
ds_rw=1;
ds_cs=0;
P0=ds_add;
ds_as=0;
ds_ds=0;
P0=0xff;     我的第一个问题就是这条语句为什么不能省?
ds_date=P0;
ds_ds=1;
ds_as=1;
ds_cs=1;
return ds_date;
}

使用特权

评论回复
地板
wuhany| | 2022-1-5 23:21 | 只看该作者

你是I/O模式读取,当然要先对其输出全1了。
总线方式就不用(自动产生时序)

使用特权

评论回复
5
llia|  楼主 | 2022-1-5 23:23 | 只看该作者
能不能说清楚一点?啥是I/O模式啥是总线方式?

使用特权

评论回复
6
shimx| | 2022-1-5 23:25 | 只看该作者
不对I/O模式输出全1会怎么样?

使用特权

评论回复
7
pengf| | 2022-1-5 23:30 | 只看该作者
去看51的端口输入前需要做啥。

使用特权

评论回复
8
dengdc| | 2022-1-5 23:32 | 只看该作者
这个是51的基础啊。

使用特权

评论回复
9
juventus9554| | 2022-1-5 23:35 | 只看该作者
说51单片机是“准双向口”,意思就在这里。

使用特权

评论回复
10
llia|  楼主 | 2022-1-5 23:37 | 只看该作者

醍醐灌顶啊
可是P0口是真正的双向口,为什么也要这么干?

使用特权

评论回复
11
renyaq| | 2022-1-5 23:41 | 只看该作者

P0口在作为普通I/O口使用时是准双向口,在作为总线使用时才是。

使用特权

评论回复
12
llia|  楼主 | 2022-1-5 23:43 | 只看该作者
多谢大家讨论这么多哈,呵呵

使用特权

评论回复
13
tpgf| | 2022-2-4 11:04 | 只看该作者
使用的是什么总线方式啊

使用特权

评论回复
14
xiaoqizi| | 2022-2-4 11:08 | 只看该作者
什么叫做准双向口啊

使用特权

评论回复
15
木木guainv| | 2022-2-4 12:19 | 只看该作者
为什么要输出都为1呢

使用特权

评论回复
16
磨砂| | 2022-2-4 13:06 | 只看该作者
所有的io口性质都是一样的吗

使用特权

评论回复
17
晓伍| | 2022-2-4 13:12 | 只看该作者
应该不是一样性质的

使用特权

评论回复
18
八层楼| | 2022-2-4 13:18 | 只看该作者
只要是51的内核就都是这样的吗

使用特权

评论回复
19
caigang13| | 2022-2-4 15:18 | 只看该作者
你这个是模拟的

使用特权

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

本版积分规则

961

主题

8893

帖子

4

粉丝