自动售货机控制系统的设计说明书.docx

上传人:b****6 文档编号:4775471 上传时间:2022-12-08 格式:DOCX 页数:10 大小:77.67KB
下载 相关 举报
自动售货机控制系统的设计说明书.docx_第1页
第1页 / 共10页
自动售货机控制系统的设计说明书.docx_第2页
第2页 / 共10页
自动售货机控制系统的设计说明书.docx_第3页
第3页 / 共10页
自动售货机控制系统的设计说明书.docx_第4页
第4页 / 共10页
自动售货机控制系统的设计说明书.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

自动售货机控制系统的设计说明书.docx

《自动售货机控制系统的设计说明书.docx》由会员分享,可在线阅读,更多相关《自动售货机控制系统的设计说明书.docx(10页珍藏版)》请在冰豆网上搜索。

自动售货机控制系统的设计说明书.docx

自动售货机控制系统的设计说明书

课程设计题目:

自动售货机控制系统的设计

目的与任务:

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

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

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

(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所示。

图2设计原理图

 

二、系统主要VHDL源程序

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

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYCLKGENIS

PORT(CLK:

INSTD_LOGIC;

NEWCLK:

OUTSTD_LOGIC);

ENDCLKGEN;

 

ARCHITECTUREBEHAVEOFCLKGENIS

SIGNALQ:

INTEGERRANGE0TO14999;

SIGNALDIVCLK:

STD_LOGIC;

BEGIN

PROCESS(CLK)

BEGIN

IFCLK'EVENTANDCLK='1'THEN

IFQ<14999THENQ<=Q+1;

ELSEDIVCLK<=NOTDIVCLK;Q<=0;

ENDIF;

ENDIF;

ENDPROCESS;

NEWCLK<=DIVCLK;

ENDBEHAVE;

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

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

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYSHOUHUOJIIS

PORT(CLK:

INSTD_LOGIC;

COIN1:

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元商品

Y0:

OUTSTD_LOGIC;--购买成功信号

Y1:

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='1'THEN

IFCOIN1='1'THENCOIN<=COIN+1;Y0<='0';Y1<='0';

ELSIFCOIN2='1'THENCOIN<=COIN+2;Y0<='0';Y1<='0';

ELSIFCOIN3='1'THENCOIN<=COIN+5;Y0<='0';Y1<='0';

ELSIFPRICE1='1'THENIFCOIN>="0010"THENY0<='1';Y1<='0';COUT<=COIN-2;

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

ENDIF;

ELSIFPRICE2='1'THEN

IFCOIN>="0101"THENY0<='1';Y1<='0';COUT<=COIN-5;

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

ENDIF;

ELSIFPRICE3='1'THEN

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

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

ENDIF;

ENDIF;

ENDIF;

ENDPROCESS;

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

PAYBACK<=COUT;--找零

ENDBEHAV;

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

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYXIANSHIIS

PORT(DIN:

INSTD_LOGIC_VECTOR(3DOWNTO0);

DOUT:

OUTSTD_LOGIC_VECTOR(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<="00000110";

WHEN"0111"=>DOUT<="00000111";

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

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

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

WHEN"1011"=>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个外部时钟,新时钟翻转一次,实现了分频。

图3分频器仿真结果图

 

2)控制电路的仿真

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

图4输入7元,购买5元商品,找零2元,Y0显示购买成功

 

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

 

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

 

3)显示电路的仿真

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

图7显示电路仿真结果

 

系统的硬件验证

应用GW48实验系统,选择实验电路结构图NO.5,管脚定义如下:

CLK接CLOCK1、COIN1接PIO0、COIN2接PIO1、COIN3接PIO2、PRICE1接PIO3、PRICE2接PIO4、PRICE3接PIO5;MONEY[7..0]接PIO16~PIO23(数码管1、数码管2)、PAYBACK[7...0]接PIO24~PIO31(数码管3、数码管4)、Y0接PIO8(二极管D1)、Y1接PIO9(二极管D2)。

硬件验证方法:

选择实验模式5,时钟信号CLK与CLOCK1信号组中的3MHz信号相连,用键1~键3输入钱数,用键4~键6选择商品,观察数码管及二极管的显示情况。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 英语考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1