STM8L151C8学习笔记1:LED驱动

发布者:size0109最新更新时间:2022-01-30 来源: eefocus关键字: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驱动  时钟 引用地址:STM8L151C8学习笔记1:LED驱动

上一篇:STM8S003 上升沿进不去外部中断问题
下一篇:单片机C语言程序与数据存储

推荐阅读最新更新时间:2024-11-10 10:21

恒压式驱动芯片设计恒流LED驱动器方案
发光二极管驱动芯片按类型可分为:恒压式驱动芯片、恒流式驱动芯片以及脉冲式驱动芯片。其中恒压式驱动芯片一般就是我们常见的DC/DC升压芯片居多。这种方案的优点是芯片成本便宜没有复杂的外围电路。但只能恒定电压驱动LED就会造成驱动输出时电路电流的不可控。无法保证LED亮度的一致性。恒流式驱动芯片则解决了之前恒压式驱动的电流不可控问题。比较好的恒流芯片可以做到1%左右的恒流精度,而且有简易的外围控制接口可灵活设置所需输出的电流大小所以倍受欢迎。但是这类芯片价格比恒压芯片价格高许多且外围电路复杂。同时因为恒定输出电流所以整个芯片的在电池作为供电的时候放电会比较快。脉冲式驱动芯片是以高频率的脉冲发生器输出接口向LED灯供电。因为是脉冲信号频
[嵌入式]
恒压式驱动芯片设计恒流<font color='red'>LED驱动</font>器方案
S3C2440 LED驱动
//头文件 #include linux/miscdevice.h #include linux/delay.h #include asm/irq.h #include mach/regs-gpio.h #include mach/hardware.h #include linux/kernel.h #include linux/module.h #include linux/init.h #include linux/mm.h #include linux/fs.h #include linux/types.h #include linux/delay.h #include linux/moduleparam.h #includ
[单片机]
如何使用PIC内含之RC振荡器来当作系统时钟源?
从PIC12C508开始,逐渐地,PIC有很多型号都内含有可以当作系统时脉源的RC振荡器。有了这项功能,不但让整体系统的成本进一步往下降;并且还因为内部的RC振荡源是经过校正的,而获得了比外接RC振荡更精确的时钟。 不过,想要使用内部RC振荡而有精确的时钟,是有方法的。除了在刻录IC时要指定使用内部RC振荡以外,还要在原始程序代码中加上一些命令才行。而命令的用法,还因不同种类的PIC而有不同。 以12-BIT 架构的PIC而言,例如PIC12C508,Microchp在IC的最后一行程式内存,加上一个 movlw 0x?? 的命令,当芯片复位时,IC会先运行该命令之后,再跳到地址0继续运行。因此,如果您一直没有去修改到w暂
[单片机]
美信推紧凑LED驱动器 汽车电池可驱动多达8个高亮度LED
(图片来源:美信官网) 据外媒报道,美信开发了更简单、更高效的驾驶HBLED(高亮度LED)驱动器MAX25610A和MAX25610B。同步降压、升降压LED驱动器/DC-DC转换器提供了完整的解决方案,具有行业领先的EMI性能,并且效率高、尺寸小。 随着汽车工业加速向全LED照明转型,设计师们面临提高效率、简化设计和降低系统成本的挑战,同时还要达到严格的EMI要求。传统上,设计师必须在系统中使用多个组件才能通过EMI规范。为了提高性能,通常不得不在空间和系统效率上做出妥协,同时还要解决散热和高成本问题。 MAX25610A/B LED驱动器尺寸小、效率高、EMI性能高。该驱动器旨在用于汽车照明系统,以及工业和商业
[汽车电子]
美信推紧凑<font color='red'>LED驱动</font>器 汽车电池可驱动多达8个高亮度LED
STM8 低功耗的时钟管理
STM8降低系统时钟 在运行模式,为了即能满足系统性能又能降低功耗,选择合适的系统时钟源是很重要的。可通过写时钟控制寄存器选择时钟源。参见时钟控制章节。 通过写时钟分频寄存器CLK_CKDIVR的位CPUDIV ,可降低fCPU的时钟频率。这会降低CPU的速度,但同时可降低CPU的功耗。其它外设(由fMASTER提供时钟)不会受此设置影响。 在运行模式下,任何时候需要恢复全速运行,将CPUDIV 清0即可。 STM8外设时钟门控 为了更进一步降低功耗,可使用时钟门控。用户可在任意时间打开或关闭fMASTER与各个外设的连接。参见时钟控制章节。 此设置在运行模式和等待模式均有效。
[单片机]
Rambus领先一步推出6400MT/s的第三代DDR5寄存时钟驱动器
日前,Rambus宣布推出6400 MT/s DDR5寄存时钟驱动器(RCD),并向各大DDR5 RDIMM内存模块制造商提供样品。相比第一代 4800 MT/s解决方案,Rambus 第三代6400 MT/s DDR5 RCD的数据传输速率和带宽提高了33%。相对而言,目前其他几家主流的DDR5 RCD厂商还停留在第二代DDR5上。 而与此同时,IT基础设施的不断增长,使得提高内存传输速率的需求不断提升。正如Rambus内存互连芯片业务部门产品营销副总裁 John Eble所说,在三到四个月之前,一些全新发布的服务器CPU进一步提高了其数据传输速率,因此第三代6400 MT/s速率的DDR5势在必行。 IDC内存半导体部
[嵌入式]
Rambus领先一步推出6400MT/s的第三代DDR5寄存<font color='red'>时钟</font>驱动器
LED驱动电源电路设计的几个大问题
LED照明驱动电源电路设计技术应用 LED 的排列方式及LED 光源的规范决定着基本的驱动器要求。LED驱动器的主要功能就是在一定的工作条件范围下限制流过LED的电流,而无论输入及输出电压如何变化。最常用的是采用变压器来进行电气隔离。文中论述了LED照明设计需要考虑的因素。 一、LED驱动器通用要求 驱动LED 面临着不少挑战,如正向电压会随着温度、电流的变化而变化,而不同个体、不同批次、不同供应商的LED 正向电压也会有差异;另外,LED 的“色点”也会随着电流及温度的变化而漂移。 另外,应用中通常会使用多颗LED,这就涉及到多颗LED 的排列方式问题。各种排列方式中,首选驱动串联的单串LED,因为这种方式不论正向电压如何变化、
[电源管理]
700V超高压非隔离高效率LED驱动方案
半导体技术已经改变了世界,半导体照明技术将再一次改变我们的世界。LED灯珠生产工艺的在不断成熟,使得LED灯具的价格也逐年下降;同时伴随着LED市场规模的壮大,LED也逐渐进入民用家居照明领域。LED具有高效节能、寿命长的突出优点,但是由于高昂的成本,LED灯具的整体价格居高不下,亦使得LED的普及受阻,带来的结果就是LED仅用于液晶背光、装饰照明和景观照明等高端领域,而在规模巨大的民用家居照明市场还徘徊不前。当前正处于LED普及的关键时期,能够在这轮LED普及的热潮中脱颖而出的企业,必将成为LED产业的领导者,而具有竞争力的方案将是企业突围不可或缺的因素。   赛威科技新推出的SFL500/SFL520系列芯片在LED驱动领域具有
[模拟电子]

