打印
[程序源码]

求助:手头的ds12887全部读不出数据。

[复制链接]
1816|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
bufubaoni|  楼主 | 2014-8-30 17:03 | 只看该作者
unsigned char DS12887_Read(unsigned char Address)
{

        unsigned char temp = 0;
        //端口初始化
        ALE_0;
        RD_0;
        WR_0;
        CS_1;
       
        CS_0;//片选
        RD_1;
        WR_1;
        ALE_1;
        DDRC = 0xff;
        PORTC = Address;
        _NOP();
        ALE_0;//地址锁存
        _NOP();
        RD_0;
        DDRC = 0x00;
        _NOP();
        temp = PINC;
       
        RD_1;
        CS_1;
        ALE_1;


        return temp;
       
}


void DS12887_Write(uchar Address, uchar Value)
{
        //初始化状态
        ALE_0;
        RD_0;
        WR_0;
        CS_1;

        CS_0;//片选
        RD_1;
        WR_1;
        ALE_1;
        DDRC = 0xff;//设置为输出
        PORTC = Address;
        _NOP();
        ALE_0;//锁存地址
        WR_0;
        PORTC = Value;
        _NOP();
        WR_1;

        CS_1;
        ALE_1;

}

使用特权

评论回复
板凳
bufubaoni|  楼主 | 2014-8-30 17:06 | 只看该作者

使用特权

评论回复
地板
bufubaoni|  楼主 | 2014-8-30 17:07 | 只看该作者
其读写都是以纳秒级的延时,本身用的是8Mhz的晶振单个周期就是125ns级的也不存在时序的延时问题。求指点。

使用特权

评论回复
5
coody| | 2014-8-30 19:00 | 只看该作者
最终你会发现,还是时序问题。

使用特权

评论回复
6
NE5532| | 2014-8-30 20:19 | 只看该作者
楼主这个问法,除了得到“自己程序写得有问题”之外,还能得到啥答案呢?

使用特权

评论回复
7
xyz549040622| | 2014-8-30 20:27 | 只看该作者
搞累了出去看看镁铝,回来继续搞,到最后发现,其实都TM的是无用功

使用特权

评论回复
8
ningling_21| | 2014-8-30 22:25 | 只看该作者
没总线的MCU搞这个芯片,不太好搞...

使用特权

评论回复
9
朝阳之光| | 2014-8-31 07:53 | 只看该作者
有时想想是不是芯片问题,这个芯片太老了有时是坏的,

使用特权

评论回复
10
bufubaoni|  楼主 | 2014-8-31 19:17 | 只看该作者

可以正常的仿真,虽然不迷信这个。

使用特权

评论回复
11
bufubaoni|  楼主 | 2014-9-2 15:25 | 只看该作者
时序无任何问题,实际电路中用PC口作为地址口,由于用jtag调试,其中四个口并不能用于io口。故导致程序不能正常读出。

使用特权

评论回复
12
wh6ic| | 2014-9-2 15:48 | 只看该作者
电池挂了

使用特权

评论回复
13
erjiguan8970| | 2014-9-2 20:21 | 只看该作者
DS12887假的太多

使用特权

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

本版积分规则

5

主题

24

帖子

0

粉丝