cntp7<=\ cntp8<=\ end if; end if; end if;
end process;
process(cnt(7 downto 5)) begin
case cnt(7 downto 5) is
when \ Dat<=cntq1;
when \ Dat<=cntq2;
when \ Dat<=cntq3;
when \ Dat<=cntq4;
when \ Dat<=cntq5;
when \ Dat<=cntq6;
when \ Dat<=cntq7;
when \ Dat<=cntq8; end case; end process;
process(Dat) begin
case(Dat) is
when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when others=>null; end case;
end process; end Cymometer;
实验三 交通灯设计
一、实验目的
1. 学习VHDL 程序的设计技巧; 2. 掌握状态机程序设计技巧;
3. 掌握VHDL 语言译码电路的设计; 4. 掌握Led 灯闪烁的设计方法。
二、实验器材
1. KH-310 下载板; 2. KH-310 时钟模块; 3. 数码管模块; 4. Led 显示模块; 5. Led 矩阵模块。
三、实验内容
利用HDL 语言来设计一个高速公路交叉路口信号灯控制器。使用Led 显示模块和Led 矩阵表示当前交通灯状态,数码管显示当前状态剩余秒数。
四、文件档名
加载:traffic.sof 烧录:traffic.pof
工程项目文件:traffic.qpf
五、实验原理
假设交通灯由直行灯、停止灯、左转灯、倒计时数码管组成。对于每个路口,有四个状态:直行灯 时间为5 秒,停止灯时间为5 秒,左转灯时间为5 秒,二次红灯时间为5 秒。对于其中每一个状态,由数码管显示剩余秒数,当倒计时到2 秒以下(含)时,指示(LED)灯开始闪烁(数码管不闪烁)。LED 闪烁效果可以通过时钟的高低电平变化来获取,例程中采用与4HZ 时钟相与的方式获得。同学们可以尝试将七段数码管和LED 矩阵也进行相应修改,观察其闪烁效果。需要注意的是LED 矩阵以低电平点亮每个LED。
六、实验连线
图3.32
输入信号:
Clock 接10KHz 频率时钟; Reset 接拨动开关I01; 输出信号:
Count_Down_LCD(6 downto 0)接七段数码管W124-W130; Strait_A_Out, Block_A_Out, Turn_A_Out 接Led; Strait_B_Out, Block_B_Out, Turn_B_Out 接Led;
Road_Sign(6 downto 0) 接LED 矩阵列选择控制信号; Road_Sign(13 downto 7) 接LED 矩阵红色灯信号。
七、实验步骤
下载程序 ,将SW3 的I01 置于off 可以看到点阵单元进行如下显示:直行灯时间为5 秒,停止灯时间为5 秒,左转灯时间为5 秒,二次红灯时间为5 秒。当倒计时到2 秒以下(含)时,指示(LED)灯开始闪烁。若使用KH-33001/2/3 下载板则需要有如图13.2 所示的跳线操作。
相关推荐: