STM8S003F3控制LED

发布者:科技狂人最新更新时间:2018-08-12 来源: eefocus关键字:STM8S003F3  控制LED 手机看文章 扫描二维码
随时随地手机看文章

一、概述

不管什么单片机,想要控制LED灯,只能是通过控制单片机芯片的I/O引脚电平的高低来实现。

同样在ST单片机上,I/O引脚可以被软件设置成各种不同的功能,如输入或输出,所以被称为 GPIO (General-purpose I/O)。
而GPIO引脚又被分为GPIOA、GPIOB„„GPIOG不同的组,每组端口分为 0~15,共16个不同的引脚不等,
对于不同型号的芯片,端口的组和引脚的数量不尽相同,具体请参考相应ST单片机芯片型号的datasheet。 


根据ST单片机的GPIO特点,控制LED灯的步骤如下: 
1.在众多 GPIO端口引脚中选定需要控制的特定引脚[与LED相连的控制引脚] 
2.根据外设配置GPIO需要的特定功能 
3.通过设置 GPIO输出电压的高低控制LED的亮和灭


STM8S003F3是一款比较小巧的单片机,在IO资源需求够小的时候可以选择,同时它的控制也相对的简单些,
STM8系列的单片机一般都是使用IAR for STM8的开发环境,同时注意,在安装时最好把STLink下载器直接插在电脑上安装,
因为在安装IAR for STM8开发环境时会自动安装STLink的驱动。[根据本人经验,插上下载器安装最容易安装成功]
二、硬件电路图

三、需要用到的函数库


stm8s_gpio.c


程序

main.c


/*********************************************************

*平台:IAR for STM8 V2.10.4

*主控:STM8S003F3

**********************************************************/

#include "stm8s.h"

#include "led.h"

#include "delay.h"

 

int main(void)

{

   LED_Init();       //LED初始化

   Delay();                  //延时初始化

   while(1)

   {

LED_Not(0);

     Delay_ms(500);

    }

 }



led.c




#include "led.h"

 

void LED_Init(void)

{

   //定义LED的管脚的模式 推挽-输出高电平-低速

   //GPIO_MODE_OUT_PP_LOW_SLOW

   //本来可以写成一句   GPIO_Init(GPIOC,GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6,GPIO_MODE_OUT_PP_HIGH_SLOW);

   //但是IAR的软件这样写会出警告,所以只能分开写

   GPIO_Init(GPIOC,GPIO_PIN_3,GPIO_MODE_OUT_PP_HIGH_SLOW);

   GPIO_Init(GPIOC,GPIO_PIN_HNIB,GPIO_MODE_OUT_PP_HIGH_SLOW);

 

}

//LED控制引脚取反

void LED_Not(int n)

{

    switch(n)

    {

        case 0: GPIO_WriteReverse(GPIOC, GPIO_PIN_3);

                break;

        case 1: GPIO_WriteReverse(GPIOC, GPIO_PIN_4);

                break;

        case 2: GPIO_WriteReverse(GPIOC, GPIO_PIN_5);

                break;

        case 3: GPIO_WriteReverse(GPIOC, GPIO_PIN_6);

                break;

    }

}


编译下载后就能看到LED一闪一闪的


关键字:STM8S003F3  控制LED 引用地址:STM8S003F3控制LED

上一篇:单片机引脚控制继电器最简单的电路方式
下一篇:单片机系统时钟与实时时钟有什么区别

推荐阅读最新更新时间:2024-03-16 16:10

