数字逻辑课程设计——自动售货机

选题:自动售货机

一、设计任务

1、允许向售货机投入1元的硬币,有4种商品可以选择(商品号从1到4号)。首先,用一个键选择商品,在数码管上显示商品号和单价;然后投币,投币时,按一次键模仿投入1元硬币。投币的数量显示在数码管上。投入硬币的数量够买入商品时,点亮一个指示灯,表示商品已经售出。如果,输入的硬币不够数,按退款键可以退出硬币,清除所有显示数据。
2、开始使用前,售货机的商品的单价用按键输入,并保存在四个寄存器中,每件商品的单价为1到9元。
每一次只能选一种商品。

二、设计方法参考

  1. 利用四个锁存器74377(边沿触发)保存商品的单价。
  2. 译码器74139(2-4)控制74377的使能端,允许clk脉冲的上沿,把数据打入74377。
  3. 将四种商品的其中一个的单价显示在数码管上,可用数据选择器(74153)进行。
  4. 为了使74377在售货状态下能保持输出不变,译码器的使能端要保持1(用锁定键),使译码器输出全为1。寄存器处于关闭状态。在预存单价状态译码器的使能端为0,使译码器能正常工作。
  5. 数据选择器使能端始终有效。使商品的单价能显示在数码管上。
  6. 商品号只有四种,要求显示时用1号到4号。

三、设计思路

在本项目中是要模拟一个自动售货机的功能
模拟的售货机有4种,商品编号1-4,各个商品的单价需要按键预置,要设定数码管显示商品编号和单价,其中还需要模拟投币功能,每次只允许投入1个1元的硬币,投入的硬币数量足够买入商品的话就点亮指示灯,表示商品已经售出,交易成功,如果投入的硬币不够数量的话,按退款见可以退出硬币,清除所有显示的数据。
以下使用任务流程图来直观描述本设计要完成的项目内容

数字逻辑课程设计——自动售货机

四、设计方案分析

如图所示,主要把本设计分为了三大模块,分别是预置单价模块、选择商品模块和比较、交易模块,这三大模块中又进行细分了各个小模块。

数字逻辑课程设计——自动售货机