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

下载本文档

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

文档简介

课程设计题目:自动售货机控制系统的设计

目的与彳壬务:

(1)进一步掌握MAX+PLUSn软件的使用方法;

(2)会使用VHDL语言设计小型数字电路系统;

(3)掌握应用MAX+PLUSII软件设计电路的流程;

(4)掌握自动售货机的设计方法;

(5)会使用GW48实验系统。

内容和要求:

设计一个简易的自动售货机,它能够完成钱数处理、找零、显示、退币等功能。

(1)用3个键表示3种钱,再用3个键表示3种物品。

〔2〕用2个数码管显示输入的钱数,再用2个数码管显示所找的钱数,以元为单位。

〔3〕买东西时,先输入钱,用数码管显示钱数,再按物品键,假设输入的钱数大于物

品的价格,用数码管显示所找的钱数,并用发光二极管表示购置成功。

〔4〕假设输入的钱数少于物品的价格,用数码管显示退出的钱数,并用发光二极管表

示购置失败。

设计内容〔原理图以及相关说明、调试过程、结果〕

一、系统设计方案

根据系统要求,系统的组成框图如图1所示。

图1系统组成框图

系统按功能可分为分频模块、控制模块和译码输出模块。

〔1〕分频模块的作用是获得周期较长的时钟信号,便于操作,且不会产生按键抖动的

现象。其原理是定义两个中间信号Q、DIV_CLK,Q在外部时钟CLK的控制下循环计数,

每当计数到一个设定的值时DIV_CLK的值翻转,最后将DIV_CLK赋给NEW_CLK即可,

改变设定值可改变分频的大小。

(a2)控制模块是这个系统的核心模块,它具有判断按键、计算输入钱数总和、计

算找零、控制显示四个作用。它的工作原理是每当时钟上升沿到来时,判断哪个按键按下,

假设按下的是钱数键,那么将钱数保存于中间信号COIN,假设下次按下的仍是钱数键,

COIN的值那么加上相应的值并显示于数码管;当物品键按下时,那么将COIN的值与物

品价格进行比拟,然后控制找零。

〔3〕由于钱数可能大于9,所以译码显示模块的作用就是将钱数译码后用两个数码

管显示,这样方便观察。

根据各个功能模块的功能并进行整合,可得到一个完整的自动售货机系统的整体组装

设计原理图,如图2所示。

CLKGEN

CLKNEUCLKSHOUHUOJI

CLK

COINIY0逑JQYI

COINSYJLXIANSHI

C0IN3N0NEYC3..O]DIN[3..0]D0UT[7..0]I>M0NEY[7;0]

PRIGNJ.FRYBNGK[.0J

PRICE?

XIANSHI

PRICES"1

0INr3..01D0UTr7..014~~>PAY0ACKI7J0]

图2设计原理图

系统主要VHDL源程序

(1)分频器的源程序〔外部时钟选用3MHz,实现3万分频〕

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYCLKGENIS

PORT(CLK:INSTD_LOGIC;

NEWCLK:OUTSTD.LOGIC);

ARCHITECTUREBEHAVEOFCLKGENIS

SIGNALQ:INTEGERRANGE0TO14999;

SIGNALDIVCLK:STD_LOGIC;

BEGIN

PROCESS(CLK)

BEGIN

IFCLK'EVENTANDCLK='l'THEN

IFQ<14999THENQ<=Q+1;

ELSEDIVCLK<=NOTDIVCLK;Q<=0;

ENDIF;

ENDIF;

ENDPROCESS;

NEWCLK<=DIVCLK;

ENDBEHAVE;

