0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

stm8s003 ad

分享:

关于STM8S003微控制器的模数转换器(ADC)模块,以下是关键信息及使用方法:

核心特性

  1. ADC类型

    • 10位分辨率(最大精度1024级)
    • 最多支持 5个外部通道(AIN0-AIN4),复用GPIO:PC0-PC4(具体封装可能不同)
  2. 参考电压

    • 默认使用 ( V_{DD} ) 作为参考电压(通常3.3V)
    • 可通过 ADC_CR2 寄存器选择内部参考电压(需根据手册确认是否支持)
  3. 采样速率

    • 最高采样率约 1MHz(单次转换时间≈1μs)

操作步骤(寄存器配置)

#include "stm8s.h"

void ADC_Init(void) {
  // 1. 使能ADC时钟
  CLK_PCKENR2 |= (1 << CLK_PCKENR2_ADC); // 开启ADC外设时钟

  // 2. 配置GPIO为浮空输入
  PC_DDR &= ~(0x1F);   // PC0-PC4设为输入
  PC_CR1 &= ~(0x1F);   // 浮空输入模式

  // 3. ADC基本配置
  ADC_CR1 = 0x00;      // ADC时钟=fMASTER/18, 单次模式
  ADC_CSR = 0x00;      // 初始通道选择(如AIN0)
}

u16 ADC_Read(ADC_Channel_TypeDef channel) {
  ADC_CSR = channel;   // 选择转换通道
  ADC_CR1 |= ADC_CR1_ADON; // 唤醒ADC(首次启动需延时)
  delay_us(10);
  ADC_CR1 |= ADC_CR1_ADON; // 再次写入启动转换
  while (!(ADC_CSR & ADC_CSR_EOC)); // 等待转换完成
  ADC_CSR &= ~ADC_CSR_EOC; // 清除标志位
  return ADC_DRH << 8 | ADC_DRL; // 返回10位结果
}

关键寄存器说明

寄存器 作用
ADC_CR1 时钟分频、工作模式
ADC_CSR 通道选择、转换结束标志(EOC)
ADC_DRH/L 存储转换结果(高8位+低2位)

注意事项

  1. 首次启动延迟
    首次使能ADC需延时约7μs(唤醒时间),建议连续两次写 ADON 位。

  2. 采样时间调整
    通过 ADC_SQR 设置采样时间(默认较慢),适当延长可提高精度:

    ADC_SQR1 |= (0x03 << 4); // 设置采样时间=55.5周期(例)
  3. 参考电压稳定性
    高精度应用时,建议使用外部参考电压源(如TL431),避免 ( V_{DD} ) 波动影响精度。


应用示例(读取电位器)

// 连接电位器到PC0(AIN0)
u16 read_potentiometer(void) {
  u16 adc_val = ADC_Read(ADC_CHANNEL_0);
  return (adc_val * 3300) >> 10; // 转换为电压值(mV)
}

建议结合ST官方库(STVD/Cosmic)开发,简化寄存器操作。实际使用前请查阅数据手册确认引脚复用和电气特性(Doc ID 14587 Rev 10)。

STM8S003

STM8S003编程和下载程序用啥软件?

CYY8530 2020-06-02 12:19:43

STM8S003的flash可擦写次数是多少?

STM8S003的flash可擦写次数是多少

zhouxk 2023-10-10 07:28:12

stm8s003能模拟usb键盘吗?

stm8s003能模拟usb键盘吗,串口输入数据,usb数据给电脑,可以用usb1.1低速的,最好有例程

早知 2023-11-09 07:28:28

芯圣电子兼容STM8S003的王牌选手-HC89S003A系列

HC89S003A系列是芯圣电子在2021年推出的HC89S003系列的全新升级版。不仅性能上超越前代,在兼容STM8S003系列这方面表现更为优异!覆盖了STM8S003的所有管脚功能,电源管脚

2022-09-15 15:27:56

STM8S003和STM8S103两个主控有什么区别?

