FPGA的学习:红外遥控

使用 FPGA 开发板配套的红外遥控器发送红外信号, FPGA 开发板上的一体化接收头接收到红外信号后传入 FPGA 芯片内, FPGA 芯片接收到信号后进行解码,将解码后的按键码显示在数码管上。若检测到发送了重复码,则让 led 闪烁显示,一个重复码闪烁一次。来看红外接收模块:`timescale 1ns/1nsmodule infrared_rcv( input wire sys_clk , //系统时钟,频率50MHz in
摘要由CSDN通过智能技术生成

使用 FPGA 开发板配套的红外遥控器发送红外信号, FPGA 开发板上的一
体化接收头接收到红外信号后传入 FPGA 芯片内, FPGA 芯片接收到信号后进行解码,将解码后的按键码显示在数码管上。若检测到发送了重复码,则让 led 闪烁显示,一个重复码闪烁一次。

在这里插入图片描述
在这里插入图片描述
来看红外接收模块:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

`timescale  1ns/1ns
module  infrared_rcv
(
    input   wire        sys_clk     ,   //系统时钟,频率50MHz
    input   wire        sys_rst_n   ,   //复位信号,低有效
    input   wire        infrared_in ,   //红外接受信号

    output  reg         repeat_en   ,   //重复码使能信号
    output  reg [19:0]  data            //接收的控制码
);
//parameter define
parameter   CNT_0_56MS_L  =   20000 ,    //0.56ms计数为0-27999
            CNT_0_56MS_H  =   35000 ,
            CNT_1_69MS_L  =   80000 ,    //1.69ms计数为0-84499
            CNT_1_69MS_H  =   90000 ,
            CNT_2_25MS_L  =   100000,    //2.25ms计数为0-112499
            CNT_2_25MS_H  =   125000,
            CNT_4_5MS_L   =   175000,   //4.5ms计数为0-224999
            CNT_4_5MS_H   =   275000,
            CNT_9MS_L     =   400000,   //9ms计数为0-449999
            CNT_9MS_H     =   490000;
//state
parameter   IDLE        =   5'b0_0001,  //空闲状态
            S_T9        =   5'b0_0010,  //监测同步码低电平
            S_JUDGE     =   5'b0_0100,  //判断重复码和同步码高电平
            S_IFR_DATA  =   5'b0_1000,  //接收数据
            S_REPEAT    =   5'b1_0000;  //重复码

//wire  define
wire            ifr_in_rise ;   //检测红外信号的上升沿
wire            ifr_in_fall ;   //检测红外信号的下降沿

//reg   define
reg         infrared_in_d1  ;   //对infrared_in信号打一拍
reg         infrared_in_d2  ;   //对infrared_in信号打两拍
reg [18:0]  cnt             ;   //计数器
reg         flag_0_56ms     ;   //0.56ms计数完成标志信号
reg         flag_1_69ms     ;   //1.69ms计数完成标志信号
reg         flag_2_25ms     ;   //2.25ms计数完成标志信号
reg         flag_4_5ms      ;   //4.5ms计数完成标志信号
reg         flag_9ms        ;   //0.56ms计数完成标志信号
reg [4:0]   st
  • 1
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

石小舟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值