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

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

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:10
  • 最近打卡:2025-05-01 10:09:20
已绑定手机

10

主题

15

回帖

110

积分

注册会员

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

回复

使用道具 举报 送花

3

主题

1160

回帖

1031

积分

等待验证会员

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

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

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:162
  • 最近打卡:2025-05-01 06:56:44
已绑定手机

56

主题

1319

回帖

2938

积分

荣誉版主

无情的代码机器

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

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

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:423
  • 最近打卡:2025-05-01 07:10:25
已绑定手机

76

主题

4833

回帖

8343

积分

超级版主

DebugLab

积分
8343
发表于 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
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:350
  • 最近打卡:2025-05-01 00:32:14
已绑定手机

130

主题

1520

回帖

1855

积分

金牌会员

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

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:350
  • 最近打卡:2025-05-01 00:32:14
已绑定手机

130

主题

1520

回帖

1855

积分

金牌会员

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

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:50
  • 最近打卡:2025-04-30 22:59:03

73

主题

5882

回帖

1万

积分

超级版主

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

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:27
  • 最近打卡:2025-04-29 08:20:08

1

主题

6

回帖

129

积分

注册会员

积分
129
发表于 3 天前 | 显示全部楼层

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

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:27
  • 最近打卡:2025-04-29 08:20:08

1

主题

6

回帖

129

积分

注册会员

积分
129
发表于 3 天前 | 显示全部楼层
提供 的 太方便了。 刷入,就读到了。
VCC.png
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-1 21:59 , Processed in 0.133529 second(s), 119 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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