STM8S003和STM8S103两个主控有什么区别

洒下墨色 2023-10-11 08:32:07

stm8s003和n76e003写了底层驱动

前段时间做了个88颗灯珠的原形灯板,分别用stm8s003和n76e003写了底层驱动,根据手册要求代码如下:STM8S003#include "fy_ws2812b.h"/*此

overheat 2021-11-23 08:09:58

stm8f103和stm8s003有何不同

1.先上脚位图,不要问我为什么是stm8f103,stm8f103和stm8s003只有内存的不同。2.上代码,选用PC4(AIN2)为ADC转换引脚,只提供函数,自己选择调用,不追求精度的话可以

微风挽雨 2021-12-10 06:52:06

怎样使用STM8S003的PWM功能输出PWM波呢

怎么去修改stm8s系列单片机的头文件呢?怎样使用STM8S003的PWM功能输出PWM波呢?

北冥有熊 2022-02-17 07:20:59

STM8S003程序偶尔会不见是为什么?

我目前使用STM8S003 並且有使用到option byte 在正常使用的過程中,有時候程式就突然不見了, 不知道各位有沒有過沒這樣的問題? 然後重新燒錄的時候會失敗並且出現下面的訊息

马汉三呐 2023-10-20 08:19:48

STM8S003移植N76E003功耗增加了一倍怎么解决?

STM8S003移植N76E003,功耗增加了一倍,除了降主频外,还有其它降功耗的办法吗,用到三路ADc,两时钟,一串口

吴与伦比 2023-09-01 07:22:16

STM8S003单片机ADC采样通道有几个呢

STM8S003单片机ADC采样通道总共有5个,从AIN2---AIN6,多通道采样时需要将ADC转换设置为单次转换模式,每次切换采样通道后,需要重新初始化 ADC,采样结果在中断中读取。IO口

jerry181855 2022-02-21 07:04:42

分享 STM8S003开发板工程文件原理图

