简易售货机的设计 数字逻辑课程设计报告
- 格式:doc
- 大小:205.50 KB
- 文档页数:12
课程设计任务书学生姓名:王耀辉专业班级:通信1304班指导教师:撒继铭工作单位:信息工程学院题目: 自动售货饮料机控制电路的设计与实现初始条件:本设计既可以使用计数器、比较器、脉冲发生器等和必要的门电路等,也可以使用单片机系统构建。
用数码管、LED灯显示结果。
要求完成的主要任务: (包括课程设计工作量及技术要求,以及说明书撰写等具体要求)1、课程设计工作量:1周。
2、技术要求:1)售货机只接受5角和1元的硬币,可以用按钮代替硬币的投入。
投入硬币的总金额用两位数码管显示,最大投入金额为9.5元。
2)售货机可以自动出售3种饮料,售价分别是0.5元,1元和1.5元。
当顾客完成投币后,根据投入金额,各饮料对应的LED将亮起(如投入1元硬币,0.5元和1元饮料的LED亮起,表示可以购买0.5元或1元饮料)。
3)顾客根据自身需要按下各饮料对应的按钮,每按一次掉出一瓶饮料,两位数码管显示剩余金额,LED继续指示可购饮料的种类;4)顾客按下“找零”按钮将使机器发出找零信号,两位数码管清零。
5)确定设计方案,按功能模块的划分选择元、器件和中小规模集成电路,设计分电路,画出总体电路原理图,阐述基本原理。
3、查阅至少5篇参考文献。
按《武汉理工大学课程设计工作规范》要求撰写设计报告书。
全文用A4纸打印,图纸应符合绘图规范。
时间安排:1、2015年7 月1 日,布置课设具体实施计划与课程设计报告格式的要求说明。
2、2015年7 月3 日至2015年7月 5 日,方案选择和电路设计。
3、2015年7 月5 日至2015年7 月9 日,电路调试和设计说明书撰写。
4、2015年7 月10 日,上交课程设计成果及报告,同时进行答辩。
指导教师签名:年月日系主任(或责任教师)签名:年月日目录摘要 (1)ABSTRACT (2)1绪论 (3)1.1设计背景 (3)1.2 应用前景 (3)1.3设计目的和意义 (4)2 总体方案设计 (5)2.1 自动售货系统结构 (5)2.2方案比较选择 (6)3 单元电路设计 (8)3.1 硬件单元设计 (8)3.1.1 中央控制元件AT89C52 (8)3.1.2 AT89C52简介 (8)3.1.3 主要特性 (9)3.1.4 管脚说明 (9)3.1.5 实验用模块 (11)3.1.6 投币购买以及清零模块 (12)3.1.7 可供购买显示模块 (13)3.1.8 数码管显示模块 (13)3.2 软件单元电路 (14)3.2.1编程语言与软件 (14)3.2.3 protues简介 (15)3.2.4总体设计方案 (15)3.2.5子程序设计方案 (16)4 整体电路设计 (18)4.1 整体电路图 (18)4.2整体工作原理说明 (18)5 Protues仿真结果与分析 (19)6实物焊接及调试 (23)6.1实物焊接图 (23)6.2调试中出现的问题 (24)7 总结与体会 (25)8 参考文献 (26)附录1 元件清单 (27)附录2 源程序 (28)摘要本文设计了一种以INTEL 公司的AT89C52单片机为核心的自动饮料售货机装置的控制系统,详细介绍了自动饮料售货机控制系统的方案设计、硬件选择、软件规划和编写,并重点描述了自动饮料售货机控制系统的工作原理、系统设计、软件编程的原则和技巧。
数字电子技术课程设计报告班级:物理0502 _____________ ;姓名:李荣________ ;学号40521012 _______________设计题目:自动售货机控制电路同组成员:李荣、许军军、吴郑佳男;组长:李荣功能描述1 •通过按钮,可投入硬币(一元)或纸币(一元、五元、十元),电路自动计数。
2•可以选择购买的物品的种类与数量。
3•输出顾客购买的饮料(通过亮灯实现)并找钱。
4. 60秒到自动结束。
1.总体设计思路(含电路原理框图):首先,将投的钱转化成四位二进制数,然后产生相应数目脉冲,并进行计数和显示。
然后,对记得的数目进行减三(买一瓶)和减六(买两瓶)。
最后,顾客输入控制电路工作,供顾客选择购买瓶数和饮料类型,确认后显示买的饮料和找钱数。
电路的原理框图如下图所示:产生与投币数相同个数脉冲找钱电路(减三柯减六)吋间到将投入币数找出选择和确认电掘输出饮料并找钱ra F~l F~O- 4 o <zrA 二二Z>EVCCQB A QA CLK< CT£N r RCO - ue MAX/MIN DCLOAE JQD CGNDD74工作情况:① 按1、2、3号开关投入1、5或10元钱,数码管显示投钱数。
② 顾客按K 键选择两种饮料,按A 选择买一瓶还是两瓶(只有当投的钱数够买相应饮料适才显示瓶 数)。
③ 按C 键确认后显示购买方案和找钱数。
④ 若超过60秒没有确认购买方案,则显示时间到,且找钱数显示为0,但是有电路找出所投币数。
2. 个人承担的工作:我承担的工作主要数钱(脉冲发生和计数)电路、以及方案的整体设计和电路连接以及功能完善。
该部分电路由三个开关电路实现投币,一片 74191实现计数脉冲产生和一片 74163芯片实现数钱。
具体思路:1. 用三个开关电路实现投币模拟(1开关表示投1块,2开关表示投5块,3开关表示投10块)。
2. 将投入的钱数转化为四位二进制数(用组合逻辑实现)送到74191置数端,如此同时将一低电平 送入LOAD ,向74191置数(此时时钟脉冲被限制),然后使74191下行计数(同时脉冲输入到 74163 芯片),直到数到0,将脉冲封锁。
页面设置:上下左右均为2.4CM课程设计课程:工控组态软件控制设计设计题目:自动售货机班级:__电气工程及其自动化0903班___学号:_ 08号11号__________姓名:_ 何文棋、江福源________指导教师:_ 李金灿_____________信息工程系摘要自动售货机是能根据投入的钱币自动付货的机器。
自动售货机是商业自动化的常用设备,它不受时间、地点的限制,能节省人力、方便交易。
是一种全新的商业零售形式,又被称为24小时营业的微型超市。
自动售货机是可完成无人自动售货,集光、机、电一体化的商业自动化设备。
这种方便快捷的购物方式越来越受到人们的青睐,同时也是现代化城市配套设施的需求传统的自动售货机控制系统采用单片机作为控制核心,这样不仅会在输入输出接口上做大量的工作,而且系统的抗干扰性也比较差。
可编程序控制器是综合了计算机技术、自动控制技术和通讯技术而发展起来的一种新型的工业控制装置,它具有可靠性高、编程简单、维护方便等优点,已在工业控制领域得到广泛地应用。
因为自动售货机作为社会上完成商品零售和综合服务的独立设施,要求它的结构必须可靠、稳定和执行效率高。
但是PLC也有它自己的特点, PLC在确定了工作任务, 装入了专用程序后成为一种专用机, 它采用循环扫描工作方式, 系统工作任务管理及应用程序执行都是用循环扫描方式完成的。
关键词:自动售货机可编程逻辑控制器PLC【Abstract】The vending machine is based on input from the coin automatic delivery machine. The vending machine is commercial automation equipment commonly used, it is not subject to time and place restrictions, can save manpower, to facilitate the transaction. The vending machine is to be completed unattended vending, set light, machines, electricity integration of commercial automation equipment. This fast and convenient way to shop more and more get the favors of people, but also modern city facilities requirements of traditional vending machine control system using single chip microcomputer as the control core. The programmable controller is integrated computer technology, automatic control technology and communication technology and developed a new type of industrial control devices, it has high reliability, easy programming, easy maintenance and other advantages, has been in the field of industrial control has been widely used. Because the vending machines as social complete retail and integrated services of independent facility, its structure must be reliable, stable and high efficiency. But PLC also has its own characteristics, PLC in the identified tasks, in special procedures to become a special machine, which uses circular scanning mode, system of job management and execution of the application program is completed by cyclic scanning.Keyword: Vending machine programmable logic controller PLC目录1. 引言 (2)1.1自动售货机介绍及设计意义 (2)1.2 自动售货机的基本功能描述 (2)1.3 自动售货机的控制工艺分析 (3)2. PLC控制系统设计 (4)2.1 PLC控制系统设计编程要求 (4)2.2 PLC控制方法分析 (5)2.3 I/O分配 (6)2.4 系统接线图设计 (6)2.5 PLC控制程序设计思路 (7)2.5.1 投币加法累加 (7)2.3.2 投入的金额比较 (7)2.5.3 购买物品与当前余额 (7)2.5.4 找零 (8)3. 自动售货机的组态软件设计 (9)3.1 组态软件控制设计任务书 (9)3.2 组态控制自动售货机控制程序设计 (10)3.3 组态软件控制画面设计 (10)4. 系统调试及结果分析 (11)4.1 系统调试及解决的问题 (11)4.2 结果分析 (12)课程设计心得 (13)参考文献 (14)附录 (15)目录中的一级标题:黑体四号二级标题:宋体小四附录二字中间没空格。
自动售货机课程设计自动售货系统实验一、实验目的:1.熟识编程软件及编程方法。
2.熟识脉冲输入编程原理及方法3.掌控自动售货系统工作原理和掌控技巧二、实验设备:1:可编程序控制器一台;2:plc实验箱一台;3:装有编程软件和开发软件的计算机一台;4:自动售货系统实验模块一块;5:电缆一根;三、实验步骤:1:实验内容:采用plc数字量输出、输入掌控自动售货系统。
2:实验原理:自动售货机的面板上设有3个投币口,分别可以投一元、五元和十元,有饮料和口香糖两个出口。
建议:1:当投币总数大于15元时,口香糖按钮指示灯暗;2:当投币总数等于或超过15元时,口香糖和饮料按钮指示灯亮;3:按下口香糖按钮,则排泄口香糖,同时口香糖按钮指示灯闪光,3秒后指示灯自动暂停;4:按下饮料按钮,则排出饮料,同时饮料按钮指示灯闪烁,3秒后指示灯自动停止;5:投币总值少于所选产品价值时,自动归还余款;6:按下手动计数复位键,则取消本次操作,退还投入的钱币;接线方式:plc输入:00:一元投币按钮tl1;01:五元投币按钮tl2;02:十元投币按钮tl3;03:口香糖按钮tl1204:饮料按钮tl13;05:计数手动复位按钮tl141m:接24v2m:接24vplc输出:00:饮料按钮指示灯tl9;01:口香糖按钮指示灯tl8;02:一元投币口指示灯tl4;03:五元投币口指示灯tl5;04:十元投币口指示灯tl605:饮料出口指示灯tl11;06:口香糖出口指示灯tl1007:找钱指示灯tl7;1l:接gnd2l:接gnd3:实验步骤:1、下载实验程序tt17,成功完成后,使plc处于运行状态,run指示灯亮;2、上电后,el-plc-iii-m9模块上的l指示灯亮,如果不亮,先检查原因后在做实验;3、按下el-plc-iii-m9模块上的s1按键,l1、l5指示灯暗,按下el-plc-iii-m9模块上的s4按键,则l1指示灯攻灭,l7指示灯暗,l5指示灯闪光,3秒后,l5、l7指示灯攻灭;4、按下el-plc-iii-m9模块上的s2按键,l2、l5指示灯亮,按下el-plc-iii-m9模块上的s4按键,则l2指示灯灭,l7、l4指示灯亮,l5指示灯闪烁,3秒后,l5、l7、l4指示灯灭;5、按下el-plc-iii-m9模块上的s3按键,l3、l5指示灯暗,按下el-plc-iii-m9模块上的s4按键,则l3指示灯攻灭,l7、l4指示灯暗,l5指示灯闪光,3秒后,l5、l7、l4指示灯攻灭;6、按下el-plc-iii-m9模块上的s2和s3按键,l2、l3、l5、l6指示灯亮,按下el-plc-iii-m9模块上的s5按键,则l2、l3指示灯灭,l8指示灯亮,l6指示灯闪烁,3秒后,l6、l8指示灯灭;7、按下el-plc-iii-m9模块上的s1、s2和s3按键,l1、l2、l3、l5、l6指示灯暗,按下el-plc-iii-m9模块上的s5按键,则l1、l2、l3、l5指示灯攻灭,l8、l4指示灯暗,l6指示灯闪光,3秒后,l4、l6、l8指示灯攻灭;8、按下el-plc-iii-m9模块上的s1、s2和s3按键,l1、l2、l3、l5、l6指示灯亮,按下el-plc-iii-m9模块上的s6按键,则l1、l2、l3、l5、l6指示灯灭,l4指示灯亮,3秒后,l4指示灯灭;9、实验完结,顺利完成实验。
电子信息科学与技术专业课程设计任务书一.设计说明根据要求可自动出售两种货物,本文设计的自动售货机可销售cola 和pepsi两种饮料:售货机可识别1元和0.5元的两种货币,在一次购买过程中,可购买一个或多个商品,系统会自动计算所需钱数和找零的钱数并自动找零。
另外有3个发光二极管、6个LCD数码管:两个用来显示所需金额,两个用来显示已付金额,两个用来显示找零数。
1.1.1 流程说明本文设计的自动售货机当通电时,表示一次销售的开始。
顾客选择一种商品或多种商品后就进入投币状态。
若不投币,则自动返回初始状态。
投币后,系统自动计算所投钱数。
若投币够,则出货并找零。
若投币不够,如果顾客没有继续投币,则退币并回到初始状态。
本系统的投币销售流程图如图所示:1.1.2各模块说明本文设计的自动售货机总体分三个模块:总控模块,二进制译码模块、BCD 码译码模块。
总控模块:总控模块是本系统最重要的模块,该模块大体有5个输入端口和6个输出端口。
其输入端口包括clk、coin1(投入一元货币)、coin5(投入0.5元货币)、cola(选择cola)、pepsi(选择pepsi),输出端口有paid(已投入多少钱)、needed(还需多少钱)moneyout(找零)、success(灯亮表示交易成功)、failure(灯亮表示交易失败)、showmoneyout(灯亮表示正在找零)。
该模块实现了本系统最重要的交易过程,包括选择商品、投入货币,计算剩余金额,找零出货等。
二进制译码模块:该模块有一个输入端口和两个输出端口。
输入端口是一个8位的二进制数输出端口bcd0、bcd1是两个4位的BCD码。
该模块的主要的功能是实现将主控模块输出的二进制数(paid、needed、moneyout)转换成BCD 码,以便输出到七段数码管上显示出来。
该模块的原理是将一个8位的二进制转换成2个4位的BCD码,分为高四位和低四位。
BCD码译码模块:该模块有一个输入端口和一个输出端口1.1.3 程序设计主控模块完整程序如下:Library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity shouhuoji isport(clk: in std_logic;coin1:in std_logic;coin5:in std_logic;cola:in std_logic;pepsi:in std_logic;paid:out std_logic_vector(7 downto 0);needed:out std_logic_vector(7 downto 0);success:out std_logic;failure:out std_logic;showmoneyout:out std_logic;moneyout:out std_logic_vector(7 downto 0));end shouhuoji;architecture behav of shouhuoji istype state_type is (qa,qb,qe,qc,qg,qd,qf);--定义七个状态signal current_state :state_type:=qa;signal q:integer range 0 to 100;beginprocess(clk)variable paidtemp:std_logic_vector(7 downto 0);--定义变量variable neededtemp:std_logic_vector(7 downto 0);variable backmoney:std_logic_vector(7 downto 0);variable pricetemp:std_logic_vector(7 downto 0);beginif clk'event and clk='1' thencase current_state iswhen qa=>paidtemp:="00000000";neededtemp:="00000000";backmoney:="00000000";pricetemp:="00000000";q<=0;showmoneyout<='0';moneyout<="00000000";paid<="00000000";needed<="00000000";failure<='0';success<='0';if cola='1' or pepsi='1' then current_state<=qb;if cola='1' then pricetemp:=pricetemp+"00001111";neededtemp:=pricetemp;Elsepricetemp:=pricetemp+"00010100";neededtemp:=pricetemp;end if;end if;paid<=paidtemp;needed<=neededtemp;when qb=>if coin1='1' or coin5='1' thenif coin1='1'then paidtemp:=paidtemp+"00001010";elsepaidtemp:=paidtemp+"00000101";end if;if paidtemp>=pricetemp then backmoney:=paidtemp-pricetemp; neededtemp:="00000000";current_state<=qd;else neededtemp:=pricetemp-paidtemp;backmoney:="00000000"; current_state<=qc;q<=0;end if;paid<=paidtemp;needed<=neededtemp;end if;if q<8 then q<=q+1;if cola='1' or pepsi='1'then q<=0;if cola='1' then pricetemp:=pricetemp+"00001111"; neededtemp:=neededtemp+"00001111";elsepricetemp:=pricetemp+"00010100"; neededtemp:=neededtemp+"00010100";end if;paid<=paidtemp;needed<=neededtemp;end if;else current_state<=qe;q<=0;end if;when qe=>failure<='1';if q<4 then q<=q+1;else current_state<=qa;q<=0;end if;when qc=>if coin1='1' or coin5='1' thenif coin1='1'then paidtemp:=paidtemp+"00001010";elsepaidtemp:=paidtemp+"00000101";end if;if paidtemp>=pricetemp thenbackmoney:=paidtemp-pricetemp;neededtemp:="00000000";current_state<=qd;else neededtemp:=pricetemp-paidtemp;backmoney:="00000000"; current_state<=qc;end if;paid<=paidtemp;needed<=neededtemp;end if;if coin1/='1'and coin5/='1' thenif q<10 then q<=q+1;else current_state<=qg;end if;else q<=0;end if;when qg=>failure<='1';showmoneyout<='1';moneyout<=paidtemp;current_state<=qf;q<=0;success<='0';when qd=>success<='1';if backmoney>"00000000"then showmoneyout<='1'; moneyout<=backmoney;end if;current_state<=qf;q<=0;when qf=>if q<4 then q<=q+1;else current_state<=qa;q<=0;end if;end case;elseend if;end process;end behav;BCD译码模块完整程序如下:Library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity code1 isport(b:in std_logic_vector(7 downto 0);bcd0:out std_logic_vector(3 downto 0);bcd1:out std_logic_vector(3 downto 0)) ;end code1;architecture one of code1 isbeginprocess(b)begincase b iswhen"00000000"=>bcd0<="0000";bcd1<="0000";--译码“0”;when"00000001"=>bcd0<="0001";bcd1<="0000";--译码“1”;when"00000010"=>bcd0<="0010";bcd1<="0000";--译码“2”;when"00000011"=>bcd0<="0011";bcd1<="0000";--译码“3”;when"00000100"=>bcd0<="0100";bcd1<="0000";--译码“4”;when"00000101"=>bcd0<="0101";bcd1<="0000";--译码“5”;when"00000110"=>bcd0<="0110";bcd1<="0000"; when"00000111"=>bcd0<="0111";bcd1<="0000"; when"00001000"=>bcd0<="1000";bcd1<="0000"; when"00001001"=>bcd0<="1001";bcd1<="0000"; when"00001010"=>bcd0<="0000";bcd1<="0001"; when"00001011"=>bcd0<="0001";bcd1<="0001"; when"00001100"=>bcd0<="0010";bcd1<="0001"; when"00001101"=>bcd0<="0011";bcd1<="0001"; when"00001110"=>bcd0<="0100";bcd1<="0001"; when"00001111"=>bcd0<="0101";bcd1<="0001"; when"00010000"=>bcd0<="0110";bcd1<="0001"; when"00010001"=>bcd0<="0111";bcd1<="0001"; when"00010010"=>bcd0<="1000";bcd1<="0001"; when"00010011"=>bcd0<="1001";bcd1<="0001"; when"00010100"=>bcd0<="0000";bcd1<="0010";译码“20”when others=>null;end case;end process;end one;顶层模块完整程序如下:library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity top isPort( clk1:in std_logic;C1,C5,P1_5,P2:in std_logic;paid_lcd0,paid_lcd1,needed_lcd0,needed_lcd1,Mout_lcd0,Mout_lcd1:out std_logic_vector(3 downto 0);s,f,showout :out std_logic );end top;architecture one of top iscomponent shouhuojiport ( clk:in std_logic;coin1:in std_logic;coin5:in std_logic;cola:in std_logic;pepsi:in std_logic;paid:out std_logic_vector(7 downto 0);needed:out std_logic_vector(7 downto 0);success:out std_logic;failure:out std_logic;showmoneyout:out std_logic;moneyout:out std_logic_vector(7 downto 0));end component;component code1port(b:in std_logic_vector( 7 downto 0);bcd0:out std_logic_vector(3 downto 0);bcd1:out std_logic_vector(3 downto 0));end component;signal p,n,mo:std_logic_vector( 7 downto 0);--signal s1,s2,s3,s4,s5,s6:std_logic_vector(3 downto 0);beginu0:shouhuoji--各模块连接port map(clk=>clk1,coin1=>C1,coin5=>C5,cola=>P1_5,pepsi=>P2, success=>s,failure=>f,showmoneyout=>showout,paid=>p,needed=>n,mo neyout=>mo);u1:code1 port map(b=>p,bcd0=>paid_lcd0,bcd1=>paid_lcd1);u2:code1 port map(b=>n,bcd0=>needed_lcd0,bcd1=>needed_lcd1); u3:code1 port map(b=>mo,bcd0=>Mout_lcd0,bcd1=>Mout_lcd1); end one;1.1.4各模块的连接各模块的连接如图所示:售货机主控系统和译码器模块图售货机顶层模块2、1 主控模块的仿真上图表示顾客选择了pepsi饮料后,且投了2个一元的硬币。
自动贩卖机课程设计一、课程目标知识目标:1. 学生能理解自动贩卖机的基本工作原理,掌握其内部构造及各部件功能。
2. 学生能掌握自动贩卖机中涉及的数据处理和运算过程,如货币识别、找零计算等。
3. 学生了解自动贩卖机在现代社会中的应用场景及其优势。
技能目标:1. 学生能运用所学知识,设计并制作一个简易自动贩卖机模型,展示其工作过程。
2. 学生通过实际操作,提高动手实践能力和团队合作能力,培养解决问题的技巧。
情感态度价值观目标:1. 学生培养对自动贩卖机及相关技术的兴趣,激发创新意识和探索精神。
2. 学生认识到科技发展对生活的改善,增强社会责任感和时代使命感。
3. 学生在学习过程中,树立正确的消费观和价值观,关注生活中的实际问题,培养关爱社会的情感。
二、教学内容本课程依据课程目标,结合教材第四章《简易自动贩卖机的设计与制作》展开,教学内容分为以下三个部分:1. 自动贩卖机原理及构造- 了解自动贩卖机的历史发展、应用场景。
- 学习自动贩卖机的基本构造,包括货道、传感器、控制单元、显示屏等部件的功能和工作原理。
- 探究货币识别、找零系统、商品推送等关键环节的技术原理。
2. 简易自动贩卖机设计与制作- 分析并设计一个简易自动贩卖机的模型,明确各部分功能和要求。
- 学习并运用相关编程软件,编写自动贩卖机的控制程序。
- 学习电路连接、部件组装等实践操作,完成简易自动贩卖机模型的制作。
3. 自动贩卖机项目实践与评价- 以小组合作形式,完成自动贩卖机模型的调试、优化和展示。
- 对项目过程进行总结评价,分析优点和不足,提出改进措施。
- 分享学习心得,培养团队合作精神,提高创新意识和实际操作能力。
教学内容安排和进度:共4课时,第1课时学习自动贩卖机原理及构造;第2课时设计简易自动贩卖机模型;第3课时进行制作和调试;第4课时进行项目评价和总结。
三、教学方法本课程采用多样化的教学方法,结合课本内容,旨在激发学生的学习兴趣,提高学生的主动性和实践能力。
简易投币式自动售货机一、设计题目说明1.设计说明本课程设计的任务是设计一个简易投币式自动售货机。
2.设计内容(a)进行需求分析,确定总体框架。
(b)分模块具体设计,给出源文件(ABEL.HDL源程序或原理图)。
(C)对设计电路进行模拟与测试。
3.设计要求自动售货机可以销售许多种类的商品,通过选择需要的商品按钮,投入一定数量的纸币,顾客就可以获得所需的商品。
该自动售货机应具有如下功能。
(a)设自动售货机能销售3种商品,热狗、汉堡和双层汉堡,它们的单价分别是1元、4元和8元,并且机器中3种商品的数量无限。
(b)自动售货机允许投入1元、2元和5元纸币。
当总投入的币值等于顾客需要的商品单价时,机器送出需要的商品;若总投入的币值大于顾客需要的商品单价时,机器除提供需要的商品之外,还要将余币退出;若总投入的币值小于顾客需要的商品单价时,则机器退出顾客投入的纸币。
另外,设机器内l元和2元找零纸币无限。
(c)如果投入的纸币达到或大于所要购买商品的价格就不必再投入纸币了,自动售货机会发出一个指示信号使接受纸币的装置不再接收更多的纸币。
(d)为提高自动售货机的效率,每次投币时间应有规定。
设定每次购买商品的允许投币时间为30s,在此时间到的时候,总投币值不足顾客购买的商品单价时,售货机按不足钱数处理,退还全部投入纸币。
在设定时间内,总投币值不足顾客购买的商品单价时,若需取消交易则可按取消键,售货机按不足钱数处理,退还全部投入纸币。
(e)当顾客完成一次购买之后或按错所需要的商品按钮,需要设置一个重新开始按钮,使整个系统恢复到初始状态;(f)顾客一次只能购买一个商品,若需要更多的商品,则需要重复第一次的操作。
二、设计实现各功能外部输入与输出1、投币实现:脉冲开关clk1、clk2、clk5,每按一次分别代表投入1块、2块、5块钱;2、商品选择实现:逻辑开关k1、k2,通过组合01、10、11来分别选择1号、2号和3号商品,选择完后按脉冲开关en确认选择;3、取消交易:逻辑开关cancel ,进行取消交易4、重新开始:复位,逻辑开关reset5、时钟脉冲输入:clk ,100kHz脉冲6、输出实现:如下图所示,数码管从左至右,第一位数码管显示商品种类,分别是1、2、3,无商品交易显示0;对应输出端口从高到低依次为I0、I1、I2、I3。
%石家庄经济学院华信学院数字逻辑课程设计报告!题目简易售货机的设计姓名学号班号指导老师成绩…目录1. 课程设计目的······························2. 开发工具选择······························3. 设计方案·······························—4.模块描述································5. VHDL实现································6. 调试仿真································7. 课程设计回顾总结···························参考文献································附录···································@).1课程设计目的(1)设计一个简易售货机,可销售巧克力(元)、纯净水(1元)、牛奶(元)、汉堡(2元)4种商品,数量无限。
XXXXXXXXXXXX设计报告课题名称:《电气控制与PLC》综合训练学院:机电工程系专业班级:学号:学生:指导教师:XXXXXXXXXXX教务处年月日学生指导教师课题名称自动售货机的控制设计时间设计地点设计目的PLC的发展与计算机技术、数学技术。
等高新科技的发展息息相关,这些推动了PLC的发展,PLC的发展有对于这些高新技术有了更高的要求,本次设计的主要目的就是在于结合PLC的种种优点联系实际推动大家学习设计过程:1. 选定设计项目,我们选择的是《自动售货机的控制》的课题;2. 我们首先进行这个课题的讨论,我们组我们三个人各自分配任务,并查阅我们所能查阅到的资料;3.了解了本次课程设计的性质、目的和任务。
然后我们就开始了本次的课程设计,有负责课程设计原理图的绘制的,有负责课程设计元器件各项参数的确认,还有一个人进行专门的查缺补漏,把在这过程中遇到的意外的问题进行处理,从而辅助其余两人的完成;4.我主要负责课程设计中程序的编写和调试;5.我们把设计图拿给姚老师看,姚老师指出了我们的不足之处并细致的给我们讲了关于本次课程设计所涉及到减法器,加法器还有零钱找回的状态表实现等等,我们在姚老师的指导下把最终的设计图确定了下来;6.开始连线的时候有一些不懂,后来向老师请教才把线给连接好了;7.连好了线路,我们开始根据设计开始试验,进行调试,最终调试成功。
存在问题及解决措施在此过程中的主要问题是,由于没有连接线路的经验,所以很多地方都不会连接,比如开始的部分的电源连线,连接时不知道如何连线,然后通过问同学,按实验原理图把实物接好。
主要收获本次课程设计我们的主要任务使用PLC实现自动售货机的功能。
一个平常看似简单使用方便的自动售货机,其实并不是那么容易就做成的。
我们本次设计所做的只是PLC的编程部分,以此实现它的功能。
接到此题目之后,起初感觉无从下手,在其考一段时间后,我和我同组的同学通过网络以及区图书馆查阅资料,获得了一些有关于自动售货机以及PLC编程方面的信息。
石家庄经济学院华信学院数字逻辑课程设计报告题目简易售货机的设计姓名学号班号指导老师成绩目录1. 课程设计目的···································································································································2. 开发工具选择···································································································································3. 设计方案 ·········································································································································4.模块描述 ··········································································································································5. VHDL实现·······································································································································6. 调试仿真 ·············································································································································7. 课程设计回顾总结·························································································································参考文献 ··········································································································································附录·························································································································································1课程设计目的(1)设计一个简易售货机,可销售巧克力(0.5元)、纯净水(1元)、牛奶(1.5元)、汉堡(2元)4种商品,数量无限。