UCLEO-8S208RB(基于STM8S208RBT6)和NUCLEO-8L152R8(基于STM8L152R8T6)开发板可用于评估所有STM8S系列和STM8L系列微控制器的主要特性。
本应用笔记简要介绍了如何在NUCLEO-8S208RB和NUCLEO-8L152R8开发板上使用ADC、TIM和GPIO外设。
当微控制器(本例中为STM8S208RBT6或STM8L152R8T6)使用连接到主机电脑的USB电缆供电时,定时器根据用户定义的周期触发ADC,以转换由可变电阻RV1(10KΩ)提供的模拟电压。 得到的平均电压测量值显示在LED灯条上。
1. 应用说明
本节主要介绍了使用NUCLEO-8S208RB或NUCLEO-8L152R8开发板在LED灯条上显示可变电压的硬件要求、应用程序的原理图和工作原理。
1.1 硬件要求
没有使用板载的组件。
所需的外部组件包含:
• 四个LED:LD2、LD3、LD4、LD5
• 一个10KΩ可变电阻:RV1
• 四个1KΩ电阻:R1、R2、R3、R4
• 一个100 nF电容:C1。
1.2 应用原理图
电容C1滤除ADC输入引脚上的电压尖峰:
• NUCLEO-8S208RB的PE6引脚上的ADC2_IN9功能
• NUCLEO-8L152R8的PC7引脚上的ADC1_IN3功能能
电阻器R1、R2、R3和R4分别限制流过LD2、LD3、LD4和LD5的电流。
关键字:STM8 LED灯条 可变电压
引用地址:
使用STM8 Nucleo-64开发板在LED灯条上显示可变电压
推荐阅读最新更新时间:2024-11-12 16:55
STM8 PWM例程
在单片机应用系统中,也常常会用到PWM 信号输出,例如电机转速的控制。现在很多高档的单片机 也都集成了PWM 功能模块,方便用户的应用。 对于PWM 信号,主要涉及到两个概念,一个就是PWM 信号的周期或频率,另一个就是PWM 信号的 占空比。例如一个频率为1KHZ,占空比为30%,有效信号为1 的PWM 信号,在用示波器测量时, 就是高电平的时间为300uS,低电平的时间为700uS 的周期波形。 在单片机中实现PWM 信号的功能模块,实际上就是带比较器的计数器模块。首先该计数器循环计数, 例如从0 到N,那么这个N 就决定了PWM 的周期,PWM 周期=(N+1)*计数器时钟的周期。在计数 器模块中一定还有一个比
[单片机]
STM8学习笔记(三):GPIO操作
乘着有时间,把有关GPIO的应用也顺便弄了 主要是各种液晶吧,手上正好有1602的液晶,12864的液晶,主控芯片是s6b0108的 不带字库,还有上次买的一个2.4寸的TFT彩屏,320*240的,主控芯片是ILI9325的 因为之前用51和STM32都驱动过,所以这次就没写什么,只是简单的移植了 下面只是最简单的底层驱动 /*************************TFT*************************/ /************************************************************* 函数名称:LCD_Write_Cmd 功 能:写命令函数 参 数
[单片机]
关于一款可以在STM8上运行的实时操作系统Atomthreads
前面有朋友大概了问了这样一个问题:我想在STM8单片机上,不跑操作系统,在需要处理一些业务逻辑时,还需要检测按键短按、长按、多个按键同时按下,我要如何实现? 不跑操作系统,这个问题其实是一个“很难”的问题,在单线程(裸机)情况下,处理多件事情,这个逻辑处理必须要严谨才行。 但是,有了操作系统,这个问题就不是问题了。 1写在前面 在不跑操作系统的情况,我曾经也用STM8单线程(逻辑)处理过相对复杂的业务逻辑:检测键盘(短按、长按)、控制显示、检测信号、串口收发通信等...... 虽然那些复杂的业务逻辑功能实现了,但开发的时间和周期,以及后期更新、维护的成本可想而知。 所以,本文针对资源较小的STM8,推荐大家
[单片机]
STM8单片机rtc时钟代码分享
STM8 rtc时钟可以使用内部低频时钟源,或者外部低速32768Hz时钟源,关于rtc部分代码如下: #include #include voidinit_rtc(void) { RTC_InitTypeDefRTC_InitStr; RTC_TimeTypeDefRTC_TImeStr; RTC_DateTypeDefRTC_DateStr; #if0 /*LSI*/ CLK_RTCClockConfig(CLK_RTCCLKSource_LSI,CLK_RTCCLKDiv_1); CLK_PeripheralClockConfig(CLK_Peripheral_RTC,ENABLE); RTC_InitStr.RTC
[单片机]
STM8 MAX485串口自收发程序
软件设计 /********************************************************************* 目 的: 建立MAX485操作库 目标系统: 基于STM8单片机 应用软件: Cosmic CxSTM8 *********************************************************************/ #include STM8S207R8.h void Init_UART1(void) { UART1_CR1=0x00; UART1_CR2=0x00; UART1_CR3=0x00; // 设置波特率,必须注意
[单片机]
STM8 IAR中实现类似 位带操作【兼容库函数】
用了STM8有一段时间了,发现STM8用IAR自带的 iostm8xxx.h 和ST的标准库不能共存, 于是结合IAR的库以及仿照 正点原子STM32 例程里面的 sys.h ,写个 stm8_sys.h ,方便自己,也方便其他人。谢谢支持! 代码如下: /************************************************************************ * 文件 :stm8_sys.h * 作者 :QinYUN575 * 版本 :V1.0 * 时间 :2017年11月5日 17:11:10 * 描述 :STM8实现位带操作 * 注意&示例: * 将PA.0置高:
[单片机]
STM8红外捕获解析 使用TIM1 16位高级控制定时器
TIM1 16位高级控制定时器 高级控制定时器具有不同的用途: 1、基本的定时。 2、测量输入信号的脉冲宽度(输入捕获) 3、产生输出波形(输出比较,PWM和单脉冲模式) 4、对应不同的事件(捕获、比较、溢出、刹车、触发)的中断。 高级控制定时器的时钟源可以是内部时钟,也可以是外部的信号,可以通过配置寄存器来进行选择。 多达4个独立通道可以配置 1、输入捕获 2、输出比较 3、PWM生成 4、单脉冲模式输出 static void TIM1_Init(void) { /* Set the Prescaler value */ TIM1- PSCRH = (u8)(Prescaler_t
[单片机]
STM8学习笔记---定时器 TIM1功能实现
STM8单片机的定时器1是一个16位定时器 定时器1为高级定时器,主要特性如下: 定时器1的寄存器比较多, 如果单纯的只是用定时功能的话,用不到这么多的寄存器。定时功能需要设置的寄存器主要有自动重装载寄存器ARR、预分频寄存器PSCR、控制寄存器CR、状态寄存器SR、中断使能寄存器IER。 初始化代码如下: void Timer1_Init( void ) { TIM1_ARRH = ( unsigned char )( 1000 8 ); //定时1ms TIM1_ARRL = ( unsigned char )( 1000 ); TIM1_PSCRH = ( unsigned char
[单片机]