EDA课程设计 自动售货机控制系统_第1页
EDA课程设计 自动售货机控制系统_第2页
EDA课程设计 自动售货机控制系统_第3页
EDA课程设计 自动售货机控制系统_第4页
EDA课程设计 自动售货机控制系统_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、电子课程设计自动售货机控制系统的设计 学 院:电子信息工程学院专业、 班级: 通信131503班 姓 名: 学 号: 2013150303 指 导 老 师: 李 斌 2 0 1 5 年 1 2 月 目录绪论1一、设计任务与要求1二、总体框图1框图1设计思路1三、器件选择1四、功能模块11、分频器模块12、数码管显示模块13、取货模块1五、总体设计电路图11、总体设计电路原理图12、管脚分配表13、仿真图1六、心得体会1七、参考文献1自动售货机控制系统的设计绪论近年来,集成电路技术的迅猛发展,特别是可编程逻辑器件的高速发展,电子设计自动化EDA技术成为电子设计工程师的新宠。EDA技术以计算机为工

2、具完成数字系统的逻辑综合、布局布线和设计仿真等工作。电路设计者只需要完成对系统功能的描述,就可以由计算机软件进行系统处理,最后得到设计结果,并且修改设计方案如同修改软件一样方便。利用EDA工具可以极大地提高设计效率。本设计是一套结构简单,操作方便,性能可靠的自动饮料售卖机产品。自动饮料售卖机电路设计采用选择商品电路、投币累加电路、统计卖出商品电路等四个基本电路构成。自动售货机在接受投入钱币后,通过与商品价格比较,确定是否能够售出商品和把算出剩余的钱找回。当商品输出后售货机自动把上次卖出商品的价格和投入的钱币的总和清零,这时才可以进行下次交易。自动售货机还应满足商家查看销售商品的总和及使其清零,

3、和控制该售货机进行整体复位。该售货机可以帮助商家更好的销售商品,并且节省人力,获得更大的利润自动饮料售卖机是能够根据投入的钱币自动取出饮料的机器,它是商业自动化的常用设备,不受时间、地点的限制,能节省人力、方便交易。现代的自动饮料售卖机的种类、结构和功能依出售的饮料种类而异。钱币装置是自动饮料售卖机的核心,其主要功能是确认投入钱币的真伪,分选钱币的种类,计算金额。如果投入的金额达到购买物品的数值即发出售货信号,并找出余钱。自动饮料售卖机自动输出顾客所要的商品。因此,自动售货机在商业,食品行业越来越普及,更方便消费者购买自己所需的商品。自动售卖机是本世纪70年代在日本、欧美发展起来的高新技术现代

4、应用产品,被称为24小时营业的微型超市,售货领域已扩展至小食品、小用品、香烟、电话卡、车票、邮票等。目前在40多个国家已经广泛使用,日本平均每23人一台,美国平均每40人一台,欧洲平均每60人一台。在邻国日本,70%份额的罐装饮料市场是通过自动售货机售出的;美国可口可乐公司拥有五十余万台饮料自动售货机分布在世界各地。通过自动售货机销售将成为商品零售业不可分割的重要组成部分。一、设计任务与要求能够完成对货物信息的存储、进程控制、硬币处理、余额计算和显示等功能。 1 自动售货机可以出售四种货物,每种商品的数量和单价在初始化时设定,并存储在存储器中。 2用户可以用硬币进行购物,通过按键进行选择;售货

5、时,能够根据用户输入的钱币数来判断钱币是否够,钱币足够时,则根据顾客要求自动售货;钱币不够时,则给出提示并推出;能够自动计算出应找钱币余额,库存数量并显示。 2 采用模拟开关分别模拟5角和1元的硬币来进行购物,并通过按键来选择商品。 3 系统能够根据用户输入的硬币,判断钱币是否够,当所投硬币达到或超过购买者所选面值时,则根据顾客的要求自动退货,并找回剩余的硬币,然后回到初始状态。当所投硬币不够时,则给出提示,并通过一个复位键退回所投硬币,然后回到初始状态。时钟脉冲阀门控 制 译码投币信号输入与处理 控制器 显示二、总体框图框图图1 自动售货机的系统组成框图设计思路本系统由对外部投入硬币的检测来

6、产生脉冲,并对产生的脉冲进行计数,其中a 表示投入的是0.5元的硬币,b 表示投入的是1元的硬币,每次根据投入的硬币不同而分别计数,并将投入的总金额用两位数码管显示出来,当达到了交易金额时,out产生一个正脉冲,此正脉冲控制闸门打开,饮料掉出来,当超出了交易金额,高位数码管显示找零金额找零,3秒后自动复位。三、器件选择1. 拨码开关三个2. LED灯3. 数码管4. 手动脉冲信号产生器5. ELEDAVI实验箱FPGA芯片四、功能模块1、分频器模块分频器模块verilog设计程序如下:module fp(old_clk,clk);input old_clk;output reg clk;reg

