STM8L151C8学习笔记1:LED驱动

发布者:备战最新更新时间:2022-01-12 来源: eefocus关键字:LED驱动  点亮LED 手机看文章 扫描二维码
随时随地手机看文章

按以往的单片机开发流程,第一步先来点个灯。

基于STM8与STM32同属STM系列,要想点亮一个灯,所需步骤不过就三步:

开启相应时钟


初始化GPIO模式


拉高/置低来点亮LED


硬件电路

主控部分:

STM8主控

LED电路:

LED

代码编写

1.led.c 部分内容如下:


#include "led.h"


/*GPIO*/

#define         LED_PORT         GPIOA

#define         LED1_PIN         GPIO_Pin_6

#define         LED2_PIN         GPIO_Pin_7

/*LED*/

#define         LED1             GPIO_Pin_6

#define         LED2             GPIO_Pin_7


/*Functions*/

void Led_Init(void)

{

  /*GPIO Init*/

  GPIO_Init(LED_PORT,LED1_PIN|LED2_PIN,GPIO_Mode_Out_PP_Low_Slow);

  /*Led Init*/

  GPIO_ResetBits(LED_PORT, LED1_PIN|LED2_PIN);

}


void Led_Set(GPIO_Pin_TypeDef ledx, uint8_t state)

{

  if(state == 1)        GPIO_SetBits(LED_PORT,ledx);

  else                  GPIO_ResetBits(LED_PORT,ledx);

}


2.main.c 部分内容如下:


/* Includes ------------------------------------------------------------------*/

#include "stm8l15x.h"

#include "led.h"

/* Parameter Definition ------------------------------------------------------------------*/

uint8_t LED1_State = 1,LED2_State = 0;

/* Functions ------------------------------------------------------------------*/

/**

  * @brief  CLK Config.

  * @param  None

  * @retval None

  */

void Clk_Config(void)

{

   CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1);//系统1分频,16M

}

/**

  * @brief  LED Flash.

  * @param  None

  * @retval None

  */

void LED_Flash(void)

{

  Led_Set(LED2, LED2_State);

  Led_Set(LED1, LED1_State);

  LED1_State = !LED1_State;

  LED2_State = !LED2_State;

  Delay_ms(500); 

}

/* Main Functions ------------------------------------------------------------------*/

/**

  * @brief  Main program.

  * @param  None

  * @retval None

  */

int main(void)

{

  /*System Init*/

  Clk_Config();

  Led_Init();

  /* Infinite loop */

  while (1)

  {

    LED_Flash();

  }

}


其中Delay_ms()函数之前自己尝试写过,发现延时时间并不精准后,借鉴了大佬写的delay代码。


总结

LED点灯相对简单,因为STM8与STM32不同,其中GPIO并没有单独的时钟,所以只需确定Delay函数的时钟就好了。

关键字:LED驱动  点亮LED 引用地址:STM8L151C8学习笔记1:LED驱动

上一篇:STM8L151C8学习笔记3:OLED驱动
下一篇:STM8L151C8学习笔记0:建工程

推荐阅读最新更新时间:2024-11-09 00:19