`由于用户的开发需求,接触到STM8S系列的单片机,起初并不看好,但是它的价格很亲民,STM8S003淘宝价格普遍在0.9-1.5之间不等,正常在1.05就能买到,很便宜。对于产品要求不高的场合可以

猛男217 2019-09-28 18:46:01

如何控制stm8s003核心板进行简单的IO输入输出/中断/窗口看门狗/全休眠功能?

如何控制stm8s003核心板进行简单的IO输入输出/中断/窗口看门狗/全休眠功能?

snandi 2022-02-21 06:02:44

STM8S003单片机UID读取的方法有几种

最近做项目时需要用到单片机的序列号,于是查了一下STM8S003单片机UID读取的方法。读取UID方法大概分两种,一种是直接在地址中读取,一种是通过定义一个联合体,将联合体的起始地址设置在UID起始

乔伊斯e 2022-02-21 06:15:02

STM8S003单片机的ADC怎样才能实现连续转换呢

STM8S003单片机内部ADC为12位,A/D转换的各个通道可以执行单次和连续的转换模式。 单次转换模式的意思就是,ADC每次转换一次数据后,就会停止转换,如果还需要继续转换的话,就需要手动开启

gvjhvbc 2022-02-21 06:38:50

怎样去读取STM8S003单片机各个通道的ADC采样值呢

在ADC多通道采样时遇到了一个问题,费了半天劲才找到原因。在此将分析过程记录下来。这是STM8S003单片机5个通道ADC采样程序,在主函数中依次读取各个通道的ADC采样值。首先单独测试一下每个通道

shbaoyan 2022-02-21 07:35:50

EN8F5113完全兼容替代意法半导体STM8S003单片机

还有没有国产替代厂商能完美兼容替代ST单片机STM8S003、华大HC32F003和新唐N76E003芯片的呢?下面英锐恩的小编为大家介绍一款完美兼容替代上述型号的芯片:恩智微低功耗增强型8051

2022-10-18 15:50:57

STM8S003单片机系统开发平台的搭建

一、硬件开发环境的搭建图示电路板上所用单片机即为STM8S003,仿真器(或者叫下载器、调试工具)为ST-Link V2,再加一台电脑。在电脑上首次插上ST-Link V2需要安装驱动软件,驱动软件

一只耳朵怪 2020-11-26 16:54:03

STM8S003单片机最小系统的电路原理图

本文以ST公司的STM8S003单片机为例,给大家讲解一个单片机最小系统的电路原理图:通过单片机采集一个按键信号,点亮一颗LED灯。如果你看懂了这张原理图,单片机硬件就入门了——真的到进门了!一

一只耳朵怪 2020-11-26 16:45:20

如何用stm8s003让nrf24l01发送数据?

大家好,请问一下用stm8s003让nrf24l01发送数据,让stm32接收数据。程序如下const u8 TX_ADDRESS[TX_ADR_WIDTH]= {0x34

青上也 2020-07-22 04:11:56

stm8单片机例程分享

使用stm8单片机模拟串口功能实现STM8S003单片机串口实现printf函数功能STM8单片机输出SPWM波STM8单片机PWM单脉冲模式STM8S003单片机定时器4TIM4功能实现STM8S003单片机定时器2TIM2功能实现STM8S003单片机定时器1TIM1功

挽你何用 2022-01-27 07:37:24

STM8S003引脚坑(开发过的人都知道)

实验目的 :控制stm8s003核心板进行简单的IO输入输出、中断、窗口看门狗,全休眠功能0.先看手册PB4和PB5引脚因为内部没有上拉电阻,所以不能输出高电平只能浮空输入。浮空输入也有问题 因为它

h1654156079.5272 2022-04-21 14:16:49

使用N76E003单片机开发的项目

1、项目说明这是本人使用新唐N76E003单片机开发的第一个项目,通过博客来记录开发的过程,以便以后可以参考,同时也留点回忆。此次的项目使用的N76E003是能够与STM8S003进行引脚兼容,而且

硕达科讯 2021-11-22 07:14:56

stm8s003让nrf24l01发送数据,让stm32接收数据的疑问如何解答

大家好,请问一下用stm8s003让nrf24l01发送数据,让stm32接收数据。程序如下const u8 TX_ADDRESS[TX_ADR_WIDTH]= {0x34

韩程瑞1 2020-07-19 08:01:00

求分享MCU N76E003AT20详细资料

听说新唐出来个 N76E003AT20对标STM8S003的,上新唐官网搜Datasheet竟然没找到

yfdsfqdqd 2023-06-25 11:34:29

N76E003如何降低功耗?

STM8S003移植N76E003,功耗增加了一倍,除了降主频外,还有其它降功耗的办法吗?

小野七七 2023-06-27 09:58:25

STM8S003中的快速中断

嗨,对于我的项目,我使用外部端口中断。当它到来时,我必须进行ADC转换。中断来自每5 us ....每隔5us中断后可以进行ADC转换吗?我正在使用STM8S003K3 MCU的发现套件进行测试 米

60user77 2019-05-28 15:26:51

STM8单片机串口发送引脚和接收引脚的相关资料推荐

在使用STM8S003单片机时,需要用到ADC采样功能,STM8S003总共有5个ADC采样口,但是其中两个采样口是和串口复用的,如果当ADC口用,就不能用串口,如果当串口用,就不能用ADC口。通过

caosurround 2022-01-27 08:04:57

在STVD中编译显示错误

您好,我正在修改已经可以使用的STM8S003的代码。但是代码停止了工作,即使我还没有做任何改动。STVD显示以下错误消息:#error clnk Debug

60user42 2019-06-05 14:25:47

请问N76E003能接外部晶体吗?

N76E003号称与STM8S003兼容,但我看手册上,只标有OSC IN 的引脚,并且在说明中说:XIN: If the ECLK mode is enabled, XIN

hfgdf 2023-06-26 07:47:49

加载更多
stm8s003 ad相关专题
相关标签