自动化课程设计
目 录
一、设计课题………………………2 二、设计思路………………………2 三、所用器件………………………2 四、设计原理………………………2
1.逻辑电路部分……………………2 2.计数器部分……………………..6 3.显示部分……………………….9 五、工作过程及仿真………………10
1. 总电路图……………………………….10 2. 仿真过程………………………………..11 六、实验总结………………………11
1.问题与思考………………………11 2.实验总结………………………...12 七、参考文献……………………….12
一、设计课题
课题名称:《关于自动贩卖机的电子课程设计》
课题说明:题目要求设计一个自动售货机的逻辑电路及显示剩余量的电路。假设售货机只能识别一元硬币及五元纸币,且售货机只卖一种饮料,其价格为两元钱。同时,题目还要求显示找钱信息。
二、设计思路
由题目要求可知,可以将待设计的电路分为三大块:逻辑电路、计数电路及显示电路。
1. 逻辑电路部分利用数字电路技术中卡诺图化简法将问题简化,再结合时序逻辑电路的分析方法进行设计。
2. 计数电路部分可以利用两个减法计数器级联进行减法计数。 3. 显示部分可以利用译码器加数码管的组合进行显示。
三、所用器件
74ls74*2(D触发器)、74ls32*4(两输入或门)、74ls02(两输入或非门)、sw-spst若干(开关)、74ls192*2(减法计数器)、74ls48*2(译码器)、数码管两个、时钟脉冲发生器一个、LED两个、电阻若干。
四、设计原理
(1)逻辑电路
由给定的逻辑功能确定电路应包含的状态,并画出状态表。 假设投币信号为输入逻辑变量,投入两元钱时(两个一元)用A=1表示,未投入时用A=0表示。投入一张五元钱用B=1表示,未
投入时B=0。给出饮料及找钱为两个输出变量,分别以Y和Z表示。给出饮料时Y=1,不给出时Y=0;找钱时Z=1,不找钱时Z=0。
当然,需要假定通过传感器产生的投币信号(A或B)在电路转入新状态的同时随之消失。
设未投币前电路的初始状态为S0,投入两元钱后电路状态为S1(出饮料但是不找钱,同时输出Y=1,Z=0),投入五钱后电路状态为S2(出饮料而且找钱,同时输出Y=1,Z=1)。
由上述假设我们可以得到电路的状态转换表(表1)。
因为正常工作中不会出现AB=11的情况,所以与之对应的S及YZ均作约束处理。
取触发器的位数为n=2,以触发器的状态Q1Q0的00、01、10、11分别代表S0、S1、S2、S3,则从状态转换表即可画出表示电路次态/输出(Q1Q0/YZ)的卡诺图(表2)。因为正常工作时不出现Q1Q0=11的状态,所以与之对应的最小项也作约束项处理。
n11
将表2的卡诺图分解,分别画出表示Q(见表3-表6)
表3 Q
n11
、Q
n10
、Y和Z的卡诺图。
的卡诺图分析
表4 Q
n10
的卡诺图分析
这里我们选用D触发器,则根据上表的卡诺图可以写出以下状态方程、驱动方程和输出方程,分别为:
Q1n1= Q1n+B
n1nQ0= Q0+A
n
Y= Q0+A +Q1n+B
Z= Q1n+B
注:当电路进入无效状态11以后,在无输入信号的情况下不呢不过自动返回有效循环,所以不能自启动。当AB=10或01时,电路在时钟信号作用下虽然返回有效循环中去,但结果错误。所以,在开始工作时,应将D触发器异步置零端加入低电平信号,将电路置零(电路中R端与AB开关分别相连)。
图1 逻辑电路部分电路图
注:上图中一元开关不参与逻辑功能。
(2)计数器部分
1、计数器的选取
首先,为了更清楚地显示剩余饮料数量,电路中应该使用具有减法计数功能的计数器。其次,由于使电路更接近实际,计数器需级联。同时,计数器应具有预置功能,方便使用。
综合上述要求,本实验选用的计数器为74ls192十进制可逆计数
器。
2、74ls192功能说明 ①引脚说明(见图2)
图2 74ls192
说明:上图中,D0~D3为数据输入端,本例中接预置信号;Q0~Q3为数据输出端,本例中接译码器;UP(下图CPU)端为加法计数器脉冲信号接口;DN(下图CPD)端为减法计数器脉冲信号接口;PL端为预置端,当PL低电平时,Q0~Q3中数据等于D0~D3中数据,实现预置功能;
MR为清零端,高电平有效;TCU为进位端,UP有效时,1001状态后输出负脉冲;TCD为借位端,DN有效时0000后输出负脉冲。
②功能表
图3 74ls192功能表
(摘自百度)
③级联方法
图4 74ls192级联计数图
说明:所谓级联,指的是两片计数器以某种方式连接在一起,一个作为高位,一个作为低位,同时进行计数。通过两个十进制计数器的级联,便可实现100进制计数。
级联的具体方法:首先,将高位计数器的减计数脉冲(DN)端与低位计数器的借位(TCD)端相连,当低位计数器输出0000时,TCD端输出负脉冲,使高位计数器计数,由于74ls192为同步计数
器,所以低位计数器在0000之后的下个脉冲会显示1001。其次,将两片计数器的借位端(TCD)作为或非门的输入,两片计数器的清零端(MR)作为输出,其作用是在计数结束时,使两片计数器同时输出0000。
④预置功能(见图4)
(3)显示电路
1、74ls48功能说明
图5 74ls48引脚图
说明:74ls48的功能是借助数码管将输入的二进制数转换成十进制字符并显示出来。上图中,A~D为二进制数输入端;QA~QG为输出端,与数码管相连;试灯输入(LT)端、灭灯输入动态灭灯输出(BI/RBO)端及动态灭灯输(RBI)端在正常工作时均接无效信号。
2、数码管显示原理
图6 数码管引脚图
(摘自百度)
说明:数码管的每一个输入端对应一段内部的LED(公共端除外),通过输入端的高低电平(共阳极为低电平,共阴极为高电平)使每段LED亮灭不同,从而显示不同的字符。
五、工作过程及仿真
1、总电路图(见下页)
10
2、仿真过程
置由上到下对应位数由高到低,高电平为1,低电平为0。
①设置预置值:通过与计数器预置端相连的开关进行设置,开关位
②打开仿真按钮,闭合两个计数器预置端开关再断开,使数码管显示预置值。
③闭合对应一元的按钮再断开,左上角LED亮,代表投币不够;闭合对应两元按钮再断开,计数器计数,代表出饮料;闭合对应五元开关再断开,计数器计数且下方LED灭,代表出饮料而且找钱。 注:上述输入开关每次均只能有一个有效,否则在现实中不能发生。
六、实验总结
1.问题及思考
11
①计数器不能预置的问题:计数器接线没错,预置端输入低电平后不能预置。
答:74ls192为同步预置计数器,在预置时时钟脉冲(DN或UP)必须接高电平才可实现预置。 ②逻辑电路中为什么接入D触发器?
答:逻辑电路中接入D触发器起到起到所存状态的作用,同时,时钟信号给逻辑电路以激励源,否则电路无法工作。 ③逻辑电路中D触发器的频率为多大合适?
答:逻辑电路中D触发器的频率不能过小,应大于手点开关的频率。
2.实验总结
通过本次课程设计,让我对数字电路的知识有了更进一步的认识,加深了我对数字电路的理解。同时,更加锻炼了我独立思考的能力以及对未知知识的领悟能力。
八、 参考文献
《EDA数字系统设计案例实践》,清华大学出版社 《电子技术基础》,高等教育出版社
12