玩转升压调节器——预测LED驱动器反馈环路
在进行功率级小信号建模时,升压调节器与降压调节器相比有两个缺点:第一,它有一个由占空比和负载决定的右半平面(RHP)零点,从而加大了模型的推导复杂性;第二,升压调节器不如降压调节器常用,因而其没有在推导精确小信号模型方面付出太多努力。本篇文章,我们将介绍一种面向电流模式升压转换器 (作为电压调节器使用)的简化模型,同时给出为了预测升流调节器行为需要对标准做法进行的几项修改建议。 峰值电流模式控制(在升压调节器中控制电感器/开关电流,而不是输出电流)在低端控制器和单片IC中随处可见,它们的控制开关发射极/源极与系统地相连。所有常见的可用低端控制器实现的开关调节器,诸如升压、反激(flyback)、单端初级电感转换器(SEP
[电源管理]
玩转升压调节器——预测<font color='red'>LED驱动</font>器反馈环路
几种车用LED驱动方案的比较
摘要:汽车上的转向灯不再是只能一闪一灭了。现在的LED光带中发光颗粒可以以一定次序亮灭,光带看上去像发光虫子朝着汽车转向或者变道的方向直直地游去:现在不仅仅转向灯可以实现上述功能了,全车的照明都已经发展成可以以上述方式开启和熄灭。随着LED灯具应用领域越来越广泛,研究分析用于控制LED灯的转换器拓扑结构也就越来越迫切了。 因为LED灯具有很高的应用灵活性,所以在进行汽车设计时,设计人员可利用LED高可塑性将车辆的灯光作为该汽车品牌外观亮点。而且LED灯发光效率高,使用寿命长,这也从技术角度解释了为什么这种光源越来越受到汽车厂家的青睐。汽车上都有很多种类的灯由LED光源扛起了大梁,包括方向灯、尾灯、近光灯和刹车灯,这些LED灯担任的角
[嵌入式]
LED驱动器集成电路需要具有的特点分析
用来驱动白光 led 的 LED 驱动器集成电路约占总 LED 驱动器市场的 50%,白光 LED常用来为很多电池供电型手持式便携产品的小型显示屏提供背光照明。不过,这类照明应用已经成熟,未来 5 年不会有很高的年复合增长率。就 LED 照明应用而言,年复合增长率远高于手持式产品背光照明市场的 3 个最大的市场依次是:大型平板显示屏高清电视机、汽车前灯照明和通用照明。   随着消费者要求高清电视机具有更大的平板显示屏和更高的分辨率,对电视机的需求已经迅速从等离子高清电视机转向了 LED 高清电视机。根据 DisplaySearch 公司的数据,等离子高清电视机的销售高峰将出现在 2008 年,销售收入为 240 亿美元;而 20
[电源管理]
大功率LED驱动电源设计方案
  大功率LED 的驱动需要直流低电压、大电流,所以传统电源并不适合直接驱动它, 因此普通的降压、稳压电源必须进行必要的改进。笔者特为工作电压为3.4 V、工作电流为350 mA 的大功率LED设计一驱动电源。根据大功率LED 的工作特性,分析市场上常见的驱动电源, 研究了在路灯照明领域的应用, 为了能更好地发挥大功率LED 的优点,驱动电源必须满足大电流输出, 且需要顾及散热、过压、过流、过温保护等多个因素。本方案设计的驱动电源采用散热基板方式, 既能很好地解决散热问题, 采用并联齐纳管的方式来对过压、过流进行保护, 采用具有温度补偿电路来保护出现过温现象, 从而解决了上述几方面问题。   1 大功率LED 的光控电路
[电源管理]
大功率<font color='red'>LED驱动</font>电源设计方案
汇编写51单片机之循环点亮LED
二话不说,先上代码: ORG 0000H AJMP MAIN MAIN:SETB P1.0 LCALL DELAY CLR P1.0 LCALL DELAYA AJMP MAIN DELAY: MOV R7,#255 D1: MOV R6,#255 D2: DJNZ R6,D2 DJNZ R7,D1 RET DELAYA: MOV R7,#100 K1: MOV R6,#100 K2: DJNZ R6,K2 DJNZ R7,K1 RET END 让我从头到尾来分析这整个程序:首先,这段程序是用于循环点亮P1.0这个灯的。 ORG 0000H ;这句话我们说过他的作用了,不懂的往前看。 AJMP MAIN ;这句话分成两个部
[单片机]
去电源一体化光源LED驱动技术分析及发展趋势
去电源化更便于 LED 灯具或光源的设计,对 LED照明 产品的普及也具有非常重要的促进作用。但如何从技术层面实现去电源化呢?去电源化技术目前会面临怎样的问题呢?未来的 LED驱动 /光源趋势与格局又是什么样的呢?以下笔者带你详细剖析。   LED产业发展到今天,随着市场和技术的成熟,其应用己全面渗透到各个领域。驱动电源作为LED产业链的一个重要组成部分,在LED的推广和快速普及化的过程中扮演了非常重要的作用。众所周知,当前LED的驱动绝大部分为点对点驱动,即一个电源驱动一个LED灯。可以说,LED产业链的成熟伴随着LED驱动的成熟。   自然界的万事万物都在向前发展,LED产业自然也离不开这个规律。LED光源在早期的推广中一直都
[电源管理]
去电源一体化光源<font color='red'>LED驱动</font>技术分析及发展趋势
让你进一步了解“LED驱动电源”
LED驱动电源 把电源供应转换为特定的电压电流以驱动 LED 发光的电压转换器,通常情况下: LED驱动 电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。而LED驱动电源的输出则大多数为可随LED正向压降值变化而改变电压的恒定电流源。LED电源核心元件包括开关控制器、电感器、开关元器件(MOSfet)、反馈电阻、输入滤波器件、输出滤波器件等等。根据不同场合要求、还要有输入过压保护电路、输入欠压保护电路,LED开路保护、过流保护等电路。    LED驱动电源的特点   (1)高可靠   性特别像LED路灯的驱动电源,装在高空,维修不方便,维修的花费也大。   (2)高效率   LE
[电源管理]
LED驱动器与升压转换器的编程设计实现
  升压DC-DC开关转换器的工作频率是650 kHz/1300 kHz。分别采用1.8 V至5.5 V单电源或2.5 V至5.5 V单电源供电时, 升压转换器ADP1612和ADP1613能够以高达20 V的电压供应超过150 mA的电流。通过将一个1.4 A/2.0 A、0.13 Ω 功率开关与一个电流模式脉宽调制调节器集成在一起,其输出随输入电压、负载电流和温度变化仅改变不到 1%。工作频率可通过引脚选择,并通过优化实现高效率或最小外部元件尺寸:650kHz 时,其效率可达到 90%;1.3 MHz 时,其电路能够以最小空间实现,因而非常适合便携式设备和液晶显示器中的空间受限环境。   可调软启动电路防止发生浪涌电流——确
[电源管理]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved