打印

AD转换出来全是0

[复制链接]
3424|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhanglli|  楼主 | 2012-7-8 12:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用的是SH79F083,在没有进POWER——DWON前AD很好,WDT复位后,同样初始化FSR,结果AD转换出来全是0
沙发
lium| | 2012-7-8 12:19 | 只看该作者
进入pd之前,AD关掉了没有?

使用特权

评论回复
板凳
zhanglli|  楼主 | 2012-7-8 12:22 | 只看该作者
AD在转换完成后就关闭,WDT唤醒后FSR初试化和上电一样。因为我现在出厂标定时用延时函数延时等待测量,之后用WDT唤醒延时。结果还是不行....................

使用特权

评论回复
地板
guoyt| | 2012-7-8 12:24 | 只看该作者
程序?

使用特权

评论回复
5
happy_10| | 2012-7-8 12:24 | 只看该作者
我有时候也会遇到这种问题,可是自己经过一番操作,比如说重新安装软件,修改VID和PID,等等就好了,都不知道问题的原因到底是怎么回事,楼主可以自己尝试一下,这个没有必要装系统吧。

使用特权

评论回复
6
zhanglli|  楼主 | 2012-7-8 12:28 | 只看该作者
我的程序很简单,上电初试化,POWER-DWON延时, 复位初始化同上电初始化,测AD,再休眠。中间有按键INT0中断扫描。

使用特权

评论回复
7
zhanglli|  楼主 | 2012-7-8 12:28 | 只看该作者
/******************************************************/
uchar ad(uchar com)
{
  ADCON = 0x00;
  if(com == bat_com)
           {ADCON = 0x00;}           //选通道
  if(com == co_com)
           {ADCON = 0x02;}
  ADCON |= 0x80;           //使能AD
  delay_ms(1);
  ADCON |= 0x01;    //开始转换
  while(ADCON&0x01)        //等待
                  {;}
  return(ADDH);
}
void main(void)
{
           initail();
           ad_initail(); //初始化
           if(first_power_on == 0xaa)
                           goto wdt_reset;                                //WDT reset
                if(!key)
                        {
                        delay_ms(10);
                        if(!key)
                                {
                                clr_ee();
                                }                        
                        }
           correct();
           alarm = 1;
           g_led = 1;
           delay_ms(20);
           alarm = 0;
           g_led = 0;
           read_data();
           work_status = monitor_status;
wdt_reset:
           first_power_on = 0xaa;
                while(1)
                {
                  switch(work_status)
                  {
                          case  monitor_status:
                                                              monitor();
                                                                  power_dwon();
                                                                  break;
            case  alarm_status:
                                                              alarming();
                                                                  power_dwon();
                                                                  break;
                        default:                        work_status = monitor_status;
                                                              break;
                  }
                }
}
void initail(void)
{
//                 SP = 0x00;
//                 PSW = 0x00;           //程序状态寄存器
                // C AC F0 RS1 RS0 OV F1 P                  

                CLKCON = 0x60;           //内部RC震荡 16M           12分频
                //32k_spdup clks1 clks0 scmif rcon rs --
                TCON = 0x01;         //外部中断INT0允许
                //
                TMOD = 0x00;                  //关闭定时器
                //
                TCON1 = 0x00;                  //
                //
                IEN0 = 0x81;                //
                //
                IEN1 = 0x00;                //
                //
                EXF0 = 0x00;                //
                //
                RSTSTAT = 0x00;        //
                // WDOF - PORF LVRF CLRF WDT2 WDT1 WDT0        
                PWMCON = 0x00;                 //PWM禁止
                P1M0 = 0x03;                //0x03
                P1M1 = 0xfc;                //AN0 AN1模拟输入 P1.0 P1.1           0xfc
                P3M0 = 0x04;                //0x04
                P3M1 = 0xfb;        //P3.2输入 Z中断使能                 0xfb
                P4M0 = 0x00;                //0x00
                P4M1 = 0xff;                //0xff        
                P4M1 = 0x00;
                P1 = 0x00;
                P3 = 0x00;
                P4 = 0x00;
}

使用特权

评论回复
8
llia| | 2012-7-8 12:31 | 只看该作者
ADCH寄存器没有看到你设置,是不是这个不对啊

使用特权

评论回复
9
wangpe| | 2012-7-8 12:33 | 只看该作者
超量程了吧

使用特权

评论回复
10
zhanglli|  楼主 | 2012-7-8 12:34 | 只看该作者
嗯,我看看,多谢啦

使用特权

评论回复
11
zhanglli|  楼主 | 2012-7-8 12:35 | 只看该作者
先结贴了

使用特权

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

本版积分规则

1016

主题

9386

帖子

1

粉丝