源码系列:基于FPGA的自动售货机设计(附源工程)

原创 FPGA技术江湖 2024-12-29 12:31

大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分。大侠可以关注FPGA技术江湖,在“闯荡江湖”、"行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢。


今天给大侠带来基于FPGA的自动售货机设计,附源码,获取源码,请在“FPGA技术江湖”公众号内回复“ 自动售货机设计源码”,可获取源码文件。话不多说,上货。


设计要求


一听饮料需要2.5美元,规定只能投入一美元,0.5美元的硬币。



设计架构



设计框架图:


设计代码


设计模块sell代码:
module sell(clk,rst_n,one_dole,half_dole,descense,back_money);  input clk;  input rst_n;  input one_dole;      //输入1美元  input half_dole;    //输入0.5美元    output reg descense;      //是否买到的标志位  output reg [2:0] back_money;    //找回的钱
parameter s0 = 2'b00,s1 = 2'b01,s2 = 2'b10; reg [1:0] state; reg [4:0] money; reg [1:0] state_x; always @ (posedge clk or negedge rst_n) if(!rst_n) begin state_x <= s0; end else begin state_x <= state; end always @ (posedge clk or negedge rst_n) if(!rst_n) begin money <= 5'b0; state <= s0; end else begin case (state) s0:begin //判断投入的钱是多少 if(one_dole) begin money <= money + 10; state <= s1; end else if(half_dole) begin money <= money + 5; state <= s1; end else begin state <= s0; money <= money; end end //判断和商品的价格是否一样 s1:begin if(money < 25) begin state <= s0; end else begin state <= s0; money <= 5'b0; end end endcase end reg [1:0] state_s; always @ (posedge clk or negedge rst_n ) if(!rst_n) begin descense <= 1'b0; back_money <= 3'b0; state_s <= s0; end else begin case (state_s) s0: begin if(money < 25) //判断输入的钱数 begin back_money <= 3'b0; descense <= 1'b0; end else //找回的钱和买到的标志位 begin back_money <= money - 25; descense <= 1'b1; state_s <= s1; end end s1: begin descense <= 1'b0; state_s <= s0; end endcase endendmodule

测试仿真


