投票器电路设计VHDL代码Quartus EPF10K开发板
名称:投票器电路设计VHDL代码Quartus EPF10K开发板
软件:Quartus
语言:VHDL
代码功能:
投票器电路设计(平台实现)★
1)四个按键可为4人(甲乙丙丁)投票,每按下一次,票数加一
2)每2个数码管实时显示各人票数
3)设计计时按键(即投票开始),按下后投票计时开始,设置1分钟投票时间。时间到用LED灯显示,同时投票按键无效。
4)设计复位按键,按下后复位,票数清零。
5)投票结束后票数最多的数码管闪烁。

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
本代码已在EPF10K开发板验证,EPF10K开发板如下,其他开发板可以修改管脚适配:
演示视频:
设计文档:
1. 工程文件
Quartus9.0版本

2. 程序文件


3. 程序编译

4. RTL图

5. 管脚分配


6. 仿真图






部分代码展示:
LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_unsigned.all; --二进制转BCD码 ENTITY BCD IS PORT ( clk : IN STD_LOGIC;--时钟 binary : IN STD_LOGIC_VECTOR(7 DOWNTO 0);--二进制输入 Tens : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);--十位 Ones : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)--个位 ); END BCD; ARCHITECTURE RTL OF BCD IS SIGNAL state : STD_LOGIC_VECTOR(1 DOWNTO 0) := "00"; SIGNAL data_buf : STD_LOGIC_VECTOR(7 DOWNTO 0) := "00000000"; SIGNAL Tens_buf : STD_LOGIC_VECTOR(7 DOWNTO 0) := "00000000"; SIGNAL Ones_buf : STD_LOGIC_VECTOR(3 DOWNTO 0) := "0000"; BEGIN PROCESS (clk) BEGIN IF (clk'EVENT AND clk = '1') THEN CASE state IS WHEN "00" => data_buf <= binary; Tens_buf <= "00000000"; Ones_buf <= "0000"; state IF (data_buf >= "00001010") THEN--是否大于10 data_buf <= data_buf - "00001010";--减10 Tens_buf <= Tens_buf + "00000001";--十位加1 Ones_buf <= Ones_buf; state <= "01"; ELSE data_buf <= data_buf; Tens_buf <= Tens_buf;--十位 Ones_buf <= data_buf(3 DOWNTO 0);--个位 state <= "10"; END IF;
代码文件(付费下载):
![]()
1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 投票器电路设计VHDL代码Quartus EPF10K开发板
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 投票器电路设计VHDL代码Quartus EPF10K开发板