stm8s开发(二) GPIO的使用:点亮LED

发布者:脑洞狂想最新更新时间:2020-03-03 来源: eefocus关键字:stm8s  GPIO  点亮LED 手机看文章 扫描二维码
随时随地手机看文章

通用输入输出口(GPIO)是我们使用单片机最基本的,主要功能:

● 端口的各个位可以被单独配置

● 可选择的输入模式:浮动输入和带上拉输入

● 可选择的输出模式:推挽式输出和开漏输出

● 外部中断可以单独使能和关闭


用户手册上描述:

每一个端口都有一个输出数据寄存器(ODR),一个引脚输入寄存器(IDR)和一个数据方向寄存器(DDR) 总是同相关的。控制寄存器1(CR1)和控制寄存器2(CR2)用于对输入/输出进行配置。任何一个I/O引脚可以通过对DDR,ODR,CR1和CR2寄存器的相应位进行编程来配置。

各种不同配置总结如下:


配置模式DDRCR1CR2配置模式上拉电阻
输入000悬浮输入 OFF
010上拉输入ON
001中断悬浮输入 OFF
011中断上拉输入ON
输出100开漏输出 OFF
110推挽输出
1x1输出(最快速度10MHZ) 
xxx真正的开漏输出未采用


这里作为练习控制3个LED,分别是PA1,PA2,PD4,都设置为 推挽输出 模式。

以下是初始化函数:


  1. //CTRL0 PA1

  2. //CTRL1 PA2

  3. //CTRL2 PD4

  4. void GPIO_init(void)

  5. {

  6. PA_DDR|=0x03;

  7. PA_CR1|=0x03;

  8. PA_CR2|=0x00;

  9. PD_DDR|=0x10;

  10. PD_CR1|=0x10;

  11. PD_CR2|=0x00;

  12. }


需要控制IO口的电平,需要对于ODR寄存器进行修改,读表可得知1为高电平,0为低电平。

这里只需要对相应的位进行修改数值。


  1. void CTRL0_HIGH(void)

  2. {

  3. PA_ODR|=0x01;

  4. }

  5. void CTRL0_LOW(void)

  6. {

  7. PA_ODR&=0xFE;

  8. }

  9. void CTRL0_Reverse(void)

  10. {

  11. PA_ODR^=0x01;

  12. }

关键字:stm8s  GPIO  点亮LED 引用地址:stm8s开发(二) GPIO的使用:点亮LED

上一篇:STVD+STM8官方固件库创建工程模板
下一篇:基于STM8L的NTC热敏检测

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

