各位进来看一个关于IIC的问题

[复制链接]
 楼主| 651927693 发表于 2012-7-10 14:38 | 显示全部楼层 |阅读模式
[i=s] 本帖最后由 651927693 于 2012-7-10 15:19 编辑 [/i]

各位帮忙看一个IIC的程序,老师给的电路板,本来是一个用DS1388和12864做的万年历,我想逐步分解理解原理,LCD的部分已经理解并可以写出程序了,但写到用我的89s52模拟IIC接口和DS1388通信的时候就不行了,我本想让LCD的第一行的前两位显示日期(date)的数据,但显示屏上;只能显示出两个问号。;调试了好几天了,就是找不出错误,求解!!;DS1388+IIC+12864LCD;MCU:89S52;MADE BY 651927693;2012/07/08;V1.0;显示屏可以正常显示,但显示两个问号
NE5532 发表于 2012-7-10 17:36 | 显示全部楼层
先给年月日变量硬赋值,看看显示对不对,对了再调I2C,I2C先把应答调通。
 楼主| 651927693 发表于 2012-7-10 20:24 | 显示全部楼层
显示调过了,是正确的。
应答应该怎么调呢?
NE5532 发表于 2012-7-10 20:42 | 显示全部楼层
请参看I2C时序里,第一个应答。
 楼主| 651927693 发表于 2012-7-10 20:56 | 显示全部楼层
谢谢NE5532,应答我写了,但是你说调?要怎么调啊?
经过调试可以得出,读出的数据为FFH
NE5532 发表于 2012-7-10 21:09 | 显示全部楼层
调,就是看应答你收不收得到啊。
 楼主| 651927693 发表于 2012-7-10 23:34 | 显示全部楼层
应答调过了,没有接收到应答信号,奇怪了,有些人的程序中如果一段时间之内收不到这个信号就直接跳过了,我能不能也那样写
sedatefire 发表于 2012-7-10 23:54 | 显示全部楼层
应答调过了,没有接收到应答信号,奇怪了,有些人的程序中如果一段时间之内收不到这个信号就直接跳过了,我能不能也那样写
651927693 发表于 2012-7-10 23:34

必须收到才好
 楼主| 651927693 发表于 2012-7-11 00:00 | 显示全部楼层
这样啊,那就是说我之前的开始信号和写数据有错喽,有没有别的可能呢
 楼主| 651927693 发表于 2012-7-11 00:16 | 显示全部楼层
我用的是51单片机,读取外部电平时需将相应的IO口拉高,在这里就是
SETB SDA
SETB SCL
NOP
NOP
JB SDA, FAILURE
........
想问一下第一句将SDA置高对后面的读取没有影响吗?
NE5532 发表于 2012-7-11 19:18 | 显示全部楼层
设置没错,是这样弄。你还是得先把应答弄对。人家不检测应答和你没有应答是两回事。
 楼主| 651927693 发表于 2012-7-11 20:27 | 显示全部楼层
我调试了一遍,所有的写应答都可以检测到,另外由于每次读时只读一个字节,故单片机发送非应答信号,经检测,也是对的。这时读出的数据为00H
,依旧充满疑惑啊。。。
NE5532 发表于 2012-7-11 22:38 | 显示全部楼层
找芯片里铁定不为0的地址来读,比如什么版本号啊,状态寄存器啊之类。
sedatefire 发表于 2012-7-11 23:09 | 显示全部楼层
你自己可以重新编辑帖子,然后添加附件
sedatefire 发表于 2012-7-11 23:09 | 显示全部楼层
我邮箱里面没收到你的代码包
 楼主| 651927693 发表于 2012-7-11 23:12 | 显示全部楼层
好吧,这个没办法了,我的手机可能不能上传资料,还是要谢谢你啊@sedatefire
 楼主| 651927693 发表于 2012-7-11 23:14 | 显示全部楼层
我查过芯片资料(DS1388)了,所有的寄存器在初始化后都是00H
 楼主| 651927693 发表于 2012-7-11 23:15 | 显示全部楼层
所以不管我怎么换地址,读出的都是0
cjseng 发表于 2012-7-12 13:17 | 显示全部楼层
如果你的程序没问题,可能是SDA和SCL搞反了;
如果你确认没搞反,而且程序也是对的,那么基本上是延时的问题,注意有几个4.7us的要求的。
 楼主| 651927693 发表于 2012-7-12 20:24 | 显示全部楼层
确认没有搞反,因为老师写的程序可以运行。就延时的问题,不是很懂诶,因为我都是用的3个NOP,耗时0.3uS
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

544

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部

26

主题

544

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部