您的当前位置:首页正文

设计一个自动售饮料机的逻辑电路(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已足够。依题意列出下列状态转换表,并画出了状态转换图。

状态转换表 S 00 01 11 10 S*/YZ AB S0 S0/00 S1/00 */** S2/00 S1 S1/00 S2/00 */** S0/10 S2 S2/00 S0/10 */** S0/11

00/00 01/00 00/00 AB/YZ 10/10 10/00 01/00 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的状态,所以与之对应的最小项也做约束项处理。

;.

.

Q1Q0 AB 00 01 11 10 00 01 11 10 0 0 * 1 0 1 * 0 * * * * 1 0 * 0

Q1*

Q1Q0 AB 00 01 11 10 0 1 * 0 1 0 * 0 * * * * 0 0 * 0 00 01 11 10 QO*

Q1Q0 AB 00 01 11 10

00 01 11 10 0 0 * 0 0 0 * 1 * * * * 0 1 * 1 Y Q1Q0 AB 00 01 11 10 00 01 11 10 0 0 * 0 0 0 * 0 * * * * 0 0 * 1

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 10/10 10/11 10/00 11 00/00

00/00 01 01/00 01/10 或10/11 10 01/10 00/00

状态转换图 Q1Q0 AB/YZ

;.

因篇幅问题不能全部显示,请点此查看更多更全内容

Top