推荐帖子

求指点AD630锁相电路检测微弱信号
按照芯片资料上接的不行啊·不知道是不是接法不对··求大神指点正确接法··求指点AD630锁相电路检测微弱信号这个,你做出来了吗? 你好
xz19921230 ADI参考电路
skyline中添加 gps 坐标
在skyline的terraexplorer中如何添加gps坐标如何从gps中直接倒入坐标点skyline中添加gps坐标通过串口读取GPSNMEA数据,并按照规范从中获取坐标。
ld21502839 嵌入式系统
【Follow me第二季第2期】Arduino Uno R4 WiFi 通过MQTT连入Home Assistant(容器版)
1.安装Docker(系统windows10及以上,其余系统未进行测试。另外如果有树莓派、NAS的用户也可以自行安装HAOS,Linux或虚拟机用户安装对应的版本).2.Docker中拉取HomeAssistant镜像在windows命令行中输入以下命令搜索镜像,dockersearchhome-assistant回车后可以看到排名第一的homeassistant/home-assistant;输入以下命令拉取最新版本镜像dockerpul
sunduoze DigiKey得捷技术专区
igbt问题
请问高手:IGBT驱动波形,什么样算正常。我的电路中给IGBT全桥加上直流电压后,栅极驱动波形上就会有高次谐波(在上升和下降沿附近)如何解决。谢谢igbt问题
lanq 工控电子
电柜改成电路板求助及变频器的干扰
电柜中包含PLC中间继电器变频器PLC控制变频器能否把这个电路改成电路板而且如何抑制变频器对电路板的干扰谢谢电柜改成电路板求助及变频器的干扰求助哈“PLC中间继电器变频器PLC控制变频器”,“能否把这个电路改成电路板”你看看这些继电器、变频器等等是用多粗的导线联接的,这些继电器、变频器等等体积有多大,再考虑你的电路板上铜箔能否承受这么大的电流,能否承受这么大的重量。工业现场不建议改,一般的PLC针对现场的复杂环境都会做各种测试,你能保证你得电路板达到要求吗?当然,
小强350681 PCB设计
关于51单片机电子称的问题
各位高人该选那种型号的压力传感器啊,我要的称重范围是0到2000克或3000克的范围?望各位高人指导!希望是输出电压型的传感器,好直接用AD转换芯片!关于51单片机电子称的问题这个网上搜吧很多课设都有方案的是么?能否给出具体一点的东西
wuxianwwwwww 嵌入式系统
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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