一、概述

不管什么单片机,想要控制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相关推荐

  1. FPGA(1)基础入门 -- 按键控制led灯

    目录 效果说明 1.配置输入输出变量 2.变量赋值 3.配置引脚(输入输出变量) 代码 效果说明 key1按键按下,led1被点亮. key2按键按下,led2被点亮. 1.配置输入输出变量 inpu ...

  2. led计数电路实验报告_「正点原子FPGA连载」第八章 按键控制LED灯实验

    1)实验平台:正点原子开拓者FPGA开发板 2)本实例源码下载:请移步正点原子官网 第八章 按键控制LED灯实验 按键是常用的一种控制器件.生活中我们可以见到各种形式的按键,由于其结构简单,成本低廉等 ...

  3. STM32按键控制led四种方法

    文章目录 回顾按键电路 按照之前文章方法在工程文件下加入Hardware中的key.c和key.h 打开固件库用户手册查询io读取相关的函数 第一种方式实现按键控制 第二种方式实现按键控制led 第三 ...

  4. NanoPi NEO Air使用十:自己编写驱动来控制LED

    NanoPi NEO Air使用一:介绍 NanoPi NEO Air使用二:固件烧录 NanoPi NEO Air使用三:OverlayFS.CPU温度和频率.wifi.蓝牙.npi-config ...

  5. linux字符设备led驱动源码,字符设备驱动控制LED灯

    开发板:龙芯1B PC:Ubuntu 13.10 本程序为字符设备驱动,提供控制led灯功能,如要实现控制需要自己写应用程序,打开驱动文件就可控制led灯,led灯通过gpio控制 #include ...

  6. stm32车联网监控源码_物联网DIY,STM32配合ESP8266,APP控制LED,可以绑定天猫精灵...

    大家好,超子能力有限,技术不高,有什么错误的地方,欢迎批评指正.今天的文章不讲通信中的各种协议了,咱们做一个物联网入门的DIY程序设计,用意法半导体的STM32单片机配合ESP8266的WiFi模块, ...

  7. STM32F030控制蜂鸣器定时响和控制LED亮

    一:STM32F030控制蜂鸣器定时响 (1)main.c中: u16 StartTime=0; void main() {StartTime=500;//蜂鸣器响的时长SPEEK(1); }void ...

  8. Proteus仿真STM32F103R6微控制器的GPIO(按键控制LED开关)

    Proteus仿真STM32F103R6微控制器的GPIO,检查按键,控制LED灯的反转.. 输入:按键检测:输出:高低电平,控制LED. 一.原理图: 二.源码: #include "st ...

  9. 8个独立按键控制LED

    8个独立按键控制LED

  10. 按键控制LED实现启动、停止按钮

    按键控制LED实现启动.停止按钮

最新文章

  1. ibm LTO2代半高磁带机不能弹出磁带
  2. 控制反转容器依赖注入模式(转)
  3. linux redis安装报错,Linux安装Redis实现过程及报错解决方案
  4. 【渝粤题库】陕西师范大学200371 拓扑学 作业 (专升本、高起本)
  5. 【Linux】tail显示日志最后几行
  6. 瘦子的肠道菌群和胖子的区别_瘦身的“秘诀”是什么?做好5个生活习惯,就能变成一个瘦子...
  7. Libliner 中的-s 参数选择:primal 和dual
  8. 大家一起来谈论C#的前途
  9. arcgis自带的python版本_arcgis10.3自带的python2.7.8怎么安装geopandas?
  10. iOS媒体视频播放器应用源码
  11. Web前端 Js文件上传类型限制(根据文件头信息判断)
  12. Visual Studio Installer 一直提取文件0B不动怎么办:修改DNS教程
  13. 30个很棒的Photoshop技巧和窍门可帮助您提高计算机图形技能
  14. vnc远程桌面手机版,vnc远程桌面手机版软件,怎么使用
  15. tcp/ip的模型与原理
  16. 矩阵论(五):矩阵的正定性
  17. 计算机无法检索文件夹,win7系统不能搜索文件夹怎么回事
  18. 【实验】Oracle 10g RAC生产数据库RMAN方式恢复到异地单机数据库全程记录
  19. R matrix函数详解
  20. HQChart使用教程88-DRAWTEXT添加背景色及边框

热门文章

  1. k3 审核流程图_K3Cloud 业务流程图Sql
  2. 《CSS实战案例汇总》悬浮按钮样式
  3. APP专项测试方法和工具的使用
  4. Redis的安装配置与使用
  5. GD32F103 配置timer0输出PWM
  6. 【App】不通过App Store实现ios应用分发下载安装(转)
  7. 机器人方队解说词_创想机器人博物馆介绍配音解说词
  8. GitHub中文排行榜
  9. github中文显示乱码的解决方法
  10. JSONP原理以及示例