HDL项目设计_自动售货机
自动售货机设计

自动售货机设计一、实验任务前提:单一商品的设定值是4元,多个商品时就设定值自拟(1)自动售货机的投币口每次可以投入1元、2元、5元,且规定投入1元或2元后不得再投入5元;(2)当投入总值等于设定值时,售货机就自动送出货物;当投入的总值超过设定值时,售货机会显示余额,送出商品并自动找零;(3)编写程序,实现售单一商品的功能。
按照以上要求,编写程序,实现售单一商品的功能;二、实验内容2。
1设计思路图1:自动售货机RTL实验原理图图2:自动售货机的状态装换图实验原理:本次实验是在状态机的基础上设计一个自动售货机,共分为6个状态,即S0,S1,S2,S3,S4,S5,分别表示此时的金额为0元,1元,2元,3元,4元,5元。
在时钟的控制下:①:当现态为S0(即0元),输出的MONEY为0元,无Y0和Y1信号,故PAYBACK为0元.若此时CIN为1元,则次态为S1(即1元);若此时CIN为2元,则次态为S2(即2元);若此时CIN 为5元,则次态为S5(即5元);②:当现态为S1(即1元),输出的MONEY为1元,无Y0和Y1信号,故PAYBACK为0元。
若此时CIN为1元,则次态为S2(即2元);若此时CIN为2元,则次态为S3(即3元);若此时CIN 为5元,则次态为S0(即0元);③:当现态为S2(即2元),输出的MONEY为2元,有Y0和Y1信号,故PAYBACK为0元。
若此时CIN为1元,则次态为S3(即3元);若此时CIN为2元,则次态为S4(即4元);若此时CIN 为5元,则次态为S0(即0元);④:当现态为S3(即3元),输出的MONEY为3元,无Y0和Y1信号,故PAYBACK为0元。
若此时CIN为1元,则次态为S4(即4元);若此时CIN为2元,则次态为S5(即5元);若此时CIN 为5元,则次态为S0(即0元);⑤:当现态为S4(即4元),输出的MONEY为4元,有Y0,无Y1信号,故PAYBACK为0元。
基于VHDL的售货机

基于VHDL的自动售货机的设计姓名班级:学号:指导老师:摘要:1)EDA:EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。
利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。
现在对EDA的概念或范畴用得很宽。
包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。
目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。
2)售货机简介:一般的自动售货机由钱币装置、指示装置、贮藏售货装置等组成。
钱币装置是售货机的核心分选钱币的种类,计算金额。
如果投入的金额达到购买物品的数值即发出售货信号,并找出余钱。
指示装置用以指示顾客所选商品的品种。
3)现状及发展趋势:从自动售货机的发展趋势来看,它的出现是由于劳动密集型的产业构造向技术密集型社会转变的产物。
大量生产、大量消费以及消费模式和销售环境的变化,要求出现新的流通渠道;而相对的超市、百货购物中心等新的流通渠道的产生,人工费用也不断上升;再加上场地的局限性以及购物的便利性等这些因素的制约,无人自动售货机作为一种必须的机器便应运而生了。
从广义来讲投入硬币、纸币、信用卡等后便可以销售商品的机械,从狭义来讲就是自动销售商品的机械。
从供给的条件看,自动售货机可以充分补充人力资源的不足,适应消费环境和消费模式的变化,24小时无人售货的系统可以更省力,运营时需要的资本少、面积小,有吸引人们购买好奇心的自身性能,可以很好地解决人工费用上升的问题等各项优点。
基于FPGA的自动售货机的课设说明书

目录1 引言 (1)2 VHDL介绍 (2)2.1 硬件描述语言VHDL (2)2.2 VHDL语言的特点 (3)3 QuartusII软件简介 (4)3.1软件介绍 (4)3.2界面介绍 (4)3.2.1代码输入界面 (4)3.2.2功能仿真界面 (5)3.2.3波形仿真界面 (6)4 自动售货机控制器设计与仿真 (7)4.1硬件电路设计 (7)4.2状态转换图 (7)4.3时序仿真结果 (10)5引脚锁定及下载 (12)5.1引脚锁定 (12)5.2下载 (12)5.3结果分析 (12)6设计总结 (14)参考文献 (15)附录 (16)1 引言VHDL的英文全名是VHSIC(Very High Speed Integrated Circuit)Hardware Descriptiong Language,诞生于1982年。
1987年底,VHDL被美国国防部确认为标准硬件描述语言。
自IEEE公布了VHDL的标准版本,IEEE-1076之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。
1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准的1076-1993版本。
现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。
有专家认为,在新的世纪中,VHDL于Verilog语言将承担起大部分的数字系统设计任务。
VHDL的英文全写(Very-High-Speed Integrated Circuit HardwareDescription Language)翻译成中文就是超高速集成电路硬件描述语言。
因此它的应用主要是应用在数字电路的设计中。
目前,它在中国的应用多数是用在FPGA/CPLD/EPLD的设计中。
基于VHDL的自动售货机的设计和实现论文

