平一帆 发表于 2025-4-21 19:38:30

您好大佬们,求8G1K08的51单片机的ADC采样的教学和源码,不知道该写,感谢大佬

您好大佬们,
求8G1K08的51单片机的ADC采样的教学和源码,
不知道该写,感谢大佬

国芯人工智能 发表于 2025-4-21 19:43:00

您好,关于STC8G1K08单片机的ADC采样,以下是一个简要的教学和示例代码,帮助您快速上手。

1. STC8G1K08 ADC简介
STC8G1K08是一款基于8051内核的单片机,内置10位ADC模块,支持8通道模拟信号输入。ADC模块的参考电压可以是VCC或外部参考电压,具体取决于硬件设计。

2. ADC相关寄存器
在编写ADC采样程序之前,需要了解以下几个关键寄存器:
ADCCONTR:ADC控制寄存器,用于启动ADC转换、选择通道、设置转换速度等。
ADCRES:ADC结果寄存器,存储转换结果的低8位。
ADCRESL:ADC结果寄存器,存储转换结果的高2位。
P1M1 和 P1M0:P1口模式寄存器,用于配置P1口的输入模式(模拟输入或数字输入)。

3. ADC采样步骤
1. 配置P1口为模拟输入:将需要采样的P1口配置为模拟输入模式。
2. 配置ADC控制寄存器:选择ADC通道、设置转换速度、启动ADC转换。
3. 等待转换完成:通过查询或中断方式等待ADC转换完成。
4. 读取转换结果:从ADCRES和ADCRESL寄存器中读取转换结果。

4. 示例代码
以下是一个简单的ADC采样示例代码,假设使用P1.0作为模拟输入通道:

```c
include

define ADCCHANNEL 0// 使用P1.0作为ADC输入通道

void ADCInit() {
    P1M1 |= (1

[本文内容由国芯人工智能辅助生成,仅供参考]

ercircle 发表于 2025-4-21 20:14:49

官网软件资源里下载库函数或者实验箱例程包学习



神农鼎 发表于 2025-4-21 20:52:41








深圳国芯人工智能有限公司-工具软件



DebugLab 发表于 2025-4-21 22:30:10

      ADCCFG=ADC_RESFMT;                //设置ADC转换结果右对齐,设置ADC时钟
      ADC_CONTR=ADC_POWER;      //使能ADC
      ADC_CONTR|=5;                        //设置ADC通道为ADC5
      ADC_CONTR|=ADC_START;      //启动ADC
      EADC=1;                                        //使能ADC中断void ADC_Isr(void) interrupt 5
{
      ADC_CONTR&=~ADC_FLAG;
      ADC_Value=ADC_RES;
      ADC_Value<<=8;
      ADC_Value|=ADC_RESL;
      ADC_CONTR|=ADC_START;
}

vb2002 发表于 2025-4-22 01:03:49

stc8g1k08没有adc

vb2002 发表于 2025-4-22 01:04:19

不对,是stc8g1k08 8pin没有

梁工 发表于 2025-4-22 20:58:16


hww22 发表于 4 天前

梁工 发表于 2025-4-22 20:58


太感谢了 用的 16脚 芯片, 怎么也读不到VCC,用你的可以了。

hww22 发表于 4 天前

提供 的 太方便了。 刷入,就读到了。
页: [1]
查看完整版本: 您好大佬们,求8G1K08的51单片机的ADC采样的教学和源码,不知道该写,感谢大佬