(2)自动售货机控制器源程序(3种钱数为1元、2元、5元;

3种物品的价格为2元、5元、10元〕

LIBRARY正EE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYSHOUHUOJIIS

PORT(CLK:INSTD.LOGIC;

COINI:INSTD_LOGIC;-1元信号

COIN2:INSTD_LOGIC;-2元信号

COIN3:INSTD_LOGIC;--5元信号

PRICE1:INSTD_LOGIC;••2兀商品

PRICE2:INSTD_LOGIC;--5兀商品

PRICE2:INSTD_LOGIC;-5元商品

PRICE3:INSTD_LOGIC;--10元商品

YO:OUTSTD_LOGIC;一购置成功信号

Yl:OUTSTD_LOGIC;--退币信号

MONEY:OUTSTD_LOGIC_VECTOR(3DOWNTO0);

PAYBACK:OUTSTD_LOGIC_VECTOR(3DOWNTO0));

ENDSHOUHUOJI;

ARCHITECTUREBEHAVOFSHOUHUOJIIS

SIGNALCOIN:STD_LOGIC_VECTOR(3DOWNTO0);--保存钱数

SIGNALCOUT:STD_LOGIC_VECTOR(3DOWNTO0);--保存找零

BEGIN

PROCESS(CLK)

BEGIN

IFCLK'EVENTANDCLK='l'THEN

IFCOINl='l'THENCOIN<=COIN+1;Y0<=,0';Yl<='0';

ELSIFCOIN2='l'THENCOIN<=COIN+2;Y0<='0';Yl<=,0';

ELSIFCOIN3='l'THENCOIN<=COIN+5;Y0<='0';Yl<='0';

ELSIFPRICEl='l'THEN

IFCOIN>="0010"THENYO<=,l';Yl<='0,;COUT<=COIN-2;

ELSEYO<=,0,;Y1<=,1,;COUT<=COIN;

ENDIF;

ELSIFPRICE2='l'THEN

IFCOIN>="0101"THENYO<='l';Yl<='0';COUT<=COIN-5;

ELSEYO<=,0';Y1<='1';COUT<=COIN;

ENDIF;

ELSIFPRICE3='l'THEN

IFCOIN>="1010"THENY0<='1';Y1<='0';COUT<=COIN-10;

ELSEY0<='O';Y1<='1';COUT<=COIN;

ENDIF;

ENDIF;

ENDIF;

ENDPROCESS;

MONEY<=COIN;--输入的钱数

PAYBACK<=COUT;-找零

ENDBEHAV;

(3)译码显示源程序〔总钱数应小于16元〕

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYXIANSHIIS

P0RT(DIN:INSTD_L0GIC_VECT0R(3D0WNT00);

DOUT:OUTSTD_L0GIC_VECT0R(7DOWNTO0));

ENDXIANSHI;

ARCHITECTUREBEHAVOFXIANSHIIS

BEGIN

PROCESS(DIN)

BEGIN

CASEDINIS

WHEN"0000"=>DOUT<="00000000";

WHEN"0001"=>DOUT<="00000001";

WHEN"0010"=>DOUT<="00000010";

WHEN"0011"=>DOUT<="00000011";

WHEN"0100"=>DOUT<="00000100,;

WHEN"0101"=>DOUT<="00000101,;

WHEN"0110"=>DOUT<="OOOOOHO,;

WHEN"0111"=>DOUT<="OOOOOH1,;

WHEN"1000"=>DOUT<="00001000";

WHEN"1001"=>DOUT<="00001001";

WHEN"1010"=>DOUT<="00010000";

WHENn1011"=>DOUT<="00010001";

WHEN"1100"=>DOUT<="00010010";

WHEN"1101"=>DOUT<="00010011";

WHEN"1110"=>DOUT<="00010100";

WHEN"1111"=>DOUT<="00010101";

WHENOTHERS=>DOUT<="00000000";

ENDCASE;

ENDPROCESS;

ENDBEHAV;

三、系统仿真与硬件验证

(1)系统的有关仿真

1)分频电路的仿真

如图3所示,为了便于仿真,在仿真时采用20分频,由图可看出

每经过10个外部时钟,新时钟翻转一次,实现了分频。

O.Otis

0-CLK

-dNEWCLK

朗Q

图3分频器仿真结果图

2)控制电路的仿真

如图4、图5、图6所示。

0.0ns

图5输入13元,购置10元商品,找零3元,YO显示购置成功

00ns

图6输入7元,购置10元商品,Y1显示购置失败,退币7元

3〕显示电路的仿真

如图7所示,当大于9时分开显示。

加$

;,0l5

NameValue:1.0us2OusIOJS仙s5.0]us6.0]u)

畲珊BIC\D

温馨提示

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

最新文档

评论

0/150

提交评论