找回密码
 立即注册
查看: 1075|回复: 9

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

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:4
  • 最近打卡:2023-12-20 09:12:00

2

主题

6

回帖

46

积分

新手上路

积分
46
发表于 2023-12-19 18:02:39 | 显示全部楼层 |阅读模式
我用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;
}

"""
我想问问是我的代码问题还是接线问题
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

717

主题

1万

回帖

1万

积分

管理员

积分
15617
发表于 2023-12-19 18:55:43 | 显示全部楼层
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

717

主题

1万

回帖

1万

积分

管理员

积分
15617
发表于 2023-12-19 19:09:56 | 显示全部楼层
截图202312191909125664.jpg

PIN4, GND/AGnd,  就是 ADC的模拟地
回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:4
  • 最近打卡:2023-12-20 09:12:00

2

主题

6

回帖

46

积分

新手上路

积分
46
发表于 2023-12-19 19:23:11 | 显示全部楼层
本帖最后由 小鸟肥肥 于 2023-12-19 19:26 编辑
神*** 发表于 2023-12-19 19:09
PIN4, GND/AGnd,  就是 ADC的模拟地

可是我是的实物连接图里带了个滑动变阻器,然后我用万用表测了电压是没有问题的,接地也是用的GND,而且ADC_FLAG一直检测不结束,导致程序卡主了

点评

ADC_FLAG一直检测不结束,只有两种可能: 1、你用的MCU没有ADC功能(比如用了STC8G1K08-8PIN没有ADC)。 2、没有开启ADC电源。 ADC模块是一个纯硬件的外设,只要初始化正确,一旦启动,必然会结束。  详情 回复 发表于 2023-12-19 22:32
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

717

主题

1万

回帖

1万

积分

管理员

积分
15617
发表于 2023-12-19 19:49:18 | 显示全部楼层
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-05-02 10:07:51

73

主题

5883

回帖

1万

积分

超级版主

积分
12079
发表于 2023-12-19 22:32:48 | 显示全部楼层
小鸟*** 发表于 2023-12-19 19:23
可是我是的实物连接图里带了个滑动变阻器,然后我用万用表测了电压是没有问题的,接地也是用的GND,而且AD ...

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

ADC模块是一个纯硬件的外设,只要初始化正确,一旦启动,必然会结束。
回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:4
  • 最近打卡:2023-12-20 09:12:00

2

主题

6

回帖

46

积分

新手上路

积分
46
发表于 2023-12-20 08:18:13 | 显示全部楼层
梁*** 发表于 2023-12-19 22:32
ADC_FLAG一直检测不结束,只有两种可能:
1、你用的MCU没有ADC功能(比如用了STC8G1K08-8PIN没有ADC)。
...

感谢梁工,问题找到了,是没有开启ADC电源,是代码写错了,ADC开启电源的时候用了&=,导致一直没开启电源
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:4
  • 最近打卡:2023-12-20 09:12:00

2

主题

6

回帖

46

积分

新手上路

积分
46
发表于 2023-12-20 08:18:45 | 显示全部楼层
感谢回复问题的各位,问题找到了
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

717

主题

1万

回帖

1万

积分

管理员

积分
15617
发表于 2023-12-20 11:14:28 | 显示全部楼层
还是建议,用仿真来调试,查找问题更直观
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:455
  • 最近打卡:2025-05-01 00:44:09

6

主题

81

回帖

2118

积分

金牌会员

积分
2118
发表于 2024-4-22 11:11:35 | 显示全部楼层
金天又加了一次客服,这次通过了,以个人名义申请了一个 STC-USB Link1D ,学习一个仿真怎么玩,之前每次都是打板回来焊好测试,有问题在打板,比较费时费钱,喜望通过仿真能改善一下,少打板子
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 13:01 , Processed in 0.142256 second(s), 109 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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