锆石科技社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 240|回复: 3

红外编码按键问题

[复制链接]

14

主题

66

帖子

1222

积分

金牌会员

Rank: 6Rank: 6

积分
1222
发表于 2016-11-11 18:28:15 | 显示全部楼层 |阅读模式
代码如下:
module         Led_Module
(
    CLK_50M,RST_N,KEY,LED
);

input CLK_50M;
input RST_N;
input [7:0] KEY;
output [7:0] LED;

reg  [7:0] led_reg;
reg  [7:0] led_reg_n;
reg  [2:0] time_reg;
reg  [2:0] time_reg_n;

always @ (posedge CLK_50M or negedge RST_N)
begin
    if(!RST_N)
            time_reg=4'd0;
        else
       time_reg<=time_reg_n;
end


always @ (*)
begin
         if(KEY==8'h40)
            time_reg_n=time_reg+1'B1;
                        else if(time_reg==3'd8)
                 time_reg_n=3'd0;
                   else
                 time_reg_n=time_reg;               
                   if(KEY==8'h19)
                 time_reg_n=time_reg-1'B1;
                        else if(time_reg==3'd0)
                        time_reg_n=3'd8;
                        else          
                       time_reg_n=time_reg;
end

          
                                  
always @ (posedge CLK_50M or negedge RST_N)
begin
   if(!RST_N)
          led_reg<=8'b1111_0000;
         else
          led_reg<=led_reg_n;
end


always @ (*)
begin
   case(time_reg)
                0: led_reg_n=8'b1111_1110;
                1: led_reg_n=8'b1111_1101;
                2: led_reg_n=8'b1111_1011;
                3: led_reg_n=8'b1111_0111;
                4: led_reg_n=8'b1110_1111;
                5: led_reg_n=8'b1101_1111;
                6: led_reg_n=8'b1011_1111;
                7: led_reg_n=8'b0111_1111;
        default: led_reg_n=led_reg;
endcase
end

assign LED=led_reg;
endmodule

我将遥控上的+、-键译码后,实现按一下加+号键,LED灯分别对应点亮,比如说按一下,第一个灯亮,再按一下,第二个灯亮,同理按减键,对应led点亮。老师帮我看看,对于我标色的地方怎么改呢?
回复

使用道具 举报

发表于 2016-11-12 12:52:52 | 显示全部楼层
现在这段代码下载到开发板出现什么情况,用Signaltap调试过吗?
回复 支持 反对

使用道具 举报

14

主题

66

帖子

1222

积分

金牌会员

Rank: 6Rank: 6

积分
1222
 楼主| 发表于 2016-11-12 15:52:57 | 显示全部楼层
锆石科技解答员 发表于 2016-11-12 12:52
现在这段代码下载到开发板出现什么情况,用Signaltap调试过吗?

下载到板子上后,按+按键led全亮,按减号按键没反应,或者led灭了7个。
回复 支持 反对

使用道具 举报

发表于 2016-11-12 17:21:40 | 显示全部楼层
本帖最后由 锆石科技解答员 于 2016-11-12 17:25 编辑
123江少 发表于 2016-11-12 15:52
下载到板子上后,按+按键led全亮,按减号按键没反应,或者led灭了7个。

先稍微更改下程序,将else if(time_reg==3'd8) time_reg_n=3'd0;  改为else if(time_reg==3'd8) time_reg_n=3'd8; else if(time_reg==3'd0) time_reg_n=3'd8;改为else if(time_reg==3'd0) time_reg_n=3'd0;现在这个程序如果是按+按键,D8亮其余灭,按-按键,D1亮其余灭,就正常了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|锆石科技社区 ( 苏ICP备15059756号  

GMT+8, 2019-5-27 03:06 , Processed in 0.132758 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表