打印
[电表应用]

请版主提供一个SH88F516的AD例程(C语言),谢谢

[复制链接]
1279|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
njapple|  楼主 | 2017-6-18 17:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题,谢谢
沙发
datouyuan| | 2017-6-19 16:37 | 只看该作者
拿走,不谢。
void InitADC(void)
{
        ADCON        =        0x80;                //允许ADC模块
        ADT                =        0xee;
        /*        ADC时钟为系统时钟的32分频,T(ad) = 32*(1/16M) = 2us
                ADC采样时间为15个ADC时钟,T(s)= (14+1)*T(ad) = 30us
                ADC转换时间为12*T(ad) + T(s) = 54us
        */

        ADCH = (1<<7)|(1<<6);        //通道配置 AN7 AN6
}

//调用前ch对应pin一定要设置在ad模式
uint8 GetADC_8(uint8 ch)
{
        ADCON = 0x80+ch*2;        //选择通道
        ADCON |= 0x01;                //开始ADC转换
        while(ADCON&0x01);
        return ADDH;                //8bit
}

//调用前ch对应pin一定要设置在ad模式
uint16 GetADC_16(uint8 ch)
{
        ADCON = 0x80+ch*2;        //选择通道
        ADCON |= 0x01;                //开始ADC转换
        while(ADCON&0x01);
        return ADDH*4+ADDL;        //10bit
}

使用特权

评论回复
板凳
njapple|  楼主 | 2017-6-29 21:51 | 只看该作者
多谢!

使用特权

评论回复
地板
amw1688| | 2017-8-10 10:30 | 只看该作者
更多例程,免费送加Q:2714266616

使用特权

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

本版积分规则

2

主题

6

帖子

0

粉丝