测试模块sell_tb代码:
`timescale 1ns/1ps    //时间精度
module sell_tb(); //定义我们的端口 reg clk; reg rst_n; reg one_dole; reg half_dole;
wire descense; wire [2:0] back_money; initial begin clk = 1'b1; rst_n = 1'b0; one_dole = 1'b0; half_dole = 1'b0; #200.1 rst_n = 1'b1; //模拟输入的钱数 #200 one_dole = 1'b1; #20 one_dole = 1'b0; #200 one_dole = 1'b1; #20 one_dole = 1'b0; #200 one_dole = 1'b1; #20 one_dole = 1'b0; #1000.1 #200 half_dole = 1'b1; #20 half_dole = 1'b0; #200 one_dole = 1'b1; #20 one_dole = 1'b0; #200 one_dole = 1'b1; #20 one_dole = 1'b0; # 1000 $stop; //停止仿真 end always #10 clk = ~ clk; sell sell_dut( //例化端口 .clk(clk), .rst_n(rst_n), .one_dole(one_dole), .half_dole(half_dole), .descense(descense), .back_money(back_money) );endmodule
仿真图:


我们从仿真中可以看到当我们的钱数投够的时候,就给一个买到的标志位,如果投的超过商品的价格,那么我们就给一个买的标志位,然后找回我们投的多的钱。


END

福利】:QQ交流群173560979,进群备注名字+学校/企业。
淘宝店铺:https://shop588964188.taobao.com
论坛网址:www.sxznfpga.com
叁芯智能FPGA课程

往期精选 

 
 

【免费】FPGA工程师人才招聘平台

FPGA人才招聘,企业HR,看过来!

系统设计精选 | 基于FPGA的实时图像边缘检测系统设计(附代码)

基于原语的千兆以太网RGMII接口设计

时序分析理论和timequest使用_中文电子版

求职面试 | FPGA或IC面试题最新汇总篇

特惠 | FPGA图像处理专题课,Quartus、ISE、Vivado全涉及

特惠 | FPGA时序分析及约束专题课,Quartus、ISE、Vivado全涉及

资料汇总|FPGA软件安装包、书籍、源码、技术文档…(2024.11.14更新)

FPGA技术江湖广发江湖帖

无广告纯净模式,给技术交流一片净土,从初学小白到行业精英业界大佬等,从军工领域到民用企业等,从通信、图像处理到人工智能等各个方向应有尽有,QQ微信双选,FPGA技术江湖打造最纯净最专业的技术交流学习平台。


FPGA技术江湖微信交流群

加群主微信,备注姓名+学校/公司+专业/岗位进群


FPGA技术江湖QQ交流群

备注姓名+学校/公司+专业/岗位进群

FPGA技术江湖 任何技术的学习就好比一个江湖,对于每一位侠客都需要不断的历练,从初入江湖的小白到归隐山林的隐世高人,需要不断的自我感悟自己修炼,让我们一起仗剑闯FPGA乃至更大的江湖。
评论
  • 本文介绍瑞芯微主板/开发板编译OpenHarmony源码后烧录镜像的教程,触觉智能Purple Pi OH鸿蒙开发板演示。搭载了瑞芯微RK3566四核处理器,树莓派卡片电脑设计,支持开源鸿蒙OpenHarmony3.2-5.0系统,适合鸿蒙开发入门学习。编译源码后镜像路径编译完OpenHarmony源码后,会在以下路径,生成散包镜像,如图所示:/out/XXX(产品名)/packages/phone/images这时我们将images文件夹拷贝至本地,进行散包烧录操作步骤。散包镜像烧录连接开发板
    Industio_触觉智能 2024-12-30 09:54 70浏览
  • 综述在当今科技驱动的时代,压力测量在众多领域中扮演着举足轻重的角色。压力变送器作为将压力信号转换为标准电信号的关键设备,其技术发展与应用效能直接关系到各行业的生产安全、效率提升与创新突破。本文将深入阐述芯佰微电子为应对压力变送器的现状与痛点所推出的芯片解决方案。 一、现状与痛点分析压力变送器作为工业自动化系统中的关键设备,广泛应用于石油、化工、电力、汽车、航空航天等领域,用于精确监测液体、气体及蒸汽等介质的压力。随着工业自动化的普及及对数据精度的要求不断提高,压力变送器的技术也在不断进
    芯佰微电子 2024-12-30 13:51 37浏览
  • 2024年12月30日 调研咨询机构环洋市场咨询出版的《全球CPU渲染行业总体规模、主要厂商及IPO上市调研报告,2024-2030》主要调研全球CPU渲染总体规模、主要地区及国家的市场规模、主要企业规模和份额、主要细分市场规模、下游主要应用规模以及未来发展前景预测。统计维度包括收入、市场份额以及增速。同时也重点分析全球市场主要厂商(品牌)包括企业简介、总部、产地、CPU渲染产品介绍、规格/型号、收入、毛利率及市场份额、最新发展动态、优势与不足。历史数据为2019至2023年,预测数据为2024
    GIRtina 2024-12-30 16:36 95浏览
  • 在半导体设计的复杂世界里,EDA(电子设计自动化,Electronic Design Automation)和 IP(知识产权,Intellectual Property)是两个极为重要的概念。它们虽然都服务于半导体设计流程,但在功能、性质和应用等方面存在显著差异。理解这些差异,对于深入了解半导体行业的运作至关重要。EDA:半导体设计的强大工具集EDA 是一系列软件工具的集合,旨在帮助工程师进行集成电路(IC)的设计、验证和制造。从最初的电路原理图设计,到复杂的芯片布局布线,再到最后的功能验证,
    Jeffreyzhang123 2024-12-30 14:26 74浏览
  • 随着Serdes传输速率的提升,交换机功耗和信号损失、系统集成度等问题愈发具有挑战, CPO新技术渗透率加速提升。根据LightCounting的数据显示,人工智能对网络速率的需求是当前的10倍以上。LightCounting预计CPO技术的出货将从800G和1.6T端口开始,在2024至2025年期间开始商用,2026至2027年开始规模上量,主要应用于超大型云服务商的数通短距场景。 CPO发展Roadmap 共封装光学CPO(Co-Packaged Optics)是一种将光引擎和交换芯片共
    hycsystembella 2024-12-29 16:22 108浏览
  • 在数字化时代,软件和操作系统(OS)犹如一对紧密协作的伙伴,共同构建了我们丰富多彩的数字世界。它们之间的关系错综复杂却又妙趣横生,深入理解这种关系,对于我们更好地使用和开发软件,以及推动整个信息技术产业的发展都有着至关重要的意义。操作系统:软件运行的基石操作系统,就像是计算机系统的大管家,它是计算机硬件与其他软件之间的桥梁。从底层的硬件资源管理,到为用户提供一个友好的操作界面,操作系统都扮演着不可或缺的角色。硬件资源管理是操作系统的核心职责之一。它负责分配和调度 CPU、内存、硬盘、显卡等硬件资
    Jeffreyzhang123 2024-12-30 15:04 82浏览
  • 在电子世界的广袤领域中,微控制器(MCU,Microcontroller Unit)宛如一颗璀璨的明星,发挥着至关重要的作用。从简单的智能家居设备到复杂的工业控制系统,MCU 无处不在。今天,我们就一同深入了解 MCU 的基础以及常用的编程手段。MCU 基础:麻雀虽小,五脏俱全MCU 是一种将中央处理器(CPU)、存储器(如闪存、随机存取存储器 RAM)、输入输出接口(I/O 接口)、定时器 / 计数器等多种功能集成在一个芯片上的微型计算机系统。它就像是一个小型的电子大脑,能够接收外部信号,进行
    Jeffreyzhang123 2024-12-30 15:40 87浏览
  •  随着电子技术的进步,电路中的隔离需求日益增加。晶体管光耦作为一种非接触式信号传输器件,因其独特的隔离特性和可靠性,成为了现代电子设备和工业控制中不可或缺的元件。本文将带您深入了解晶体管光耦的结构、工作原理和核心特点。晶体管光耦的基本结构晶体管光耦,通常由两个主要部分组成:发光二极管(LED)和光敏晶体管。其物理结构简单却极具创新性:发光二极管(LED):电流通过时,LED会发出红外光。光敏晶体管:接收来自LED的红外光信号,从而引导电流在输出端导通。这种结构的最大特点在于输入与输出端
    晶台光耦 2024-12-30 16:15 76浏览
  • 近日,飞凌嵌入式为FET527N-C核心板适配了全新升级的Forlinx Desktop 22.04操作系统,为用户体验带来了诸多显著的提升——不仅能够享受到更加流畅、稳定的操作体验,还能充分利用Forlinx Desktop 22.04所提供的丰富功能与创新特性提升工作效率与应用兼容性。OK527N-C开发板运行Forlinx Desktop 22.041、系统与硬件双重赋能飞凌嵌入式FET527N-C核心板搭载全志T527N处理器,集成了8个ARM Cortex-A55高性能核,同时内置1个
    飞凌嵌入式 2024-12-30 14:00 44浏览
  • 在科技飞速发展的今天,智能硬件如同璀璨星辰,照亮了我们生活的各个角落。从清晨的第一缕阳光唤醒智能音箱,到夜晚智能家居系统营造的温馨氛围,智能硬件正以前所未有的速度改变着我们的生活方式,开启了一个全新的智能时代。智能硬件:科技融合的结晶智能硬件是将传感器、芯片、通信技术等多种科技元素深度融合的产物。它不再仅仅是冰冷的机器,而是具备了感知、思考和交互能力的智能伙伴。以智能手表为例,它不仅能准确记录时间,还能实时监测心率、运动步数、睡眠质量等健康数据。内置的传感器就像敏锐的 “触角”,时刻感知着我们的
    Jeffreyzhang123 2024-12-30 14:29 59浏览
  • 从简单的照明工具到会说话的艺术品。认知总是不断地被刷新、升级。曾经,汽车内部的按键灯、内饰灯仿佛一盏盏小夜灯,那些光点,虽不起眼,却总能在黑夜中给予驾驶员和乘客陪伴和指引。但时代在变,人们对美好生活,包括车生活的追求也在升级。那些传统的光点,渐渐地,已经满足不了大众对驾驶体验的期待。让“上车”等于“回家”。至此,一场关于内饰照明的革命悄然兴起。1、从简单的照明工具到会说话的艺术品“内饰氛围灯的主要应用方向就是营造轻松舒适的氛围。”艾迈斯欧司朗高级系统方案工程师钟文帅还因此总结了内饰氛围灯的四大发
    艾迈斯欧司朗 2024-12-30 15:55 91浏览
  • 一、API 安全:现代企业的必修课在现代技术生态中,应用程序编程接口(API)扮演着不可或缺的角色。从数据共享到跨平台集成,API 成为连接企业系统与外部服务的桥梁。然而,伴随云计算的普及与微服务架构的流行,API 的使用量呈现爆发式增长,也使得它逐步演变为企业信息安全中的“高危地带”。API 的核心功能是促进数据流转和应用集成,这既是它的优势,也使其成为网络攻击的主要目标。许多企业依赖 API 进行敏感数据的交互,包括用户信息、财务记录和企业业务数据等。一旦 API 出现漏洞或被不法分子利用,
    艾体宝IT 2024-12-30 11:49 51浏览
  • C语言USB与SD的例程在接口类型、存储方式以及数据传输速度等方面存在区别,具体分析如下: 1. 接口类型   USB:USB(通用串行总线)是一种广泛使用的硬件接口标准,用于连接电脑与各种外围设备。USB协议支持多种数据传输模式,包括控制传输、中断传输、批量传输和同步传输。了解USB通信协议是开发任何USB相关软件的基础。    SD卡:SD卡(Secure Digital Memory Card)是一种基于半导体快闪记忆器的新一代记忆设备,常用于数码
    丙丁先生 2024-12-30 09:59 77浏览
  • 在神秘而复杂的电子世界里,电子测试与测量技术宛如一把神奇的密钥,帮助我们解锁其中的奥秘。它不仅仅是一门技术,更是连接理论与实践、推动电子产业不断向前发展的核心力量。电子测试与测量:独特的 “电子侦探”电子测试与测量技术,犹如一位敏锐的 “电子侦探”,深入电子系统的各个角落,探寻其中的真相。从微小的电子元件到庞大复杂的电子系统,它都能凭借一系列独特的工具和方法,对电子信号的各种参数进行精确的分析和判断。想象一下,在一个复杂的电路板上,无数电子元件紧密协作,如同一个繁忙的城市。而电子测试与测量技术就
    Jeffreyzhang123 2024-12-30 14:54 75浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