文档详情

[EDA自动售货机课程设计.doc

发布:2017-01-19约7.65千字共8页下载文档
文本预览下载声明
一目的二 D1_6~D1_8:找回的零钱 D1_1: 指示6角邮票 D1_2: 指示8角邮票 D1_4: 提示邮票送出 三、设计原理 有限状态机FSM及其设计技术是实用数字系统设计中实现高效率、高可靠逻辑控制的重要途径。传统的状态机设计方法需进行繁琐的状态分配、绘制状态表、化简次态方程等,而利用VHDL可以避免这些繁琐的过程,直接利用状态转换图进行状态机的描述,所有的状态均可表达为CASE_WHEN结构中的一条CASE语句,而状态的转移则通过IF_THEN_ELsE语句实现。money[0] S1 PIN_66 money[1] S2 PIN-67 money[2] S3 PIN_68 rst RESET PIN_240 commodity6 D1_1 PIN_215 commodity8 D1_2 PIN_217 give_change[0] D1_8 PIN_224 give_change[1] D1_7 PIN_225 give_change[2 D1_6 PIN_213 stamp S8 PIN_75 back S7 PIN_76 clk100hz Clock PIN_29 sell D1_4 PIN_207 五、使用说明 七、程序设计如下: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity vendor is port( reset :in std_logic; --系统内部给其他顾客重新操作的复位信号 clk :in std_logic; --由外接信号发生器提供的1024Hz系统时钟信号 ok_buy :in std_logic; --购买确认的按键信号 cancel_buy :in std_logic; --购买取消的按键信号 coin_1 :in std_logic;-- 投入壹角硬币的动作按键 coin_5 :in std_logic; --投入五角硬币的动作按键 coin_10 :in std_logic; --投入壹圆硬币的动作按键 select_liu_yp :in std_logic; --选择六角邮票的按键信号 select_ba_yp :in std_logic; --选择八角邮票的按键信号 led_liu_yp_ok :out std_logic; --灯亮显示还有六角邮票 led_ba_yp_ok :out std_logic; --灯亮显示还有八角邮票 led_liu_yp_sel :out std_logic; --灯亮显示六角邮票选择键被按 led_ba_yp_sel :out std_logic; --灯亮显示八角邮票选择键被按 led_buy :out std_logic; --灯亮显示按了购买确认键 led_cancel :out std_logic; --灯亮显示按了购买取消键 led_one :out std_logic;--1个LED,投入1个1角硬币亮一个LED led_five :out std_logic;--3个LED,投入1个五角硬币亮一个LED led_ten :out std_logic;--2个LED,投入1个壹圆硬币亮一个LED DOUT:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); led_liu_yp_out :out std_logic;--灯亮显示六角邮票已出货 led_ba_yp_out :out std_logic --灯亮显示八角邮票已出货 ); end; architecture arch of vendor is signal ok :std_logic;--用来维持ok_buy的状态 signal cancel
显示全部
相似文档