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相关推荐
- FPGA(1)基础入门 -- 按键控制led灯
目录 效果说明 1.配置输入输出变量 2.变量赋值 3.配置引脚(输入输出变量) 代码 效果说明 key1按键按下,led1被点亮. key2按键按下,led2被点亮. 1.配置输入输出变量 inpu ...
- led计数电路实验报告_「正点原子FPGA连载」第八章 按键控制LED灯实验
1)实验平台:正点原子开拓者FPGA开发板 2)本实例源码下载:请移步正点原子官网 第八章 按键控制LED灯实验 按键是常用的一种控制器件.生活中我们可以见到各种形式的按键,由于其结构简单,成本低廉等 ...
- STM32按键控制led四种方法
文章目录 回顾按键电路 按照之前文章方法在工程文件下加入Hardware中的key.c和key.h 打开固件库用户手册查询io读取相关的函数 第一种方式实现按键控制 第二种方式实现按键控制led 第三 ...
- NanoPi NEO Air使用十:自己编写驱动来控制LED
NanoPi NEO Air使用一:介绍 NanoPi NEO Air使用二:固件烧录 NanoPi NEO Air使用三:OverlayFS.CPU温度和频率.wifi.蓝牙.npi-config ...
- linux字符设备led驱动源码,字符设备驱动控制LED灯
开发板:龙芯1B PC:Ubuntu 13.10 本程序为字符设备驱动,提供控制led灯功能,如要实现控制需要自己写应用程序,打开驱动文件就可控制led灯,led灯通过gpio控制 #include ...
- stm32车联网监控源码_物联网DIY,STM32配合ESP8266,APP控制LED,可以绑定天猫精灵...
大家好,超子能力有限,技术不高,有什么错误的地方,欢迎批评指正.今天的文章不讲通信中的各种协议了,咱们做一个物联网入门的DIY程序设计,用意法半导体的STM32单片机配合ESP8266的WiFi模块, ...
- STM32F030控制蜂鸣器定时响和控制LED亮
一:STM32F030控制蜂鸣器定时响 (1)main.c中: u16 StartTime=0; void main() {StartTime=500;//蜂鸣器响的时长SPEEK(1); }void ...
- Proteus仿真STM32F103R6微控制器的GPIO(按键控制LED开关)
Proteus仿真STM32F103R6微控制器的GPIO,检查按键,控制LED灯的反转.. 输入:按键检测:输出:高低电平,控制LED. 一.原理图: 二.源码: #include "st ...
- 8个独立按键控制LED
8个独立按键控制LED
- 按键控制LED实现启动、停止按钮
按键控制LED实现启动.停止按钮
最新文章
- ibm LTO2代半高磁带机不能弹出磁带
- 控制反转容器依赖注入模式(转)
- linux redis安装报错,Linux安装Redis实现过程及报错解决方案
- 【渝粤题库】陕西师范大学200371 拓扑学 作业 (专升本、高起本)
- 【Linux】tail显示日志最后几行
- 瘦子的肠道菌群和胖子的区别_瘦身的“秘诀”是什么?做好5个生活习惯,就能变成一个瘦子...
- Libliner 中的-s 参数选择:primal 和dual
- 大家一起来谈论C#的前途
- arcgis自带的python版本_arcgis10.3自带的python2.7.8怎么安装geopandas?
- iOS媒体视频播放器应用源码
- Web前端 Js文件上传类型限制(根据文件头信息判断)
- Visual Studio Installer 一直提取文件0B不动怎么办:修改DNS教程
- 30个很棒的Photoshop技巧和窍门可帮助您提高计算机图形技能
- vnc远程桌面手机版,vnc远程桌面手机版软件,怎么使用
- tcp/ip的模型与原理
- 矩阵论(五):矩阵的正定性
- 计算机无法检索文件夹,win7系统不能搜索文件夹怎么回事
- 【实验】Oracle 10g RAC生产数据库RMAN方式恢复到异地单机数据库全程记录
- R matrix函数详解
- HQChart使用教程88-DRAWTEXT添加背景色及边框