STM32硬件SPI控制TM1638 按键数码管LED显示模块

STM32硬件SPI控制TM1638按键数码管LED显示模块

 

从淘宝买来的,TM1638专门是控制LED的,LED组合起来就可以变成数码管,还有按键,这个我就没管了,不想管了,发这个帖子只是为了记录下经验,待以后会过头来看的时候,可以一遍就知道,所以尽量写得详细点。
   手头上的项目用的是共阳极,而我买的是共阴极的,而且例程给的是STM32模拟IO实现的。

太浪费资源了,想尽办法折腾了1整体,终于搞定了SPI硬件实现的方式。写点东西给大家分享下,免得走弯路。本次重点介绍SPI硬件配置方面。

先来个照片,是共阴极的

 

原理图

 

废话不多说了,开始贴程序。

3.3V供电;

STM32F103c8t6;

SPI1;

SPI_Direction_1Line_Tx;

完整程序如下:

//TM1638.C文件

#ifdef   USE_TM1638_SPI

 

 

#defineTM1638_SPIx                        SPI1

#defineTM1638_SPI_APBxClock_FUN          RCC_APB2PeriphClockCmd

#defineTM1638_SPI_CLK                    RCC_APB2Periph_SPI1

#defineTM1638_SPI_GPIO_APBxClock_FUN     RCC_APB2PeriphClockCmd

#defineTM1638_SPI_GPIO_CLK               RCC_APB2Periph_GPIOA 

 

 

 

#defineTM1638_SPI_SCK_PORT               GPIOA 

#defineTM1638_SPI_SCK_PIN                GPIO_Pin_5

#defineTM1638_SPI_SCK_Low()            GPIO_ResetBits(TM1638_SPI_SCK_PORT, TM1638_SPI_SCK_PIN)

#defineTM1638_SPI_SCK_High()           GPIO_SetBits(TM1638_SPI_SCK_PORT, TM1638_SPI_SCK_PIN)

 

  

#defineTM1638_SPI_MISO_PORT               GPIOA

#defineTM1638_SPI_MISO_PIN               GPIO_Pin_6

 

#defineTM1638_SPI_MOSI_PORT               GPIOA

#defineTM1638_SPI_MOSI_PIN               GPIO_Pin_7

#defineTM1638_SPI_MOSI_Low()            GPIO_ResetBits(TM1638_SPI_MOSI_PORT, TM1638_SPI_MOSI_PIN)

#defineTM1638_SPI_MOSI_High()           GPIO_SetBits(TM1638_SPI_MOSI_PORT, TM1638_SPI_MOSI_PIN)

  • 6
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
STM32F030是意法半导体(STMicroelectronics)推出的一款32位微控制器系列产品,适用于嵌入式系统开发。TM1638是一款集成了按键LED数码管的芯片,其通过SPI接口与微控制器进行通信。 在使用STM32F030和TM1638进行按键操作时,可以按照以下步骤进行: 1. 硬件连接:将TM1638STM32F030相连,通过SPI总线进行通信。具体的接线方式可以参考TM1638STM32F030的数据手册。 2. 设置SPI通信:根据STM32F030的SPI外设的配置寄存器,设置SPI通信的参数,如通信速度、数据位宽等。 3. 初始化TM1638芯片:通过SPITM1638发送初始化命令,使其进入工作状态。这个过程包括设置数码管的亮度、LED的亮灭等操作。 4. 监测按键:周期性地查询TM1638中是否有按键按下,可以通过向TM1638发送读取按键状态的命令来实现。 5. 处理按键事件:一旦检测到按键按下,可以根据具体的需求进行相应的处理操作,例如触发某个功能、修改某个参数等。 需要注意的是,以上仅是按键操作的基本步骤,具体的实现还需要根据实际需求进行自定义的编程。可以参考STM32F030的开发板示例代码或者TM1638的驱动库来进行编程。同时,对于SPI通信的理解和掌握也是很重要的,可以参考STM32F030的相关资料来学习SPI通信的使用方法。 总之,通过合理连接硬件、设置SPI通信、初始化TM1638和编写相应的按键处理代码,就可以在STM32F030上实现对TM1638按键的功能操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值