找回密码
 立即注册
查看: 21|回复: 1

STC8H1K08切换成STC8H1K08T | 10位ADC==>12位ADC

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:4
  • 最近打卡:2025-11-14 16:25:16
已绑定手机

4

主题

2

回帖

50

积分

注册会员

积分
50
发表于 昨天 16:25 | 显示全部楼层 |阅读模式
我想问下,我用的STC8H1K08 tssop20 采集adc0电压。现在把芯片直接换成了STC8H1K08T tssop20,代码没动,adc采集就不对了。这个要怎么修改
.void    ADC_Init(void)
{
        ADCTIM = 0x3F;
        ADCCFG = 0x0F;
        ADC_CONTR = 0x80;
}

void    Adc_Work(void)
{
        static unsigned int adc_Tim = 0;

        if(adc_Tim++ < 200)
            return;
        adc_Tim = 0;

        ADC_CONTR |= 0x40;  // 启动ADC转换
        _nop_();
        _nop_();
        while (!(ADC_CONTR & 0x20));  // 等待转换完成
        ADC_CONTR &= ~0x20;           // 清完成标志

        adc0_value = ((unsigned int)ADC_RES << 2) | (ADC_RESL >> 6);
        
        adc0_v = ((float)adc0_value * 5/ 1023.0f);
        
        V_adc0_100 = adc0_v * 100;
        
        OneSendData1(V_adc0_100 >> 8);
        OneSendData1(V_adc0_100);
}


截图202511141623339459.jpg
截图202511141623497665.jpg
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:238
  • 最近打卡:2025-11-14 11:03:11

801

主题

1万

回帖

2万

积分

管理员

积分
20518
发表于 昨天 16:47 | 显示全部楼层
1,管脚不兼容,部分 ADC 输入口;

2,1个是 10位ADC, 另一个是 12位ADC;
计算公式也不一样了



https://www.stcaimcu.com/data/download/Datasheet/STC8H.pdf
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-11-15 01:56 , Processed in 0.113544 second(s), 53 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表