打印

设计一个28/29/30/31进制计数器

[复制链接]
2299|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
断忆风|  楼主 | 2014-6-21 20:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
设计一个28/29/30/31进制计数器:
用4个LED区分不同的计数状态;
从1开始计数,用逻辑分析仪指示计数结果;
只有一个计数器,2位数码管,可以实现4种模制的计数

相关帖子

沙发
断忆风|  楼主 | 2014-6-21 20:40 | 只看该作者
自己做了很久都没有实现,楼主是妹纸,都快哭了~

使用特权

评论回复
板凳
断忆风|  楼主 | 2014-6-21 20:41 | 只看该作者
:'(求各位哥哥们给点思路~实现不来进制的自动切换·

使用特权

评论回复
地板
maychang| | 2014-6-21 20:48 | 只看该作者
“自动切换”

不可能。

使用特权

评论回复
5
断忆风|  楼主 | 2014-6-21 20:55 | 只看该作者
就是0-28后进行0-29然后0-30然后0-31

使用特权

评论回复
6
断忆风|  楼主 | 2014-6-21 20:56 | 只看该作者
maychang 发表于 2014-6-21 20:48
“自动切换”

不可能。

就是0-28后进行0-29然后0-30然后0-31

使用特权

评论回复
7
戈卫东| | 2014-6-21 22:49 | 只看该作者
“只有一个计数器”。。。。。。。是什么样的东东?

使用特权

评论回复
8
xmar| | 2014-6-22 00:00 | 只看该作者
断忆风 发表于 2014-6-21 20:56
就是0-28后进行0-29然后0-30然后0-31

看是不是这个意思:

module autocounter28_29_30_31(clk, out);
input clk;
output out;
reg out;
reg [4:0] count;
reg [1:0] status;

always @ (posedge clk)
begin

count <= count + 1;

if(0);
else if(status==0)
  if(count==28)
  begin
    status <= 1;
    out <= 1;
    count <= 0;
  end
else if(status==1)
  if(count==29)
  begin
    status <= 2;
    out <= 0;
    count <= 0;
  end
else if(status==2)
  if(count==30)
  begin
    status <= 3;
    out <= 1;
    count <= 0;
  end
else if(status==3)
  if(count==31)
  begin
    status <= 0;
    out <= 0;
    count <= 0;
  end
  
end


endmodule

使用特权

评论回复
9
李念西| | 2014-6-22 09:19 | 只看该作者
戈卫东 发表于 2014-6-21 22:49
“只有一个计数器”。。。。。。。是什么样的东东?

我觉得就是用计数器实现,只不过是这个计数器可以实现28、29、30、31的进制。    不过话说自动转换怎么实现啊

使用特权

评论回复
10
李念西| | 2014-6-22 09:21 | 只看该作者
xmar 发表于 2014-6-22 00:00
看是不是这个意思:

module autocounter28_29_30_31(clk, out);

不过楼主说的应该是在mulitisim仿真里做出来。     我也再想自动切换这种东西,可能实现吗????

使用特权

评论回复
11
feitingfj| | 2014-6-24 00:38 | 只看该作者
如果用160或16计数0的话,清零时有个初值,起初设为1,这样就能少记一个数,达到最大值时用T触发器让这一位翻转,变成0,这样就多记一位,这就会有2,3区别,8,9区别

使用特权

评论回复
12
hoyuet4712| | 2014-7-2 08:05 | 只看该作者
用C语言写程序,我想用case语句可以帮你实现,你试试

使用特权

评论回复
13
宋业科| | 2014-7-2 11:17 | 只看该作者
28+29+30+31进制就可以了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

33

帖子

1

粉丝