打印
[其它应用]

SH88F2051A 读AD没反应,求解。。。

[复制链接]
1417|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
formooting0807|  楼主 | 2018-7-14 11:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
系统时钟16.6M,采样IO P1.6 和P1.7,设置为高阻态输入模式
读出来的全是0,求大神指点。。
具体代码如下:

void Init_AD(u8 Mode)
{
//     0  1  2  3  4  5   6   7 对应转换时钟为
//Fsys/2 /4 /6 /8 /12 /16 /24 /32
        //Bank0;
       

        if(Mode == ADC_ENB)
        {
                ADCON = 0X80 ;                                         //打开ADC模块
                ADT = 0 ;
                ADT |= (6<<5) ;                                         // 16.6M SYSCLC     /24  
                ADT |= 5 ;                                                 //采样时间设置         0-15

                ADCH |=0XC0;                                         //设置p1.6   p1.7采样IO
        }
        else
        {
                ADCON &= ~0x80 ;                                 //关闭ADC模块
        }       

}


//*************************************
// 函数名称:AdcSwitch
// 函数功能: 在单通道模式下转换某一通道的AD值
//                                         在(扫描模式下)连续转化1-Chanel的AD值


// 入口参数:要转换的AD通道号
// 出口参数:无
/***************************************/
void AdcSwitch(u8 Chanel)
{       
        u8 i = 0 ;

        for(i=20;i>0;i--) ;
        //Bank0; ;
//
        ADCON = (ADCON & ~(7<<1)) | Chanel ; //选择通道
        ADCON = 0X80 ;                                                 //打开ADC模块
        ADCON |= 0x01 ;                                                 //开始转换AD
        while(ADCON & 0x01);                                 //等待转换结束

        return ;
}


u16    ReadAD(u8 Chanel)
{
        AdcSwitch(Chanel) ;                        //选择通道 并进行AD转换
        return (u16 )(ADDH<<2+ADDL);        //返回AD值
       
}




沙发
formooting0807|  楼主 | 2018-7-14 16:11 | 只看该作者
已解决,AD中断设置问题。。。

使用特权

评论回复
板凳
langziwuliao| | 2018-7-28 21:37 | 只看该作者
formooting0807 发表于 2018-7-14 16:11
已解决,AD中断设置问题。。。

可以加我,帮你技术支持

使用特权

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

本版积分规则

1

主题

2

帖子

0

粉丝