小鸟肥肥 发表于 2023-12-19 18:02:39

STC8G1K08A8pin的芯片,这种没有verf的该怎么接线 | 已解决

我用STC8G1K08A8pin的芯片,想用P3.2口作为ADC的端口,我的代码已经将P3.2作为高阻输入,并且按照案例做了时钟的配置和启动。结果ADC_FLAG 一直不跳,程序卡主了。。。

这是我的ADC代码
"""C

#include "adc.h"
#include "serial.h"

#include "intrins.h"
void init_port(void){
      P3M0 &= ~0x04;
      P3M1 |= 0x04;
}

void init_adc(void){
      init_port();
      
      delay_ms(1);
      //设置采样时钟
      P_SW2 |= 0x80;
      ADCTIM = 0x3f; //设置 ADC 内部时序
      P_SW2 &= 0x7f;
      ADCCFG = 0x0f;
      //打开电源
      ADC_CONTR &= 0x80;               
}
void start_adc(void) {
      ADC_CONTR |= 0x42;      //0010
      _nop_();
      _nop_();
}

u8 get_adc_n() {
      while(!(ADC_CONTR & 0x20));
//      uart_send_str("have adc number\r\n");

      ADC_CONTR &= ~0x20;
      return ADC_RES;
}

void close_adc(void){
      ADC_CONTR &= 0x7f;
}

"""
我想问问是我的代码问题还是接线问题{:4_167:}

神农鼎 发表于 2023-12-19 18:55:43





深圳国芯人工智能有限公司-产品_STC8G系列 (stcai.com)


神农鼎 发表于 2023-12-19 19:09:56



PIN4, GND/AGnd,就是 ADC的模拟地

小鸟肥肥 发表于 2023-12-19 19:23:11

本帖最后由 小鸟肥肥 于 2023-12-19 19:26 编辑

神农鼎 发表于 2023-12-19 19:09
PIN4, GND/AGnd,就是 ADC的模拟地
可是我是的实物连接图里带了个滑动变阻器,然后我用万用表测了电压是没有问题的,接地也是用的GND,而且ADC_FLAG一直检测不结束,导致程序卡主了

神农鼎 发表于 2023-12-19 19:49:18

用仿真功能来调试:



【新提醒】仿真 STC8 系列 MCU,用 STC-USB Link1D 全自动仿真/脱机下载 工具 ! 有视频讲解 - 仿真/ISP下载/做自己的ISP/编译器/头文件 - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)

梁工 发表于 2023-12-19 22:32:48

小鸟肥肥 发表于 2023-12-19 19:23
可是我是的实物连接图里带了个滑动变阻器,然后我用万用表测了电压是没有问题的,接地也是用的GND,而且AD ...

ADC_FLAG一直检测不结束,只有两种可能:
1、你用的MCU没有ADC功能(比如用了STC8G1K08-8PIN没有ADC)。
2、没有开启ADC电源。

ADC模块是一个纯硬件的外设,只要初始化正确,一旦启动,必然会结束。

小鸟肥肥 发表于 2023-12-20 08:18:13

梁工 发表于 2023-12-19 22:32
ADC_FLAG一直检测不结束,只有两种可能:
1、你用的MCU没有ADC功能(比如用了STC8G1K08-8PIN没有ADC)。
...

感谢梁工,问题找到了,是没有开启ADC电源{:4_167:},是代码写错了,ADC开启电源的时候用了&=,导致一直没开启电源

小鸟肥肥 发表于 2023-12-20 08:18:45

感谢回复问题的各位,问题找到了

神农鼎 发表于 2023-12-20 11:14:28

还是建议,用仿真来调试,查找问题更直观

Wddz 发表于 2024-4-22 11:11:35

金天又加了一次客服,这次通过了,以个人名义申请了一个 STC-USB Link1D ,学习一个仿真怎么玩,之前每次都是打板回来焊好测试,有问题在打板,比较费时费钱,喜望通过仿真能改善一下,少打板子
页: [1]
查看完整版本: STC8G1K08A8pin的芯片,这种没有verf的该怎么接线 | 已解决