首页 > 其他分享 >自动售货机实现

自动售货机实现

时间:2023-11-23 22:01:21浏览次数:32  
标签:wire 实现 金额 找零 goods 自动售货机 out

上周的自动售货机,要求能选择商品,能显示找零金额,有1、3、5、8四种商品,接受1 、2 、5三种货币。

我的技术细节:一次选择一个商品,金额够数就出货物闪灯,金额不够就没有反应。按reset就可以重新买

输入 输出
商品(储存) led闪烁
金额(储存) 找零辉光管
rst  
module autoseller(
   in1,in2,in5,clk,reset,goods, Y,Z,out
);
endmodule

 

 in1,in2,in5是金额,分别用点动开关F1,F2,F3控制

reset是重置购买,,用点动开关F4控制

goods是商品,用拨码开关控制,SW1,SW2,SW3,SW4分别代表1,3,5,8四个商品

Y是出货物,当金额大于等于价格才会为1,用led灯闪烁表示 1位

Z是找零金额,z能对应数码管上的找零数 8位

out是Y与Z的合并,9位

clk是?????

所有的输入输出端口,输入都是wire类型


   input wire in1,in2,in5;
 input wire [3:0]goods;/* goods is the goods to buy and calculate */
 output  wire Y;/* why wire */
output wire[2:0] Z; output reg [8:0] out;/

 

标签:wire,实现,金额,找零,goods,自动售货机,out
From: https://www.cnblogs.com/guyo/p/17852598.html

相关文章

  • 7-2 栈实现表达式求值
    #include<iostream>#include<cstdio>#include<string>usingnamespacestd;constintN=100010;stringsplit(strings){    stringss;    for(inti=0;i<s.size();i++){        if(s[i]==32)continue;        ss+=char(s[i]);    }  ......
  • 在vue2.0 项目中集成 Electron 实现桌面端应用
    需求:在桌面端有个应用能直接打开项目,不用在浏览器中浏览。方案:vue2.0+Electron关于vue的项目搭建和electron的相关介绍可以去官网了解,这里是直接在已经开发好的vue2.0的项目中直接加入electron。electron介绍:参考1: https://electronjs.p2hp.com/参考2:https://www.......
  • 刘金玉QT学习笔记:7-简易用户信息管理界面实现_实现用户信息增改
    1.同第六课方式在widget里连接并创建数据库。 2.通过QSqlQuery使用sql语句的第二种方法:-在不同的函数中都要使用->做成全局变量 3.表格网格控件tableview控件显示数据库的内容为表格行-ui拖出控件-qtableview控件通过QSqlQueryModel来渲染数据过程:1widget.h引入#i......
  • react开发 jest写单元测试 如何借助mock模拟实现接口返回文件流的下载测试
    要借助mock模拟实现接口返回文件流的下载测试,可以使用以下步骤:1.创建一个用于接收文件流的虚拟DOM元素,例如通过`document.createElement('a')`创建一个`<a>`元素。2.使用`URL.createObjectURL()`方法将文件流转换为URL。3.设置创建的虚拟DOM元素的`href`属性为URL,同时设置`dow......
  • GUI--JFrame学习02(实现加减法)
    实现代码packagegui;importjavax.swing.*;importjavax.swing.plaf.FontUIResource;importjava.awt.*;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.util.Enumeration;importjava.util.Random;publicclassTestGuiexte......
  • Vue + Element UI 实现复制当前行数据功能(复制到新增页面组件值不能更新等问题解决)
    1、需求使用Vue+ElementUI实现在列表的操作栏新增一个复制按钮,复制当前行的数据可以打开新增弹窗后亦可以跳转到新增页面,本文实现为跳转到新增页面。2、实现1)列表页index.vue<el-table><!--其他列--><el-table-columnlabel="操作"width="150"><templateslot-s......
  • 低代码表单设计器:可视化+灵活+易操作,降本增效轻松实现!
    在现代化办公环境中,拥有先进的低代码表单设计器,可以让企业降本又增效,节约企业成本的同时,也能高效利用企业内部资源,为实现数字化转型升级提供夯实根基。那么,低代码表单设计器拥有什么样的特点?每种特点的优势表现在哪里?通过这篇文章,我们一起了解灵活、易操作、可视化的低代码表单设......
  • Vue + Element UI 实现复制当前行数据功能(复制到新增页面组件值不能更新等问题解决)
    1、需求使用Vue+ElementUI实现在列表的操作栏新增一个复制按钮,复制当前行的数据可以打开新增弹窗后亦可以跳转到新增页面,本文实现为跳转到新增页面。2、实现1)列表页index.vue<el-table><!--其他列--><el-table-columnlabel="操作"width="150"><templateslot-scope=......
  • UE4_C++实现TimeLine
    主要实现蓝图节点中时间轴的功能。目前UE提供了两种实现方式,一个是使用FTimeLine其是一个时间轴的结构体;另一种方式是使用UTimeLineComponent,其是一个时间轴组件类。两者内部定义的函数基本一样,组件类中使用这个结构体变量作为类中的成员变量。声明一个时间轴变量/组件FTimeL......
  • MDns C# 实现 Makaretu.Dns.Multicast
     1、创建一个DNS服务:可以使用MulticastService类来创建一个DNS服务实例,并为其指定主机名和端口号。varservice=newMulticastService("mydns.local",IPAddress.Parse("224.0.0.251"),5353);2、添加DNS解析记录:可以使用ServiceAnnouncement类来添加DNS解析记录,并将其......