基于STM32的学习型通用红外遥控设备的设计实现(二)

本文详细介绍了如何设计实现基于STM32的学习型红外遥控设备,涵盖了38KHz载波产生,包括455KHz晶振分频法、时基电路搭建法和微控制器PWM模块产生法,以及按键设计和STM32接收并测量红外信号脉宽的步骤。
摘要由CSDN通过智能技术生成

CPU: STM32
调试平台: STM32F103ZET和STM32F103VBT
软件平台: Keil uVision4
电路设计: Altium Designer v6.9

http://blog.csdn.net/u013686019/article/details/19834683

二、学习型红外遥控设备的各个模块实现

2.1 38KHz载波产生

常用的38KHz载波的产生方法:
  • 455KHz晶振分频法
  • 时基电路搭建法
  • 微控制器PWM模块产生法
为减少硬件规模、缩减成本,故由STM32的定时器输出PWM波,得到占空比1:3的红外载波。

STM32的定时器分为高级定时器(TIMER1、TIMER2)、基本定时器(TIMER6、TIMER7) 和通用定时器(TIMER2~ TIMER5),具有非常强大的功能。其中通用定时器可以用于输入捕获、输出比较和PWM等,通过定时器的预分频器和RCC时钟控制预分频器,脉冲长度和波形周期能够在几个微秒到毫秒间进行调整。此外,每个通用定时器都是完全独立,不曾共享任何资源。通用定时器框图如下图所示:


本模块使用定时器TIM2的通道CH1输出占空比1:3的载波信号。操作流程图如下图所示:

示例代码如下:
/**
 * TIM2_PWM_Init() TIM2的通道CH1的PWM模式初始化
 * arr - 自动重装值 psc - 时钟预分频数
 * 频率f = 72M/[(psc+1)*(arr+1)]
 */
void TIM2_PWM_Init(u16 arr,u16 psc)
{
	/** 初始化结构体定义 */
	GPIO_InitTypeDef GPIO_InitStructure;
	TIM_TimeBaseInitTypeDef	TIM_TimeB
  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
基于STM32红外遥控器系统设计实现是一个利用STM32微控制器来控制红外遥控器操作的系统。该系统使用红外发射器和接收器,实现了对各种电子设备的遥控操作。 首先,设计阶段需要确定系统的硬件和软件需求。硬件方面,选择STM32微控制器作为主控芯片,并添加红外发射器和接收器作为输入输出设备。软件方面,需要设计一个用户友好的界面,实现按键输入和红外信号解析等功能。可以使用Keil或者STM32CubeMX等开发平台进行软件开发。 接下来,根据硬件需求,进行系统的硬件设计和制作。这包括布局电路板,焊接元件,连接外部设备等。关键是正确连接和配置红外发射器和接收器,确保它们能够正常工作。 在软件设计阶段,首先需要编写STM32的驱动程序,包括GPIO、USART、IR红外协议等驱动。然后设计用户界面,包括按键解析、菜单选择等功能。同时,需要编写红外信号解析的程序,实现红外遥控指令的接收和解析。 在实现阶段,将软件烧录到STM32芯片中,并进行调试。首先测试按键输入是否能够在界面上显示,并能够正确响应。然后测试红外遥控器能否发送正确的红外信号,并能够通过红外接收器接收并解析。 最后,进行系统的优化和完善。对界面进行美化和优化,提高系统的响应速度和稳定性。调整红外信号解析算法,提高红外信号的接收和解析准确性。 总结来说,基于STM32红外遥控器系统设计实现主要涉及硬件设计、软件开发和系统调试。通过正确连接和配置红外发射器和接收器,实现用户界面的设计和红外信号解析的功能,可以很好地完成红外遥控器系统的设计实现

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值