STM8S003F3控制LED
来源:互联网 发布:单片机浇花 编辑:程序博客网 时间:2024/06/05 00:54
一、概述
不管什么单片机,想要控制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一闪一闪的
0 0
- STM8S003F3控制LED
- led控制
- LED控制
- 控制LED
- LED灯控制实验
- LED显示屏控制卡
- [iphone] LED闪光灯控制
- [iphone] LED闪光灯控制
- Led灯控制代码
- 6. LED控制
- OK6410 键盘控制LED
- 按键控制led
- 按键控制led驱动
- 按键控制led驱动
- 按键控制led应用程序
- LED控制实验
- led的位移控制
- 中断控制LED灯亮灭
- 【leetcode】【136】Single Number
- 灵活运用runtime改写系统的方法
- HashMap的实现原理
- Mechanize对WEB的操作
- TCP/IP网络编程模型
- STM8S003F3控制LED
- C++ union enum 探究
- hive动态分区插入实验
- hiho 1270 建造基地 dp 完全背包 模拟
- App打包签名包申请流程
- iOS发布时设置不打印log
- 提取图像里面的红色灯笼(一)
- 华为OJ题目(十七):矩阵乘法
- javascript面向对象编程基础