设计一个自动售饮料机的逻辑电路(1)讲解学习
设计一个自动售饮料机的逻辑电路(1)
设计一个自动售饮料机的逻辑电路。
它的投币口每次只能投入一枚五角或一元的硬币。
投入一元五角钱硬币后,机器自动给出一杯饮料;投入两元(两枚一元)硬币后,在给出饮料的同时找回一枚五角的硬币。
取投币信号为输入逻辑变量,投一枚一元硬币时用A=1表示,未投入时A=0.投入一枚五角硬币用B=1表示,未投入用B=0.给出饮料和找钱为输出变量,分别用Y,Z表示。
给出饮料时Y=1,不给时Y=0,;找回一枚五角硬币时Z=1,不找时Z=0.
假定通过传感器产生的投币信号(A=1或B=1)在电路转入新状态的同时也随之消失,否则将被误认为又一次投币信号。
设未投币前电路的初始状态为
S0,投入五角硬币以后为S1,投入一元硬币(包括投入一枚一元硬币和投入两枚五角硬币的情况)以后为S2.在投入一枚五角硬币后电路返回S0,同时输出Y=1,Z=0;如果投入的是一枚一元硬币,则电路也应该返回S0,同时输出为Y=1,Z=1.因此,电路的状态M=3已足够。
依题意列出下列状态转换表,并画出了状态转换图。
状态转换表
01/10 或10/11
00/00
状态转换图
因为正常工作中不会出现AB=11的情况,所以与之对应的S*,Y, Z 均作约束项处理。
取触发器的位数n=2,则2<3(M)<2^2,故符合要求。
今以触发器状态Q1,Q0的00,01,10分别代表S0,S1,S2,则从状态转换图即可画出表示电路次态/输出(Q1*Q0*/YZ)的卡诺图。
因为正常工作时不出现Q1Q0=11的状态,所以与之对应的最小项也做约束项处理。
Q1*
QO*
Y
Z
假设选用D触发器,则从以上所示的卡诺图可写出电路的状态方程,驱动方程和输出方程分别是
Q1*=Q1A’B’+Q1’Q0’A+Q0B
Q0*=Q1’Q0’B+Q0A’B’
D1=Q1A’B’+Q1’Q0’A+Q0B
D0=Q1’Q0’B+Q0A’B’
Y=Q1B+Q1A+Q0A
Z=Q1A
由以上可画出逻辑图如下所示。
它的状态转换图也易知。
当电路进入无效状态11时,再无输入信号的情况下不能自行返回有效循环,所以不能自启动。
当AB=01或AB=10时电路在时钟信号下虽然能返回有效循环中去,但收费结果是错误的。
因此,在开始工作时应在异步置零端R’d上加低电平信号将电路置为00状态。
逻辑图
00/00 01/00 00/00
00 10/10
01
10/11 10/00
01/00
01/10
或10/11
11 10
01/10
00/00 00/00
状态转换图 Q1Q0 AB/YZ。
自动售饮料机逻辑电路的设计和仿真
文档从互联网中收集,已重新修正排版,word格式支持编辑,如有帮助欢迎下载支持。
目录引言 (1)1设计要求的提出和功能的构想 (1)2分析设计要求并画出原始状态图 (1)3程序设计 (3)4时序仿真 (6)4.1创建VHDL源文件 (6)4.2 选择合适的器件 (7)4.3 编译程序 (7)4.4 仿真波形 (7)4.5 仿真波形分析 (8)结束语 (9)参考文献 (10)英文摘要 (10)致谢 (10)自动售饮料机逻辑电路的设计和仿真摘要:本文基于VHDL语言对自动售饮料机的逻辑电路进行了逻辑设计和仿真。
该电路可识别1元和5角硬币,实现购买3种不同价格的饮料并且具有找零功能。
本设计在MAX+PLUSⅡ中实现了逻辑仿真并给出正确的仿真波形图。
关键词:MAX+PLUSⅡ;VHDL;自动售饮料机引言随着集成电路技术的快速发展,EDA(Electronic Design Automation电子设计自动化)技术已经成为电路系统分析和设计的有力工具。
EDA技术使得硬件电路设计尤其是数字电路系统的设计变得如同软件设计一样方便快捷、易于修改。
本文采用具有很强硬件描述能力的VHDL语言,对自动售饮料机的逻辑电路进行了设计,并在MAX+PlusⅡ软件中仿真实现。
1设计要求的提出和功能的构想[1][2]①该饮料机能识别0.5元和1.0元两种硬币;②售出3种不同价格的饮料,饮料价格分别为1.5元、2.0元和2.5元;③具有找零功能;④购买者能自主选择所购买的饮料;⑤饮料机在每卖出一次饮料后能自动复位。
因为饮料的价格最高为2.5元,所以设计饮料机最多可接受3.0元的硬币。
2分析设计要求并画出原始状态图该自动售饮料机设有一个投币孔,通过传感器来识别两种硬币,给出两个不同的信号。
在此用half_dollar和one_dollar分别表示投入0.5元和1.0元硬币后电路接收到的两个信号;三个饮料选择按键choose01表示选择价格为1.5元的饮料,choose10表示选择价格为2.0元的饮料,choose11表示选择价格为2.5元的饮料;rest表示复位按键;有2个输出口分别为饮料出口dispense和找零出口out1;用s0表示初始状态,s1表示投入0.5元硬币时的状态,s2表示投入1.0元硬币时的状态,s3表示投入1.5元硬币时的状态,s4表示投入2.0元时的状态;clk 表示时钟信号;机器最多接受的钱币为3.0元。
自动售饮料机控制电路的设计.doc
自动售饮料机控制电路的设计1 设计目的(1)熟悉数字电路的应用。
(2)掌握常常利用逻辑运算器及D触发器的逻辑功能及利用方式。
(3)熟悉电路仿真软件Multisim 利用。
(4)了解自动售饮料机控制电路的组成及工作原理。
(5)熟悉直流稳压源的形成进程。
2 设计思路自动售饮料机的大体功能就是对投入的钱币数进行计算,然后按照结果做出相应的判断,看看是不是足够购买饮料。
当按A键一次时,模拟投入一元硬币,用绿灯A显示;当按B键一次时,模拟投入五角硬币,用绿灯B显示。
空格键作清零。
Y表示售出一瓶饮料,用红灯显示。
Z表示找回1枚五角硬币,用蓝灯显示。
3 设计进程方案论证图1 系统流程图如图1所示,接通电源后,若按下开关键A或B,则电路输入电压,通过逻辑运算器及D触发器处置后A灯亮或B灯亮,随即系统输出饮料及找出零钱;若按下开关键space,则系统自动清零。
电路设计5V直流稳压电源电路如图2所示,该电路由电源变压器、整流桥堆、滤波电容C 六、C7、三端稳压集成电路LM781五、限流电阻器和电源指示发光二极管组成。
U4图2 5V直流稳压电源电路工作原理及进程:当接通电源,交流220V电压经变压器降压,整流桥堆整流,C6滤波及C7稳压,经三端稳压集成电路LM7815后,产生5V直流电压,作为系统的工作电源。
经限流电阻限流降压后将发光二极管点亮。
系统控制电路如图3所示,此电路由一刀双掷开关、大体逻辑运算器(既与、或、非门)、D触发器、电灯、脉冲信号发生器组成。
该电路即可完成自动售饮料的功能。
工作原理:用1表示高电平,用0表示低电平,且各电灯只有输入高电平时才能亮灯。
若按下开关键A,则电路从A端输入高电平,开关A指示灯亮,电流一路经逻辑运算电路及触发器后给A电灯输入高电平,B电灯输入低电平,所以灯A 亮而灯B不亮,另一路通过大体逻辑运算器将高电平输入到灯Y及灯Z,从而致使灯Y和灯Z都亮,即输出饮料并找出零钱;若断开开关A而按下开关B,A开关指示灯熄灭而B开关指示灯亮,电流经电路输入电灯A、B、Y、Z,按照逻辑关系得电灯B及Y输入高电平,而电灯B及Y输入低电平,所以系统输出饮料而不找出零钱;若同时按下开关键A和B,则经逻辑电路输入到A、B、Y、Z都为高电平,所以都亮灯;若按下开关键space键使其接地,则系统进行清零。
基于PLC的饮料自动售货机系统设计课件
名称 代 输出 号 编号
1角投票光 ST I0.1 汽水指示 HL Q0.0
电开关 1
灯
1
5角投票光 ST I0.2 橙汁指示 HL Q0.1
电开关 2
灯
2
1元投票光 ST I0.3 放汽水电 YV Q0.2
电开关 3
磁阀
1
汽水按钮 SB I0.4 放橙汁电 YV Q0.3
1
磁阀
2
饮料自动售货机系统
投入一角、五角、一元硬币时,I0.1、I0.2.I0.3闭合,产生脉冲输 入给M0.1、M0.2.M0.3
饮料自动售货机系统
( 五 ) 、饮料自动售货机系统程序设计
M0.1闭合时, 就将MW10中的数据和MW20中的数据相加并存入 MW20中。同理M0.2 闭合时, 就将MW12中的数据和MW20中的 数据相加并存入MW20中;M0.3闭合时, 就将MW14中的数据和 MW20中的数据相加并存入MW20中.
(四)、饮料自动售货机系统PLC控制接线 图:
饮料自动售货机系统
(四)、饮料自动售货机系统PLC控制接线 图:
饮料自动售货机系统
( 五 ) 、饮料自动售货机系统程序设计
上电初始化,此时将一、五、十分别存入到寄存器M10、M12. M14中。
饮料自动售货机系统
( 五 ) 、饮料自动售货机系统程序设计
饮料自动售货机系统
( 五 ) 、饮料自动售货机系统程序设计
汽水按钮和橙汁按钮, T0和T1为8S定时器.I0.4闭合, 汽水电磁 阀打开, 放出汽水; 同理, I0.5闭合, 橙汁电磁阀打开, 放出橙汁 。
饮料自动售货机系统
( 五 ) 、饮料自动售货机系统程序设计
自动售汽水机的PLC控制
自动售汽水机的PLC控制
一、设计目的:
1、此售货机可投入1元、2元硬币,投币口为LS1、LS2
2、当投入的硬币值大于或等于6元,汽水指示灯L1亮,此时按下汽水按钮
SB1,则汽水口L2出汽水12S后自动停止。
3、不找钱,不节余,下一位投币又重新开始。
二、引脚说明:
1、系统总开关:X0
2、0.5元硬币入口传感器:X1
3、1元硬币入口传感器:X2
4、汽水按钮SB1:X3
5、汽水指示灯L1:Y0
三、设计程序:
四、硬件连接图:
五、设计心得:
通过这次的PLC 设计,知道了PLC 设计并没有课堂上的那么简单,要想真正的掌握PLC 的设计,就必须多加练习。
学习不同PLC 厂家的不同PLC 要求,将自己所学知识正确运用。
+24V。
(仅供参考)自动售饮料机销售verilog设计
S1 10/00
S0
01/00
01/10
10/00
S2 01/00
01/00 10/00
01/11 10/10
S3
2. 状态编码
S0=0; S1=1; S2=2; S3=3; S4=4;
10/00 S4
3.用 Verilog_HDL 对状态转换图进行描述 描述方式:将 CS 、NS、OL 混合描述。
10
S1/00 10
S0/00
01
S2/00
01 10
01 S6/11 10
10 01
S3/00
01
S5/10 10
10 S4/00
2. 状态编码:
S0=3`b000; S1=3`b001; S2=3`b011; S3=3`b010; S4=3`b110; S5=3`b111; S6=3`b101:
always @(posedge clk) begin if(reset)
begin sell=0; wjout=0;D=S0;end case(D) S0: //0yuan
if(wjin) D=S1; else if(yyin) D=S2; S1: //0.5yuan if(wjin) D=S2; else if(yyin) D=S3; S2: //1yuan if(wjin) D=S3; else if(yyin) D=S4; S3: //1.5yuan if(wjin) D=S4; else if(yyin) begin D=S0; sell=1; wjout=0; end S4: //2yuan if(wjin) begin sell=1; wjout=0;D=S0; end else if(yyin) begin D=S0;sell=1; wjout=1; end default: //其他状态 begin sell=0;wjout=0;D=S0;end endcase end endmodule
基于单片机的自动售货机逻辑电路设计
基于单片机的自动售货机逻辑电路设计摘要:本文简述了单片机控制的自动售货机系统的设计,本文阐述了系统硬件电路设计、软件程序设计流程图,硬件电路是由键盘电路和显示电路组成,其中键盘电路采用了4*4的矩阵式的键盘与89S51单片机的接口相连构成,通过键盘电路来选择你要购买的物品;显示电路采用了74LS164 和数码管构成的串行口显示电路构成,通过显示电路显示。
关键词:自动售货机键盘显示自动售货机这种新颖的无人零售方式已逐渐被人们所接受和信赖。
自动售货机的普及在某种程度上能反映一个国家的经济发展水平,是一个国家繁荣程度的象征。
一、系统设计1.硬件设计。
系统框图包括:控制器键盘电路、复位电路、保护电路、Money键盘输入电路、显示电路(如图1)。
图2:电源电路(2)键盘电路的设计。
键盘是按键或开关的有序组合。
按照工作原理的不同,键盘可分为编码键盘和非编码键盘。
编码键盘是由硬件完成的,非编码键盘是由软件完成的。
非编码键盘有独立式键盘和矩阵式(行列式)键盘两种。
键盘电路的主要工作步骤如下:①判别键盘上是否有按键按下。
②如果有键按下,则应对其进行扫描,判别是哪一个键按下。
③去抖动常采用延时程序。
④读取闭合按键的特征值(行和列的位置编码)。
⑤对特征值进行译码,获得按键的相应顺序号,而后再按各键的实际定义去执行相应的服务程序。
⑥应采用双键锁定或N键轮回解决双键同时按下的问题。
根据对键盘的了解,本设计所采用的是4*4的矩阵式键盘与89S51的P1口相连,通过扫描键盘来选择自己要购买的物品。
(3)显示电路的设计。
在单片机系统中,通常用LED数码显示器来显示各种数字或符号。
由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。
本设计采用3片74LS164首尾相串,而时钟端则接在一起,这样,当输入8个脉冲时,从单片机RXD端输出的数据就进入到了第一片74LS164中了,而当第二个8个脉冲到来后,这个数据就进入了第二片74LS164,而新的数据则进入了第一片74LS164,这样,当第六个8个脉冲完成后,首次送出的数据被送到了最左面的164中,其他数据依次出现在第一、二、三片74LS164中。
自动售饮料机设计和原理
十.自动售饮料机1.实验目的了解自动售货机的工作流程以及各个工作状态,以及其test_bench,最后在Robei可视化仿真软件经行功能实现和仿真验证。
2.实验原理自动售货机的信号定义:clk:时钟输入;reset:为系统复位信号;half_dollar:代表投入5角硬币;one_dollar:代表投入1元硬币;half_out:表示找零信号;dispense:表示机器售出一瓶饮料;collect:该信号用于提示投币者取走饮料。
当reset=0时,售货机处于工作状态,此时连续往售货机中投硬币(可以是5毛也可以是一元),投入最后一枚硬币时,如果之前投入的硬币总和为2.5元则可以取走一瓶饮料,如果少于2.5元则继续投币,如果为3元则显示可以取出一瓶饮料而且找零显示信号为高电平。
投入硬币的总额自动售饮料机给出的信号<2.5元继续投币=2.5元可以取出一瓶饮料=3元可以取出一瓶饮料,并且找零3.实验内容3.1 sell模块的设计1)新建一个模型命名为sell,类型为module,同时具备4输入3 输出,每个引脚的属性和名称参照下图2-10-1经行对应的修改。
图2-10-1 sell引脚的属性图2-10-2 sell界面图2)添加代码。
点击模型下方的Code添加代码。
代码:parameter idle=0,half=1,one=2,one_half=3,two=4;reg[2:0] D;always @(posedge clk)beginif(reset)begindispense=0; collect=0;half_out=0; D=idle;endcase(D)idle:if(half_dollar)D=half;else if(one_dollar)D=one;half:if(half_dollar)D=one;else if(one_dollar)D=one_half;one:if(half_dollar)D=one_half;else if(one_dollar)D=two;one_half:if(half_dollar)D=two;else if(one_dollar)begindispense=1;collect=1;D=idle;endtwo:if(half_dollar)begindispense=1;collect=1;D=idle;endelse if(one_dollar)begindispense=1;collect=1;half_out=1;D=idle;endendcaseend3)保存模型到一个文件夹(文件夹路径不能有空格和中文)中,运行并检查有无错误输出。
自动饮料售卖机电路设计
摘要本设计采用EDA技术,利用FPGA芯片来设计一个自动售货机,机器设有2个投币孔,可以接受一元和五角的硬币,每瓶饮料2.5元,可用2个按键来代替。
还设有2个输出,要求有找零和提示信号,分别输出饮料和找零,设计按照EDA 课程设计的流程,源代码的编写,前仿真,综合,然后布局布线,后仿真,前、后仿真验证成功后,下载到FPGA实验箱上进行验证,与传统的设计方式相比,本设计由于采用了FPGA芯片来实现,它将大量的电路功能集成到一个芯片中,并且可以由用户自行设计逻辑功能,提高了系统的集成度和可靠性。
【关键词】EDA技术、FPGA芯片、源代码的编写、仿真Abstract:Based on the EDA technology, Using the FPGA chip design a vending machine, the machine has two slot, can accept a bottle and the coin, 2.5 yuan, can drink two buttons instead. Also has two output, for a change and output signal hint, respectively, in accordance with the change drinks and design of process, curriculum design, EDA simulation code written before, the comprehensive and layout, after wiring, simulation, a simulation test before and after the success, download to verify the FPGA experiment box, and the traditional design methods, this design compared with FPGA chips to realize the circuit, it will be a function integration to a chip, and can be designed by the user, improve the system logic function of integration and reliability.【Keywords】Electronic Design Automatic Technology , Flied Programmable, Gate Array, Source code, Simulation前言随着电子技术和计算机技术的飞速发展,电子线路的设计工作也日益显得重要。
基于PLC的饮料_自动售货机控制系统设计
基于PLC的饮料_自动售货机控制系统设计自动售货机是一种现代化的零售设备,广泛应用于商场、车站、机场等公共场所。
为了提高自动售货机的性能和可靠性,采用基于可编程逻辑控制器(PLC)的控制系统是一种有效的方式。
本文将基于PLC设计一个饮料自动售货机控制系统。
首先,我们需要确定系统的需求和功能。
饮料自动售货机通常具有以下功能:1.饮料选择:用户可以通过触摸屏或按键选择自己喜欢的饮料种类。
2.价格显示:自动售货机需要通过屏幕显示所选饮料的价格。
3.付款功能:用户可以通过现金、信用卡或移动支付等方式支付饮料费用。
4.出货功能:支付成功后,自动售货机会启动电机将选定的饮料从货架上取出,并将其送到出货口供用户取用。
5.存货管理:自动售货机需要监控饮料库存,并在饮料即将售罄时提示进行补货。
基于以上需求和功能,我们可以设计出一个基于PLC的饮料自动售货机控制系统。
首先,我们需要将PLC与触摸屏和出货电机等设备进行连接。
PLC负责接收用户的输入,控制出货电机的运行,并更新触摸屏上的显示信息。
同时,PLC还需要监测饮料库存量,并在低于一定阈值时发送信号给维护人员进行补货。
在控制程序方面,我们可以设计如下的流程:1.系统启动:PLC在启动时初始化系统参数,并通过触摸屏显示主界面。
2.饮料选择:用户可以通过触摸屏选择自己想要的饮料,在触摸屏上显示所选饮料的价格。
3.付款功能:用户可以选择现金、信用卡或移动支付等方式进行付款,在付款成功后触摸屏显示付款成功的信息。
4.出货功能:PLC接收到付款成功的信号后,启动出货电机将所选饮料从货架上取出,并送到出货口供用户取用。
5.存货管理:PLC监测饮料的库存量,并在库存低于一定阈值时发送信号给维护人员进行补货。
为了保证系统的稳定性和可靠性,我们可以在PLC程序中设置一些异常处理,如:检测到用户选择了无效饮料时,触摸屏显示错误信息;出货电机因故障无法运行时,自动售货机显示故障信息并终止交易。
自动售饮料机及多功能数字时钟VerilogHDL数字设计实践
9.10 实用多功能数字钟
设计一个多功能数字钟,具有计时、定时与闹钟、 校时和整点报时功能。
功能控制 按键
基准时钟
产生闹铃 和报时音
校时
时、分、秒 计时
扬声器
时间 显示
【例9.39】多功能数字钟
/* 信号定义
clk
4Hz标准时钟
clk_1k 1KHz闹铃报时时钟
always @( posedge clk_1Hz ) // 秒计时和秒调整 begin
if( !( sec1 ^ 8‘h59 ) | ~turn & ( !m ) ) // 长按turn,清零秒 begin sec1 <= 0; if( !( ~turn & ( !m ) ) ) minclk <= 1; end
else begin loop4 <= 0; num4 <= 0; end
end
// ct1用于计时、校时中的分钟计数 assign ct1 = ( num3 & clk ) | ( !num3 & m_clk ); // ct2用于闹钟定时中的分钟调节 assign ct2 = ( num1 & clk ) | ( !num1 & count2 ); // cta用于计时、校时中的小时计数 assign cta = ( num4 & clk ) | ( !num4 & h_clk ); // ctb用于闹钟定时中的小时调节 assign ctb = ( num2 & clk ) | ( !num2 & countb ); assign m_clk = minclk | count1; assign h_clk = hclk | counta;