《计算机组成原理》课程设计报告基于VHDL的自动售货机设计与实现课程设计任务书计算机与通信工程学院网络工程专业指导教师对学生在课程设计中的评价指导教师对课程设计的评定意见基于VHDL的自动售货机设计与实现摘要:本设计运用VHDL语言编写一个自动售货机的控制系统,该系统具有货物信息存储,进程控制,硬币处理,余额计算,显示等功能。
商品的种类、单价和数量在初始化时输入,然后存储。
可以识别的币种为硬币,五毛和一元的面额。
用户投入硬币,系统累计数量,然后对比物品的单价和数量,扣除价格,最后计算余额,可以找零。
设计没有考虑硬件的实现,只进行功能的相应仿真,性质为实验性质的课程设计。
关键词:VHDL、自动售货机、课程设计、MXAPLUSⅡ、系统仿真Abstract: This design use of VHDL language design a vending machine control system, the system have the functions to storagethe goods information, process control, coin handling, balance calculation, display and other functions. The type of goods, unit price and quantity in the initialization to be input, and then stored. Currency for the coins can be identified, fifty cents and one dollar denomination. User input coins, the system account sum, and then comparing the unit price and quantity of goods, net price, the final calculation of the balance, you can give change.Design did not consider the hardware implementation, only the corresponding functional simulation, experimental nature of the curriculum design.Keywords: VHDL, vending machines, curriculum design, MXAPLUS Ⅱ, system simulation目录1.引言 (7)1.1自动售货机系统概述 (7)1.2设计任务和主要容 (8)2.系统设计过程 (9)2.1自动售货机系统总体框图 (9)2.2系统功能模块 (9)2.3程序源代码 (11)3.系统仿真 (15)3.1系统仿真全图 (15)3.2系统分步仿真图 (16)4.总结 (20)参考文献 (21)1 引言随着现在生活节奏越来越快,自动售货机的出现大大方便了人们的日常生活。
毕业论文自动售货机控制系统的设计与仿真

毕业设计说明书自动售货机控制系统的设计与仿真摘要随着社会的进步,科学的发展,生活水平的提高,单一传统的生活方式已经不能满足现代居民对高品质生活的追求,在这种现象下,许多自动化设备应时代应潮流而生。
自动售货机作为自动化设备中的最常见的设备之一,由于其众多的优点,已经在世界各地得到了普遍的发展并且还在不断地发展。
自动售货机掀起了继百货商店和超市之后的又一零售狂潮,这种智能售货系统在车站、教学楼、办公楼等公共场所有着广阔的发展前景。
本文在对自动售货机的背景历史和发展趋势进行了研究介绍之后,对课题中的自动售货机系统进行了整体的设计及规划。
该自动售货机控制系统是基于EDA技术来实现的,同时,利用Altera公司的QuartusⅡ14.0作为其软件开发平台,利用VHDL编程语言输入的方式完成了软件设计。
本设计方案对整个控制系统进行了层次化的编写。
把整个系统划分为6个子模块,分别是找零计算模块、确认取消控制模块、找零控制模块、总钱数加和模块、显示模块、锁定模块,并且对每一个子模块进行了详细的软件设计。
在顶层文件中通过调用各个子模块来完成vhdl程序的设计。
最后在对每一个子模块完成了功能仿真测试验证,同时也对整个系统进行顶层设计和仿真测试,测试结果表明了整个控制系统的合理性以及正确性。
整个控制系统设计简单合理,操作简单,满足售货机的基本要求,具有一定的实用意义。
关键词:自动售货机、VHDL、EDA、QuartusⅡAbstractAbstract: With the progress of the society, the development of the scientific, and the improvement of living standards, single traditional way of life has not meet modern residents' pursuit of high quality life, under this kind of phenomenon, a number of automation equipment should come into being. Vending machine as one of the most common equipment in the automation equipment, has been develop all over the world and develop constantly because it has many advantages .Vending machines set off after department stores and supermarkets in another retail frenzy, this intelligent vending system has broad prospects for development in the station, school buildings, office buildings and other public places.Based on the background of the vending machine, the article designs and plans the project of vending machine system after introducing the history and development trend.The vending machine control system is based on the EDA technology to realize, at the same time, it used Quarter Ⅱ 14.0 of the Altera corporation as the software development platform, taking advantage of VHDL programming language input completed the software design. The design scheme is hierarchical write for the whole hierarchical control system.The whole system is divided into six sub modules, change calculation module, confirming cancellation control module, the change control module, total amount module, display module, locking module, and each child module software design is design in detail.On the top floor file by calling each module to complete the VHDL program design.Finally, The design scheme completed the function simulation test to verify for each child modules, and conducts Top-level design and simulation test for the whole system, the test results show the rationality and validity of the whole control system. The design of the whole control system is simple and reasonable, the operation is simple, it meets the basic requirement of the vending machine and has certain practical significance.keywords :The vending machine、EDA、VHDL、QuqrtusⅡ1 绪论1.1课题研究背景早在20世纪30年代,出售香烟的自动售货机就在美国被研制出来了,此后,各类自动售货机也相继被研究出来。
自动售货机课程设计.

