打印

有谁使用过MAX1271的?

[复制链接]
1523|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
linqhi|  楼主 | 2010-11-30 16:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在仿真器上调了几天程序,始终没有结果。程序如下,有知情者还望赐教赐教。
#include<reg51.h>
#include<intrins.h>

#define  uint unsigned int
#define  uchar unsigned char
sbit ADCLK=P0^0;
sbit ADCS=P0^1;
sbit ADDIN=P0^2;
sbit ADSTRB=P0^3;
sbit ADDOUT=P0^5;
void delay(int del)
{
  for(del;del>0;del--);
}
void main()
{
  uchar i,j,k;
  uchar cont;
  uint u;
  P0=0xff;
  while(1)
  {
    ADCS=0;
    LED=0;
    cont=0x89;
    for(i=0;i<8;i++)
    {
      ADCLK=0;
    ADDIN=(bit)(cont&0x80);
      cont<<=1;
      ADCLK=1;
   _nop_();
   _nop_();
    }
  ADDIN=0;
   for(j=0;j<5;j++)
    {
      ADCLK=0;
   _nop_();
        _nop_();
      ADCLK=1;
      _nop_();
       _nop_();
    }
   for(k=0;k<12;k++)
   {
     ADCLK=0;
     _nop_();
   u<<=1;
     if(ADDOUT)
     {
       u++;
     }     
     ADCLK=1;
     _nop_();
   _nop_();
   }
u&=0x0fff;
ADCLK=0;
ADCS=1;
delay(100);
  }
}



得到的结果始终是0fff,也就是说DOUT管脚一直保持在1。为什么呢?

相关帖子

沙发
linqhi|  楼主 | 2010-11-30 17:04 | 只看该作者
自己先顶个吧。

使用特权

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

本版积分规则

0

主题

13

帖子

1

粉丝