7、19:0k;always (posedge old_clk)beginif (k>=5000) /计时 begin clk<=clk; /状态转换,从高电平跳到低电平,或从低电平跳到高电平 k<=0; endelse k<=k+1;endendmodule2、数码管显示模块数码管显示模块程序如下:module xianshi(seg,sl,clk,reset,a,b,number_out,number_in);input clk,reset;input a,b;input 9:0number_in;output7:0seg;output3:0sl;output9:0nu

8、mber_out;reg7:0segdat_reg;reg7:0seg_reg;reg3:0sl_reg,disp_dat;reg1:0count;reg9:0number;reg clk1;reg dot,dot1;/reg3:0sl;integer cnt=0;always(posedge clk)beginif(cnt=25000)begin clk1<=clk1;cnt<=0;endelse begin cnt<=cnt+1;endendalways(posedge clk1)begin count<=count+1;endalways(posedge a or

9、 posedge b or posedge reset)beginif(reset)number=0;else number=a*5+b*10;endalways(count1:0)begincase(count1:0)2'b00:disp_dat=number%10;2'b01:begin disp_dat=number/10;dot=1'b1;end2'b10:disp_dat=number_in%10;2'b11:begin disp_dat=number_in/10;dot1=1'b1;endendcasecase(count1:0)2&

10、#39;b00:sl_reg=4'b1110;2'b01:sl_reg=4'b1101;2'b10:sl_reg=4'b1011;2'b11:sl_reg=4'b0111;endcaseendalways(disp_dat)beginif(dot)begin segdat_reg=8'h80;dot=0;endif(dot1)begin segdat_reg=8'h80;dot1=0;endcase(disp_dat)4'h0:segdat_reg=8'h3f;4'h1:segdat_reg=8&#

11、39;h06;4'h2:segdat_reg=8'h5b;4'h3:segdat_reg=8'h4f;4'h4:segdat_reg=8'h66;4'h5:segdat_reg=8'h6d;4'h6:segdat_reg=8'h7d;4'h7:segdat_reg=8'h07;4'h8:segdat_reg=8'h7f;4'h9:segdat_reg=8'h6f;4'ha:segdat_reg=8'h77;4'hb:segdat_reg=8&#

12、39;h7c;4'hc:segdat_reg=8'h39;4'hd:segdat_reg=8'h5e;4'he:segdat_reg=8'h79;4'hf:segdat_reg=8'h71;endcaseendassign number_out=number;assign sl=sl_reg;assign seg=segdat_reg;endmodule3、取货模块取货模块程序如下:module quhuo (clk,out,goods,number_in,rst,zl);input clk;input 2:0goods;/cho

13、ose goods input 9:0number_in;/input money output out; /out为高电平时售卖机闸门打开,汽水掉出来output rst;output 9:0zl;reg rst_d;reg out,out1;reg 31:0count1;reg 9:0price;reg 9:0number;reg 9:0zl_d;always(posedge clk) begin case(goods1:0) 3'b000:rst_d=1'b0; 3'b001:price=20; 3'b010:price=25; 3'b011:pr

14、ice=30; 3'b100:price=35; endcase if(number_in>=price) begin out=1; if(number_in>price)zl_d=number_in-price; if(count1=9000)/让闸门打开3秒,由于为1KHz时钟,故要数3000下 begin out=0; count1<=0; rst_d=1'b1; zl_d=0; end else count1<=count1+1; end end assign rst=rst_d; assign number_out=number; assign

15、 zl=zl_d;endmodule五、总体设计电路图1、总体设计电路原理图图二 整体电路图2、管脚分配表图三 管脚分配3、仿真图图四 仿真图六、心得体会经过这次对自动饮料售货机系统的设计,让我对EDA设计有了更进一步的认识,同时也对EDA这门课程游客更深入的了解。这次设计让我了解了关于自动饮料售货机的原理课设计理念,要设计一个电路要先进行软件仿真再进行实际的电路制作。通过这次设计让我收获不小。这次的课程设计终于顺利完成了,也解决了设计中遇见的一些问题。这次设计让我受益匪浅。对软件运用更加的熟练。在摸索该如何设计程序使之实现的过程中,培养并锻炼了我的设计思维,增加了实际操作经验,锻炼了能力,总的来说这次收获了很多,基本能够学以致用。根据所学课程,数字电子技术、模拟电子技术、Verilog、EDA等所学知识的应用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论