STM8学习笔记(三):GPIO操作
乘着有时间,把有关GPIO的应用也顺便弄了 主要是各种液晶吧,手上正好有1602的液晶,12864的液晶,主控芯片是s6b0108的 不带字库,还有上次买的一个2.4寸的TFT彩屏,320*240的,主控芯片是ILI9325的 因为之前用51和STM32都驱动过,所以这次就没写什么,只是简单的移植了 下面只是最简单的底层驱动 /*************************TFT*************************/ /************************************************************* 函数名称:LCD_Write_Cmd 功 能:写命令函数 参 数
[单片机]
jz2440裸机开发与分析: 点亮LED灯之C语言1
存储过程分析 开辟一块内存用来存放寄存器地址,之后间接的修改寄存器内部的数值 c语言代码 按照常规先写主函数点亮LED灯 int main() { unsigned int *pGPFCON = (unsigned int *)0x56000050; unsigned int *pGPFDAT = (unsigned int *)0x56000054; /* 配置GPF4为输出引脚 */ *pGPFCON = 0x100; /* 设置GPF4输出0 */ *pGPFDAT = 0; return 0; } 之前有MDK写到这里就可以了,MDK的启动代码最主要的目的为CPU分配各种模式下
[单片机]
jz2440裸机开发与分析: <font color='red'>点亮</font><font color='red'>LED</font>灯之C语言1
飞思卡尔16位单片机(三)——GPIO输出功能测试
一、GPIO介绍 GPIO是单片机最常用的功能,XEP100单片机的并行I/O的资源很丰富,XEP100的IO有PORTA、PORTB、PORTH、PORTJ、PORTM、PORTP、PORTS、PORTT、PORTK和PORTE共10组IO。这些I/O口除了具有通用I/O功能外,还分别具有专用I/O的功能。可以根据需要进行设置,专用I/O功能启用后,通用I/O功能自动关闭。 在使用单片机的并行I/O时要进行一些设置,主要的设置如下所示: 1功能设置 每个I/O子系统都有一个功能设置寄存器,其中的几个位用于部分或者全部引脚的功能设定,设定为专用功能后,方向设置功能可能自然禁止,但上拉、下拉及降功率驱动功能一般仍然有效,具体
[单片机]
飞思卡尔16位单片机(三)——<font color='red'>GPIO</font>输出功能测试
Freescale MC9S12G128 GPIO
MC9S12G-Family Block Diagram 不同芯片封装端口: Port J相关寄存器 The PIM includes these distinctive registers: • Data registers and data direction registers for ports A, B, C, D, E, T, S, M, P, J and AD when used as general-purpose I/O • Control registers to enable/disable pull devices and select pullups/pulldowns on po
[单片机]
Freescale MC9S12G128 <font color='red'>GPIO</font>
STM32学习笔记--------GPIO
1、概述 GPIO,即通用I/O(输入/输出)端口,是STM32可控制的引脚。STM32芯片的GPIO引脚与外部设备连接起来,可实现与外部通讯、控制外部硬件或者采集外部硬件数据的功能。 STM32F103有7组IO。分别为GPIOA~GPIOG,每组IO有16个IO口,共有112个IO口。通常称为 PAx、PBx、PCx、PDx、PEx、PFx、PGx,其中x为0-15,F1系列是基于Cortex-M3内核 2、GPIO工作模式(暂时不做深入研究先用) ─ 输入浮空 ─ 输入上拉 ─ 输入下拉 ─ 模拟输入 ─ 开漏输出 ─ 推挽式输出 ─ 推挽式复用功能 ─ 开漏复用功能 3、GPIO使用 使用步骤 1.硬件时钟
[单片机]
STM32学习笔记--------<font color='red'>GPIO</font>
MSP430FR4133练习(一):GPIO输入电平状态判断
硬件环境:MSP430FR4133 LANCHPAD开发板 软件环境:IARV7.10 For 430 源代码: 1 #include driverlib.h 2 3 void main(void) 4 { 5 //Stop WDT 6 WDT_A_hold(WDT_A_BASE); 7 while(1) 8 { 9 //设置P1.0为输出,接LED 10 GPIO_setAsOutputPin( GPIO_PORT_P1,GPIO_PIN0 ); 11 //设置P4.0为输出,接LED 12 GPIO_setAsOutputPin( GPIO_PORT_P4,GPIO_PI
[单片机]
STM32的8种GPIO输入输出模式深入详解
输入模式 -输入浮空(GPIO_Mode_IN_FLOATING) -输入上拉(GPIO_Mode_IPU) -输入下拉(GPIO_Mode_IPD) -模拟输入(GPIO_Mode_AIN) 输出模式 -开漏输出(GPIO_Mode_Out_OD) -开漏复用功能(GPIO_Mode_AF_OD) -推挽式输出(GPIO_Mode_Out_PP) -推挽式复用功能(GPIO_Mode_AF_PP) 输入浮空:浮空就是逻辑器件与引脚即不接高电平,也不接低电平。由于逻辑器件的内部结构,当它输入引脚悬空时, 相当于该引脚接了高电平。一般实际运用时,引脚不建议悬
[单片机]
STM32的8种<font color='red'>GPIO</font>输入输出模式深入详解
STM8L51X gpio中断
本文采用官方的库函数接口实现STM8L51X gpio中断 STM8L51X的中断向量入口函数都放在stm8l51x_it.c里面。 不同的中断对应的中断号如下(在stm8l51x_itc.h里面): typedef enum { FLASH_IRQn = (uint8_t)1, /*! Flashinterrupt */ DMA1_CHANNEL0_1_IRQn = (uint8_t)2, /*! DMAChannels 0/1 */ DMA1_CHANNEL2_3_IRQn = (uint8_t)3, /*! DMACha
[单片机]
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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