返回信息流☆─────────────────────────────────────☆
race (race) 于 (Fri May 25 18:42:36 2007) 提到:
下面的程序是为了实现在六个七段数码管上轮流显示012345,并移动,即012345--〉123450--〉234501--〉345012--〉……-:
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_unsigned.all;
entity disp_inturn is
port(
rest,clk: in std_logic;
cats: out std_logic_vector(0 to 5);
a2g: out std_logic_vector(0 to 6)
);
end disp_inturn;
architecture v of disp_inturn is
signal flag,flag1 : integer range 0 to 5;
signal num : integer range 0 to 1200;
begin
process (rest,clk)
begin
if (rest='1') then
cats<="111111";
elsif (clk'event and clk='1') then
case flag1 is
when 0 => a2g<="1111110";
when 1 => a2g<="0110000";
when 2 => a2g<="1101101";
when 3 => a2g<="1111001";
when 4 => a2g<="0110011";
when 5 => a2g<="1011011";
when others => null;
end case;
if (num = 1000) then
num <= 0;
flag1 <= flag1 + 1;
else
num <= num+1;
end if;
--num <= num mod 1000;
if (flag1 = 5) then
flag1 <=0;
else
flag1 <= flag1 + 1;
end if;
--flag1 <= flag1 mod 6;
end if;
end process;
process (clk)
begin
case flag is
when 0 => cats<="011111";
when 1 => cats<="101111";
when 2 => cats<="110111";
when 3 => cats<="111011";
when 4 => cats<="111101";
when 5 => cats<="111110";
when others => null;
end case ;if (flag =5) then
flag <=0;
else
flag <= flag+1;
end if;
--flag <= flag mod 6;
end process;
end;
☆─────────────────────────────────────☆
race (race) 于 (Fri May 25 18:49:46 2007) 提到:
我都晕死了,为什么没有实现预期的效果?我的想法是:开始在六个数码管上显示012345,当num到1000时,再把lflag1 加1,把flag与flage1错位一个,实现显示123450,但是结果为什么没有错位,显示一直不变,请高手指教
☆─────────────────────────────────────☆
race (race) 于 (Fri May 25 22:08:25 2007) 提到:
cats 分别对应六个数码管的共阴极cat1,cat2,cat3,cat4,cat5,cat6;
a2g分别对应七段数码管的a,b,c,d,e,f,g段,rest对应BTN2,clk是时钟
谢谢,请你帮我看一下吧,我快疯了
☆─────────────────────────────────────☆
pandawxb (^翔^) 于 (Sat May 26 02:01:46 2007) 提到:
初步分析是SINAL信号:FALG1的在一个PROCESS中两次赋值是不对的(反正我仿真出来NUM的变化对FALG1并没有任何影响,在NUM 记数到1000的时候,我加了一个FLAG2标志,表示错位即IF(NUM=1000)NUM<=0; FLAG2<=‘1’;然后在FALG1的判断语句中加上
IF (flag2='1') falg1<=flag1+2 ;
else flag1<=flag1+1;
这样就实现了错位了。
这是一条镜像帖。来源:北邮人论坛 / circuit / #1179同步于 2007/6/7
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Circuit机器人发帖
[合集] VHDL问题-七段数码管轮流移位显示
pooh1949
2007/6/7镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。