liuyuhe 发表于 2023-5-29 23:36:56

STC8H第15路采样固定输出0X3FF

本帖最后由 liuyuhe 于 2023-5-29 23:40 编辑

MCU:STC8H1K08

工作频率:22.118
VCC:5V
ADC_VRef+:5V

void GPIO_Init (void)   
{
    //设置IO端口模式
    P0M0 = 0x00; P0M1 = 0x00;
    P1M0 = 0x14; P1M1 = 0x03;
    P2M0 = 0x00; P2M1 = 0x00;
    P3M0 = 0x1c; P3M1 = 0x6c;
    P4M0 = 0x00; P4M1 = 0x00;
    P5M0 = 0x00; P5M1 = 0x00;
    P6M0 = 0x00; P6M1 = 0x00;
    P7M0 = 0x00; P7M1 = 0x00;

    P1IE = 0xfc;
    P3IE = 0x9f;

    P_SW2 |= 0x80;                              //使能XFR
    P_SW2 |= 0x30;                               //切换<i>I2C引脚</i>SCL_4/P3.2, SDA_4/P3.3
}
void ADC_init(void)//串口这么用的采的是第15路 1.19V内置电压
TI = 1;      
printf("adc4:%d\n",GitADC(15));      
TI = 0;








仿真显示ADCbuff值为 0x3f,串口使用pintf()函数输出的是1024附近的值

liuyuhe 发表于 2023-5-30 08:57:29

int GitADC (unsigned char CH)
{
    int ADCbuff;
        ADC_RES = 0;
        ADC_RESL = 0;
    CH &= 0xf0;
    ADC_CONTR |= CH;
    ADC_CONTR |=0x40;
    Delay500us();
    ADCbuff = ADC_RES<<8;
    return ADCbuff |=ADC_RESL;
}


void ADC_Init(void)
{
    ADCTIM = 0x2A;                              //����ADC�ڲ�ʱ��
    ADCCFG = 0x20;                              //右对齐
        ADC_RES = 0;
        ADC_RESL = 0;
    ADC_CONTR = 0xc0;                           //ʹ�ܲ�����ADCģ��

}


void ADC_Isr() interrupt 5
{
    ADC_CONTR &= ~0x20;                         //���жϱ�־
}

liuyuhe 发表于 2023-5-30 08:59:45

      TI = 1;
      //printf("VREF:%d\n",GitADC(0));
      //printf("RREF:%d\n",GitADC(1));
      //printf("VOUT:%d\n",GitADC(14));
      //printf("VIN:%d\n",GitADC(13));
      printf("adc4:%d\n",GitADC(15));

      TI = 0;

乘风飞扬 发表于 2023-5-30 09:02:22

烧录附件例程到芯片里试试,串口1(P3.0,P3.1)打印采样结果,波特率115200,N,8,1。
烧录时, 选择IRC时钟 24MHz

liuyuhe 发表于 2023-5-30 09:25:03

乘风飞扬 发表于 2023-5-30 09:02
烧录附件例程到芯片里试试,串口1(P3.0,P3.1)打印采样结果,波特率115200,N,8,1。
烧录时, 选择IRC时钟...

接收←STC8H系列ADC测试程序!
                  
接收←ADC00=0216
接收←ADC01=0037
接收←ADC02=0000
接收←ADC03=0000
接收←ADC04=0000
接收←ADC05=0000
接收←ADC06=0000
接收←ADC07=0000
                  
接收←ADC08=1023
接收←ADC09=1023
接收←ADC10=1018
接收←ADC11=1018
接收←ADC12=1023
接收←ADC13=0084
接收←ADC14=0967
接收←Bandgap=0243

乘风飞扬 发表于 2023-5-30 09:29:41

用例程测试没问题,内部参考电压根据15通道采样值计算出来差不多是1.19V左右:



页: [1]
查看完整版本: STC8H第15路采样固定输出0X3FF