当前位置:首页 >> 电力/水利 >>

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


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

目的与任务:
(1) (2) (3) (4) (5) 进一步掌握 MAX+PLUSⅡ软件的使用方法; 会使用 VHDL 语言设计小型数字电路系统; 掌握应用 MAX+PLUSⅡ软件设计电路的流程; 掌握自动售货机的设计方法; 会使用 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 万分频)
LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY CLKGEN IS PORT(CLK:IN STD_LOGIC; NEWCLK:OUT STD_LOGIC); END CLKGEN;

ARCHITECTURE BEHAVE OF CLKGEN IS SIGNAL Q:INTEGER RANGE 0 TO 14999; SIGNAL DIVCLK: STD_LOGIC; BEGIN PROCESS(CLK) BEGIN IF CLK'EVENT AND CLK='1' THEN IF Q < 14999 THEN Q <=Q+1; ELSE DIVCLK <= NOT DIVCLK;Q <=0; END IF; END IF; END PROCESS; NEWCLK <= DIVCLK; END BEHAVE;

(2) 自动售货机控制器源程序( 3 种钱数为 1 元、2 元、5 元; 3 种物品的价格为 2 元、5 元、10 元 )
LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY SHOUHUOJI IS P ORT ( CLK: IN STD_LOGIC; --1 元信号 --2 元信号 --5 元信号 --2 元商品 --5 元商品

COIN1: IN STD_LOGIC; COIN2: IN STD_LOGIC; COIN3: IN STD_LOGIC; PRICE1: IN STD_LOGIC; PRICE2: IN STD_LOGIC;

PRICE2: IN STD_LOGIC; PRICE3: IN STD_LOGIC; Y0: OUT STD_LOGIC; Y1: OUT STD_LOGIC;

--5 元商品 --10 元商品 --购买成功信号 --退币信号

MONEY: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); PAYBACK: OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END SHOUHUOJI; ARCHITECTURE BEHAV OF SHOUHUOJI IS SIGNAL COIN: STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL COUT: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS(CLK) BEGIN IF CLK'EVENT AND CLK='1' THEN IF COIN1='1' ELSIF COIN2='1' ELSIF COIN3='1' THEN COIN <= COIN+1; Y0<='0';Y1<='0'; COIN <= COIN+2; Y0<='0';Y1<='0'; COIN <= COIN+5; Y0<='0';Y1<='0'; --保存钱数 --保存找零

THEN THEN

ELSIF PRICE1='1' THEN IF COIN >= "0010" THEN Y0<='1';Y1<='0';COUT<=COIN-2; ELSE Y0<='0';Y1<='1';COUT<=COIN; END IF; ELSIF PRICE2='1' THEN IF COIN >= "0101" THEN Y0<='1';Y1<='0';COUT<=COIN-5; ELSE Y0<='0';Y1<='1';COUT<= COIN; END IF; ELSIF PRICE3='1' THEN IF COIN >= "1010" THEN Y0<='1';Y1<='0';COUT<=COIN-10; ELSE Y0<='0';Y1<='1';COUT<=COIN; END IF;

END IF; END IF; END PROCESS; MONEY<=COIN; PAYBACK<=COUT; END BEHAV; -- 输入的钱数 -- 找零

(3) 译码显示源程序(总钱数应小于 16 元) LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY XIANSHI IS PORT ( DIN: IN STD_LOGIC_VECTOR(3 DOWNTO 0); DOUT: OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END XIANSHI; ARCHITECTURE BEGIN PROCESS(DIN) BEGIN CASE DIN IS BEHAV OF XIANSHI IS

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"; WHEN OTHERS=> DOUT<="00000000"; END CASE; END PROCESS; END BEHAV;

三、

系统仿真与硬件验证 (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 选择商品,观察数码管及二极管的显示情况。


相关文章:
plc自动售货机控制系统的设计
16 PLC 控制系统课程设计 第1章 自动售货机的控制工艺流程分析 自动售货机是可完成无人自动售货的商业自动化设备,它不受任何场地限制,方便快 捷,在我国也越来...
自动售货机控制系统的设计
自动售货机控制系统的设计_信息与通信_工程科技_专业资料。自动售货机控制系统的设计 摘要随着社会的发展,越来越多方便人们的东西出现在了这个世界上,自动 售货机...
自动售货机PLC控制系统设计 毕业论文
茂名学院 毕业论文 题 目: 自动售货机 PLC 控制系统设计 wending machines PLC control system design 英文并列题目: 学院 电气工程学院 0 学生:张荣 4 专业 ...
基于PLC的自动售货机控制系统设计
基于PLC的自动售货机控制系统设计_信息与通信_工程科技_专业资料。毕业论文河南理工大学毕业设计(论文)说明书 摘要随着科技的不断发展,PLC 在工程中的应用大家有目...
自动售货机研究之控制系统的设计初稿
详细介绍了如何控制、要求进行自动售货机系统的方案设计、硬件选 择、软件规划和编写,并重点描述了自动售货机系统的工作原理、系统设 计。 1.3 主要研究内容由于...
自动售货机控制系统的设计
自动售货机控制系统的设计_工学_高等教育_教育专区 暂无评价|0人阅读|0次下载|举报文档自动售货机控制系统的设计_工学_高等教育_教育专区。自动售货机控制系统...
自动售货机控制系统课程设计
19 一、设计题目设计题目:自动售货机控制系统设计 课题内容:自动售货机广泛用于娱乐场所。本设计要求用 PLC 控制自动售 货机运行。使其能在运算指令的控制下,...
自动售货机控制系统设计-终稿
自动售货机控制系统设计-终稿_机械/仪表_工程科技_专业资料。东华理工大学长江学院 毕业设计题目 自动售货机控制系统设计 英文题目 Vending Machine Control System ...
自动售货机控制系统的设计(最终版)
自动售货机控制系统的设计(最终版)_电子/电路_工程科技_专业资料。自动售货机课程设计任务书 设计题目:饮料自动售货机 PLC 控制系统设计 学院:机械工程学院 专业...
自动售货机控制系统的设计
课程设计题目:自动售货机控制系统的设计 目的与任务:(1) (2) (3) (4) (5) 进一步掌握 MAX+PLUSⅡ软件的使用方法; 会使用 VHDL 语言设计小型数字电路系统;...
更多相关标签:
自动售货机的控制设计 | 自动售货机控制系统 | 自动售货机的控制系统 | 果汁自动售卖机 | 保健品自动售货机 | 景区自动售票机 | 自动售货机系统设计 | 自动售货机管理系统 |