打印

AD转换很奇怪啊

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

使用特权

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

使用特权

评论回复
地板
宋倩2010| | 2013-6-11 10:21 | 只看该作者
程序?

使用特权

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

使用特权

评论回复
6
tian111|  楼主 | 2013-6-11 10:23 | 只看该作者
/******************************************************/
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;
}

使用特权

评论回复
7
chenho| | 2013-6-11 10:25 | 只看该作者
ADCH寄存器没有看到你设置,是不是这个不对啊

使用特权

评论回复
8
gongche| | 2013-6-11 10:26 | 只看该作者
超量程了吧

使用特权

评论回复
9
tian111|  楼主 | 2013-6-11 10:27 | 只看该作者
嗯,我看看,多谢啦

使用特权

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

本版积分规则

797

主题

8878

帖子

7

粉丝