找回密码
 立即注册
查看: 612|回复: 10

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

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:17
  • 最近打卡:2025-07-30 18:12:44
已绑定手机

18

主题

27

回帖

154

积分

注册会员

积分
154
发表于 2025-4-21 19:38:30 | 显示全部楼层 |阅读模式
您好大佬们,
求8G1K08的51单片机的ADC采样的教学和源码,
不知道该写,感谢大佬

回复

使用道具 举报 送花

3

主题

247

回帖

-795

积分

等待验证会员

积分
-795
发表于 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

[本文内容由国芯人工智能辅助生成,仅供参考]
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:253
  • 最近打卡:2025-07-31 08:55:10
已绑定手机

78

主题

2294

回帖

5226

积分

荣誉版主

无情的代码机器

积分
5226
发表于 2025-4-21 20:14:49 | 显示全部楼层
官网软件资源里下载库函数或者实验箱例程包学习

截图202504212014234831.jpg
截图202504212014462488.jpg
三天不学习,赶不上刘少奇~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:144
  • 最近打卡:2025-07-31 10:37:58

760

主题

1万

回帖

1万

积分

管理员

积分
18139
发表于 2025-4-21 20:52:41 | 显示全部楼层
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:513
  • 最近打卡:2025-07-31 08:58:47
已绑定手机

87

主题

5532

回帖

1万

积分

超级版主

DebugLab

积分
10123
发表于 2025-4-21 22:30:10 | 显示全部楼层
  1.         ADCCFG=ADC_RESFMT;                //设置ADC转换结果右对齐,设置ADC时钟
  2.         ADC_CONTR=ADC_POWER;        //使能ADC
  3.         ADC_CONTR|=5;                        //设置ADC通道为ADC5
  4.         ADC_CONTR|=ADC_START;        //启动ADC
  5.         EADC=1;                                        //使能ADC中断
复制代码
  1. void ADC_Isr(void) interrupt 5
  2. {
  3.         ADC_CONTR&=~ADC_FLAG;
  4.         ADC_Value=ADC_RES;
  5.         ADC_Value<<=8;
  6.         ADC_Value|=ADC_RESL;
  7.         ADC_CONTR|=ADC_START;
  8. }
复制代码


DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:441
  • 最近打卡:2025-08-01 00:05:50
已绑定手机

149

主题

1788

回帖

3002

积分

论坛元老

积分
3002
发表于 2025-4-22 01:03:49 来自手机 | 显示全部楼层
stc8g1k08没有adc
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:441
  • 最近打卡:2025-08-01 00:05:50
已绑定手机

149

主题

1788

回帖

3002

积分

论坛元老

积分
3002
发表于 2025-4-22 01:04:19 来自手机 | 显示全部楼层
不对,是stc8g1k08 8pin没有
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:137
  • 最近打卡:2025-07-31 12:11:20

76

主题

6281

回帖

1万

积分

超级版主

积分
13347
发表于 2025-4-22 20:58:16 | 显示全部楼层
STC8G系列-ADC相关程序.rar (341.32 KB, 下载次数: 71)
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:31
  • 最近打卡:2025-06-20 08:29:29

2

主题

10

回帖

182

积分

注册会员

积分
182
发表于 2025-4-28 11:06:36 | 显示全部楼层

太感谢了 用的 16脚 芯片, 怎么也读不到VCC,用你的可以了。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:31
  • 最近打卡:2025-06-20 08:29:29

2

主题

10

回帖

182

积分

注册会员

积分
182
发表于 2025-4-28 11:08:18 | 显示全部楼层
提供 的 太方便了。 刷入,就读到了。
VCC.png
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-8-1 01:24 , Processed in 0.155347 second(s), 110 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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