用微控制器单端口线驱动多个LED显示器
许多仪器设计中都需要七段显示器。在基于微控制器的常规设计中,一个七段显示器使用四输出端线。图1为常规四位七段LED显示器示意图。在该例中,四位七段LED需要两个8位输出口。图2为另一个通用显示器多路设计,1.5个8位端线驱动四个七段显示器。因为有视觉暂留,必须对显示器进行不断刷新,使其看起来稳定。 图3的电路不需要多个端口线,用一个端口线驱动四个显示器。(理论上,用这种方法,一个端口线可以驱动任意多个显示器)。一旦需要更新显示,端口线应输出软件产生的脉冲链。第一个脉冲应为长脉冲,后续脉冲为数量等于显示器个数的多个短脉冲。 IC1单稳态和与门用作长脉冲探测器。IC2到IC5(CD40110)为十进制升降计数/锁存/显示器驱动器。微
[应用]
STM32CubeMX学习笔记2:GPIO按键外部中断控制LED状态
MCU:STM32F103ZET6 IDE: MDK-ARM V5 +STM32CubeMX5.0.0 本次实现的功能是通过按键的外部中断,来改变对应LED的状态,需要将按键的I/O端口映射到外部中断线上。 需要初始化的按键I/O口分别对应PA0PE2PE3PE4,LEDI/O口分别为PC0PC1PC2PC3PC4。 一. 在 Pinout&Configuration---System Core中: 1. 首先设置时钟RCC的HSE(外部高速时钟)为晶振模式:Crystal/ceramic Resonator 2. 设置系统SYS的Debug为Serial Wire: 3. 设置GPIO中的LED
[单片机]
STM32CubeMX学习笔记2:GPIO按键外部中断<font color='red'>控制</font><font color='red'>LED</font>状态
单级LED照明脉冲宽度调节 (PWM) 控制器TPS92210 优势
TPS92210是一款单级LED照明脉冲宽度调节 (PWM ) 控制器。TRIAC可调光解决方案不但可调节LED电流,而且还可实现接近 1 的功率因数。参照设计可实现 85% 的效率,支持高密度小型设计方案。该 TPS92210 适用于普通照明应用,如商业与住宅嵌灯、通风照明装置、灯泡替代产品、建筑以及显示照明等。   TPS92210 的主要特性与优势:   1、TPS92210 支持峰值基础电流、恒定导通时间以及频率调制等高灵活工作模式。恒定导通时间模式采用单级功率因数校正,可提高效率;   2、与同类竞争器件相比,TPS92210 的级联 MOSFET 配置可将开关损耗降低 10%,并可实现便捷的启动;
[电源管理]
单级<font color='red'>LED</font>照明脉冲宽度调节 (PWM) <font color='red'>控制</font>器TPS92210 优势
【STC单片机学习】第六课:单片机控制第一个外设-LED
1.6.1.单片机编程的一般步骤 1.6.1.1、目标分析。我们的目标是点亮开发板上的LED灯。 1.6.1.2、原理图分析 普中51-双核-A7开发板原理图 (1)目标器件(LED)工作原理 LED的工作是有方向性的,只有当正级接到LED阳极,负极接到LED的阴极的时候才能工作,如果反接LED是不能正常工作的。 (2)相关模块电路连接 (3)控制线路分析:相关IO端口是哪些?如何控制才能亮呢? 1.6.1.3、代码编写、编译(主要工作) 1.6.1.4、下载与调试(结果和预期不一致) 1.6.2.原理图与控制方法分析 1.6.2.1、原理图概况浏览 (1)目的1:把原理图的相关部分摘录出来重点看 原理图中
[单片机]
【STC单片机学习】第六课:单片机<font color='red'>控制</font>第一个外设-<font color='red'>LED</font>灯
stm32快速学习6——SysTick 定时1s控制LED
设置使用外部8M晶振 设置引脚功能 设置systick为1s中断 利用systick中断就可以得到1s时间 //////////////////////////////////////////////////////////////////////////前言///////////////////////////////////////////////////////////////////////////////////////// stm32的systick通过少数的程序设置,当使用systick_config()函数之后,其载入值就是你的参数,并且自动打开中断,并将中断设为最低的优先级,将其时钟设为HCLK即系统时钟7
[单片机]
stm32快速学习6——SysTick 定时1s<font color='red'>控制</font><font color='red'>LED</font>
51单片机|8个按键控制8个LED灯实现8种功能
任务描述: S1:LED灯全亮; S2:D1、D3、D5、D7亮,然后D2、D4、D6、D8再亮; S3:D5、D6、D7、D8亮; S4:D1、D2、D3、D4亮; S5:D2、D4、D6、D8亮; S6:D1、D3、D5、D7亮; S7:D3、D4、D7、D8亮; S8:D1、D2、D5、D6亮。 硬件电路图: 程序: #include reg51.h void delay(unsigned char i); void main() { unsigned char ledctr; P3=0xff; while(1) { ledctr=P3; switch(ledctr) { case 0xff:P1
[单片机]
单片机步进电机转速控制程序(速度LED显示)
单片机源程序如下: //数码管位 高位-----低位 //四个按键控制步进电机:正转,反转,加1,减1 //上电时电机启动,数码管上显示速度最小档1,加减档位均能通过数码管显示出来,电机采用单双八拍方式 //电机转速一共10档,通过按键调节转速 //电机正转时最高位数码管显示0,反转时显示1 #include reg51.h #define uchar unsigned char #define uint unsigned int #define led P0//数码管段选 #define haha P2 sbit s1 = P1^0; sbit s2 = P1^1; sbit s3 = P3^0; sbit s4 = P
[单片机]
单片机步进电机转速<font color='red'>控制</font>程序(速度<font color='red'>LED</font>显示)
SB3224 5 個LED 輸出控制IC
LED发光二极管,是一种能够将电能转化为可见光的固态的半导体器件,它可以直接把电转化为光。
[模拟电子]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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