唐山学院《EDA技术》课程设计题目自动售货机控制器设计系 (部)班级姓名学号指导教师年月日至月日共周年月日《EDA技术》课程设计任务书课程设计成绩评定表目录1 引言 (1)2 VHDL介绍 (2)2.1硬件描述语言VHDL (2)2.2VHDL语言的特点 (3)3 Quartus II介绍 (4)3.1 Quartus II软件介绍 (4)3.2 Quartus II软件界面介绍 (4)3.2.1代码输入界面 (4)3.2.2编译界面 (5)3.2.3波形仿真界面 (5)4自动售货机控制器设计与仿真 (7)4.1设计内容 (7)4.2输入与输出说明 (7)4.3状态转换图 (8)4.4程序及仿真波形分析 (8)5引脚设定及下载分析 (18)5.1引脚设定 (18)5.2程序下载 (18)5.3结果分析 (19)6设计总结 (20)参考文献 (21)附录 (22)1 引言VHDL的英文全名是VHSIC(Very High Speed Integrated Circuit)Hardware Descriptiong Language, 翻译成中文就是超高速集成电路硬件描述语言,诞生于1982年。
1987年底,VHDL被美国国防部确认为标准硬件描述语言。
自IEEE公布了VHDL的标准版本,IEEE-1076之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。
1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL 的内容,公布了新版本的VHDL,即IEEE标准的1076-1993版本。
现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。
有专家认为,在新的世纪中,VHDL于Verilog语言将承担起大部分的数字系统设计任务。
目前,它在中国的应用多数是用在FPGA/CPLD/EPLD的设计中。
自动售货机的VHDL实现
自动售货机的V H D L实现(共14页) --本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--2011-9-6目录1.封面 (1)2.目录 (2)3.导言 (3)4.正文 (3)(1)总体方案设计 (3)(2)单元模块设计 (4)①系统变量及参数说明 (4)②各状态功能介绍及设计 (5)③各单元模块的联接 (7)(3)系统功能调试 (7)(4)设计总结 (9)①设计的小结 (9)②设计收获体会 (9)③对设计的进一步完善提出意见 (9)5.结论 (10)6.感谢 (10)7.附录 (10)8.参考文献 (14)3、导言该系统用于模仿自动售货机,完成自动售货机的核心控制功能。
设计 FPGA模块模拟自动售货机的工作过程,要求如下:(1)售货机有两个进币孔,可以输入硬币和纸币,售货机有两个进币孔,一个是输入硬币,一个是输入纸币,硬币的识别范围是1 元的硬币,纸币的识别范围是 5 元,10 元,20,50 元,100元。
乘客可以连续多次投入钱币。
(2)顾客可以选择的商品种类有 16 种,价格分别为 1-16 元,顾客可以通过输入商品的编号来实现商品的选择。
即有一个小键盘(0-9 按键)来完成,比如输入 15 时要先输入 1,再输入 5。
(3)顾客选择完商品后,可以选择需要的数量。
然后可以继续选择商品及其数量,每次可以选择最多三个商品。
然后显示出所需金额。
顾客此时可以投币,并且显示已经投币的总币值。
当投币值达到或超过所需币值后,售货机出货,并扣除所需金额,并找出多余金额。
在投币期间,顾客可以按取消键取消本次操作,钱币自动退出。
4、正文(1)总体方案设计本系统采用状态机的架构,将系统分为6个状态:开始、选种类、选数量、付款、退款/找零准备、结束。
各状态的转换关系如图:(2)单元模块设计①系统变量及参数说明②各状态功能介绍及设计i.初始状态开启系统后,当时钟信号进入上升沿,系统进入初始设置,用于存储商品种类和数量的高低位寄存器统一清零备用,系统转入下一个状态。
SOC设计实验报告
西北工业大学《SOC设计实践》实验报告学院:软件与微电子学院学号:姓名:专业:时间:实验地点:实验一、编写一个自动售货机Verilog HDL模型#2 five_cents=0;#10 ten_cents=1;#2 ten_cents=0;#10$stop;endAUTOSEL AUTOSEL(five_cents,ten_cents,clk,rst_n,soda_out);Endmodule测试波形图如下所示:Autosel-vcs仿真波形最下边一行代表的是投5分,倒数第二行代表的是复位信号,第三行是时钟信号,第二行是投10分,由图可知,在投3个5分,1个5分、1个10分,两个10分,1个10分、1个5分,2个5分、1个10分都可使输出信号为1,满足题意要求。
4)使用Synopsys DC进行综合。
答:autosel.con约束文件如下:##################Constrain#######################reset_design总的面积为25.75um2。
最终的综合电路图:Autosel dc 综合电路三、实验报告要求1)设计思路,状态定义,转台转换图。
2)使用Verilog HDL完成设计。
3)编写testbench。
4)V CS完成仿真,对仿真结果进行分析。
5)编写Synopsys DC综合脚本文件dc.tcl以及约束文件autosel.con。
6)使用Synopsys DC进行综合,给出综合后的报告,包括rc.rpt,rt.rpt,ra.rpt,并做必要说明。
7)综合后的电路图。
四、分析与讨论在做本次试验时,由于刚开始使用的投币信号的脉冲较宽,使得输出信号在时输出信号有效的最后一个信号为高时,状态发生了连续的跳转,最后的输出信实验二、设计PCM30基群帧同步电路一、题目描述设计PCM30基群帧同步电路,该PCM30机群系统结构如下:输入输出信号说明:DATA :输入串行码流,速率为2.04Mb/S;CLK :输入时钟,频率为2.04MHz;/FLOSS :输出失步信号,低电平有效。
基于FPGA的自动售货机设计
目录摘要 (III)ABSTRACT (IV)第一章引言 (1)1.1 1.2自动售货机的简介 (1)本课题研究的背景及意义 (1)1.3 设计方案 (1)第二章 FPGA自动售货机系统设计 (2)2.1 自动售货机的工作原理 (2)2.2 自动售货机的系统框图设计 (2)2.3 具体的实施方案 (3)第三章芯片的选择和介绍 (4)3.1 芯片选择 (4)3.2 CycloneⅡ系列器件概述 (4)3.3 CycloneⅡ系列器件的下载设计 (4)第四章自动售货机的硬件电路设计 (6)4.1 Altium Designer 6.0简述 (6)4.2 FPGA芯片主模块电路设计 (6)4.2.1电源电路 (6)4.2.2 时钟信号电路 (7)4.2.3 下载配置电路 (8)4.2.4 I/O端口引出电路 (8)4.3外围电路 (9)4.3.1 开关按键电路 (9)4.3.2 显示模块电路设计 (10)4.3.3 外围电路端口电路 (11)4.4 硬件电路的总原理图和PCB图 (12)4.4.1 FPGA芯片主模块总原理图和PCB图 (12)4.4.2 外围电路总原理图和PCB图 (12)第五章硬件电路的调试 (13)5.1 电路板的测试 (13)5.1.1 外围电路测试 (13)5.1.2 FPGA主模块电路板测试 (14)5.2 程序调试 (15)结论 (19)参考文献 (20)附录 (21)致谢 (23)摘要在当今国内外电子科技高速发展的今天,FPGA已经成为当今电子设计的一个主流。
FPGA 利用它的现场可编程特性,将原来的电路板级产品集成为芯片级产品,缩小体积,缩短系统研制周期,方便系统升级,具有容量大、逻辑功能强,而且兼有高速、高可靠性的优点。
因此,本课题的设计将采用FPGA芯片作自动售货机的控制核心,并通过搭建外围电路模拟自动售货机的功能。
本文将在硬件电路的设计与制作方面作详细的介绍:从开始对电路设计的构思,到原理图的设计和PCB图绘制,再到电路板的制作,最后到实物的调试以及结合软件进行自动售货机的功能模拟。
自动售货机总体设计方案
自动售货机总体设计方案1. 引言自动售货机是一种以自动化技术为基础,能够提供商品的设备。
它具有自动售卖、货物储存和款项结算等功能,能够有效提高商品销售的效率。
本文档将介绍自动售货机的总体设计方案,包括硬件和软件两个方面。
2. 硬件设计2.1 设备结构自动售货机的设备结构分为四个主要部分:外壳、货架、货格和投币器。
- 外壳:由金属和塑料材料制成,具有防护和美观的功能。
- 货架:用于摆放商品,根据商品的种类和尺寸进行合理划分。
- 货格:用于存放商品,每个货格配备一个电子锁,以保证商品的安全性。
- 投币器:用于识别和接收硬币,同时向用户提供找零功能。
2.2 控制系统自动售货机的控制系统由主控板、显示屏、按键和传感器组成。
- 主控板:负责整个自动售货机的控制和管理。
- 显示屏:用于显示商品信息、价格和用户操作指导。
- 按键:用于用户选择商品和完成支付。
- 传感器:包括货箱传感器、温度传感器和货物检测传感器等,用于监测库存和环境参数。
2.3 电源系统自动售货机的电源系统主要包括电源适配器和备用电池。
- 电源适配器:将市电转换为适合自动售货机使用的电压和电流。
- 备用电池:在断电情况下,为自动售货机提供短时间的电源供应。
3. 软件设计3.1 系统架构自动售货机的软件系统分为前端和后端两部分。
- 前端:包括用户界面和交互逻辑,通过显示屏和按键与用户进行交互。
- 后端:包括商品管理、库存管理和支付管理等功能,通过主控板和传感器与硬件系统进行交互。
3.2 用户界面用户界面提供商品浏览、选择和支付等功能。
- 商品浏览:显示商品的名称、价格和剩余数量,让用户选择自己所需的商品。
- 商品选择:用户通过按键选择商品和数量,系统会显示所选商品的总价。
- 支付方式:用户选择一种支付方式,如硬币、支付宝或微信支付。
- 支付确认:用户确认支付金额,并投入相应的硬币或扫码付款。
3.3 商品管理商品管理包括商品信息的维护和更新。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
河海大学计算机与信息学院(常州) 课程设计报告
题 目 HDL课程设计自动售货机 专业、学号 电信1062610302 授课班号 278605 学生姓名 李珊珊 指导教师 奚吉 完成时间 2012年8月30日 摘 要
《HDL硬件描述语言》是一门技术性、应用性很强的学科,实验课教学是它的一个极为重要的环节。因此通过自主设计自动售货机,让我们能够将课堂上学到的理论知识与实际应用结合起来,并且进一步加深对分析、解决实际的数字电路问题的认识,。 本设计主要利用Quartus II平台,采用VHDL硬件描述语言编程的设计方法设计系统核心电路的硬件程序,之后借助ModelSim软件进行软件仿真,经过验证可以实现功能后,再将程序通过Quartus Ⅱ平台进行调试,最后将生成的目标文件下载到实验台内的FPGA芯片以实现该系统,并结合实验箱进行具体的显示。最终完成的自动售货机系统具有投币处理、商品选择、找零、异常退币等主要功能。 本次设计中,用七个开关依次分别表示三种币值和四种价格的小商品,用数码管显示退币。当投币并选择商品后,若投币总值大于等于商品价格,则成功购买,对应所购买商品的LED灯亮,数码管显示退币金额;若投币总值小于商品价格,则显示异常,商品LED灯不亮,所投金额全部退回,数码管显示退币金额。
【关键词】自动售货机 HDL Quartus II FPGA ABSTRACT "The HDL hardware description language" is a technical, applied subject, experimental teaching is one of its most important link.Therefore, through independent design a auto-vending machine, so that we can to the classroom theoretical knowledge and practical application of combined, and to further deepen the analysis, solve practical digital circuit problems,. This design mainly uses Quartus II platform, using VHDL hardware description language programming design method for design of system core circuit hardware program, followed by ModelSim software through software simulation, validation function can be achieved, then the program through the Quartus Ⅱ platform in debugging, finally will generate the target file download to experimental platform FPGA chip to realize the system, and combining with the experimental box for a specific display.Final completion of a vending machine system having a coin processing, product selection, change, refund and other major functional abnormalities. In this design, with seven switches respectively represent the three currency and four kinds of prices of commodity, with digital display back currency.When the coin and merchandise selection, if the coin value greater than or equal to commodity prices, successful buy, corresponding to purchase LED lights, digital tube display the refund amount; if the coin value less than commodity prices, commodity display abnormalities, LED light is not bright, the investment amount of all returned, digital tube display the refund amount.
【Key words】auto-vending machine HDL Quartus II FPGA 系统设计 1.设计目标 (1)用四个发光二极管分别模拟售出价值为5角、1元、1.5元和2元的小商品,购买者可以通过开关选择任意一种标价中的小商品。 (2)灯亮时表示该小商品售出。 (3)用开关分别模拟5角、1元硬币和5元纸币投入,可以用几只发光二极管(或数码管)分别代表找回剩余的硬币。 (4)每次只能售出一种小商品,当所投硬币达到或超过购买者所选面值时,售出货物并找回剩余的硬币,回到初始状态; (5)当所投硬币值不足面值时,可通过一个复位键退回所投硬币,回到初始状态。
2.设计方案比较 本设计可以通过多种方案来实现,例如采用数字逻辑电路制作,用IC器件连接焊接外围电路实现,这种电路很直观,简单方便。但应用数字逻辑电路制作,使用的器件较多,连接复杂,体积大,功耗大。电路中焊点和线路较多会,使成品的稳定度和精度大大降低。 在本设计中,主要采用另一种方案:使用现场可编程逻辑器件(FPGA)制作,利用Verilog HDL硬件描述语言编程进行控制,然后利用QuartusⅡ平台实现。采用FPGA 实现, 它的优点是所有电路集成在一块芯片上,此方案所需的外围电路简单,这样它的体积就减少了,同时还提高了系统的稳定度。还可以用软件QuartusⅡ5.0 进行仿真和调试等。设计人员可以充分利用HDL 硬件描述语言方便的编程,提高开发效率,缩短研发周期,降低研发成本;而且易于进行功能的扩展,实现方法灵活,调试方便,修改容易。 3.系统框图
4.详细方案 根据题目的基本要求,自动售货机的问题实际就是状态转换的问题,不同的状态对应不同的输出。我们设计的自动售货机有四个状态,即初始状态、选择商品状态、投币状态、找零状态。 初始状态:各变量都设置为零,按下 rst 键后,一切恢复到初始状态。 选择商品状态:分别有价格为0.5元、1元、1.5元和 2 元的商品,每次选择商品前,设置一个标志位表示选择商品状态。此自动售货机每一次售货时只能一次选择一种商品,当同时选择两种以上时,选择商品无效,数码管显示清零,重新进行商品选择。选择商品后,数码管显示所选商品价格。 投币状态:当选好商品后,开始投币,同样有一标志位表示投币金额。投币口只接受三种面值的钱币0.5元、1元和5元,可以同时投入多种面值钱币。完币后,先有一个确认买商品的过程,若投了币但又不购买商品了,完币后,先有一个确认买商品的过程,若投了币
初始状态 选择商品 找零
投币 币值不足
币值充足 但又不购买商品了,就将全部投币金额退回;若确认购买商品,则进入下一状态:找零状态。 找零状态:投完币,并确认购买商品后,进入找零状态。首先要将所投的金额与所选商品的价格做比较,若所投金额小于商品价格,则退回所投钱币;若大于等于商品价格,则两者做差,得到需要找零的钱。 实际过程中,我们将此问题分为两部分来实现:输入部分和输出部分。 输入部分:包括复位信号、选择商品信号和投币信号。四种小商品的选择可以分别用四个输入端代替,三种币值可以分别用三个输入端表示。时钟信号clk为每个时钟的上升沿触发系统的状态转换;复位信号为上升沿触发,按下后自动回复初始状态;选择信号为4个按键,表示4种不同价值的小商品,高电平有效;投币信号为3个按键,表示3种币值,高电平有效;确定信号为选择投币后按确定键才能判断输出。 输出部分:包括币值显示信号、货物信号及找零信号。其中,用相应的指示灯表示所选货物、投币币值,用数码管显示找零信号。
5.程序 module seller(b1,b2,b3,pri_5,pri_10,pri_15,pri_20,clk,rst,out1,out2,goods,money); input b1,b2,b3; input pri_5,pri_10,pri_15,pri_20; input rst; input clk; output out1,out2; output goods; output money; reg [0:2]money; reg [0:3]goods; reg [0:6]out1; reg [0:6]out2; always@(clk) if(rst) begin money=3'b000; out1=7'b0111111; out2=7'b0111111; goods=4'b0000; end else