复印机逻辑控制电路设计VHDL代码Quartus EPF10K开发板

名称:复印机逻辑控制电路设计VHDL代码Quartus  EPF10K开发板

软件:Quartus

语言:VHDL

代码功能:

复印机逻辑控制电路设计

1)用按键输入复印的次数,用三个数码管显示,最大55,初始为0;(使用六个按键表示0-5数字键)

2)用另外按键开关作为启动复印的“开始”开关,开始后连续复印,每复印次,数字减1,直到0,停机,回复初始状态

3)如果发生缺纸,用另外一个拨码开关给出缺纸信号,则立即停止复印

提示缺纸(用LED灯指示),复印暂停,加纸后,缺纸的拨码开关回复,则继续复印

4)复印过程中可以取消复印,用最后一个按键开关给出取消复印信号,则立即回复到初始状态。

要求.jpg

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

本代码已在EPF10K开发板验证,EPF10K开发板如下,其他开发板可以修改管脚适配:EPF10K开发板.png

演示视频:

设计文档:

设计文档.doc

1. 工程文件

QuartusII 9.0版本


2. 程序文件



3. 程序编译


4. 管脚分配


5. 仿真图





部分代码展示:

LIBRARY ieee;
   USE ieee.std_logic_1164.all;
   USE ieee.std_logic_unsigned.all;
--二进制转BCD码
ENTITY b_to_bcd IS
   PORT (
      clk       : IN STD_LOGIC;
      rst_n     : IN STD_LOGIC;
      binary    : IN STD_LOGIC_VECTOR(15 DOWNTO 0);
      state_en  : IN STD_LOGIC;
      BCD       : OUT STD_LOGIC_VECTOR(15 DOWNTO 0)
   );
END b_to_bcd;
ARCHITECTURE trans OF b_to_bcd IS
   SIGNAL reg_binary  : STD_LOGIC_VECTOR(15 DOWNTO 0):="0000000000000000";
   SIGNAL bcd_b       : STD_LOGIC_VECTOR(3 DOWNTO 0):="0000";
   SIGNAL bcd_t       : STD_LOGIC_VECTOR(3 DOWNTO 0):="0000";
   SIGNAL bcd_h       : STD_LOGIC_VECTOR(3 DOWNTO 0):="0000";
   SIGNAL bcd_s       : STD_LOGIC_VECTOR(3 DOWNTO 0):="0000";
   SIGNAL push_count  : STD_LOGIC_VECTOR(4 DOWNTO 0):="00000";
   SIGNAL c_state     : STD_LOGIC_VECTOR(5 DOWNTO 0):="000000";
   SIGNAL n_state     : STD_LOGIC_VECTOR(5 DOWNTO 0):="000000";
   SIGNAL add3_en     : STD_LOGIC:='0';
   SIGNAL change_done : STD_LOGIC:='0';
BEGIN
   PROCESS (clk, rst_n)
   BEGIN
      IF ((NOT(rst_n)) = '1') THEN
         c_state 
               IF (state_en = '1') THEN
                  n_state <= "000010";
               ELSE
                  n_state 
               n_state 
               IF (change_done = '1') THEN--判断是否转换完成
                  n_state <= "000001";
               ELSE
                  n_state 
               IF (add3_en = '1') THEN
                  n_state <= "010000";
               ELSE
                  n_state 
               n_state 
               n_state <= "000001";
         END CASE;
      END IF;
   END PROCESS;

代码文件(付费下载):



1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 复印机逻辑控制电路设计VHDL代码Quartus EPF10K开发板

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员