该工程案例是一个典型的数字系统应用案例,需要运用课程中学习到的逻辑门、编码器、显示译码器、数码管、比较器、计数器和单稳态触发器等知识与技术方法。这个案例涉及到了许多数字电路中重要的集成电路器件的应用,涵盖了数字电子技术的主要内容。所以,通过这个案例,可以将课程中学到的各种概念与技术应用于实际工程中,加深对数字系统设计及相关器件的理解与掌握。
目录
一、功能描述
二、电路实现的主要功能
三、设计过程
1、系统模块框图
2、设计电路及仿真结果与分析
按键模块
单瓶药片计数器和比较器
移瓶模块
药瓶计数器部分
总药片量计数器部分
3、 仿真测试
一、功能描述
由键盘或按键输入每个瓶子将装入的药片数。当每个瓶子的药片正好装满时,以下两个事件同时发生:(1)停止药片装入;(2)已装瓶数+1
二、电路实现的主要功能
(1)通过键盘或按键设置每瓶将装入的药片数(1-9);
(2)1位数码管显示当前已装药瓶数(最大值为9);
(3)2位数码管显示当前已装的总药片数(最大值为81)。
三、设计过程
1、系统模块框图
系统模块框图如图
1
所示,共包括五个功能。
功能模块一:比较模块。药片检测传感器工作时,每装入1片药片即产生1个脉冲,单瓶药片计数器依据该脉冲信号对每瓶装入的当前药片数(B)进行计数。同时当前药片数(B)与键盘输入的每瓶药片数(A)进行比较,当B小于A时,继续装入药片,当B等于A时表示该瓶药片装满,比较模块发出信号控制装药设备停止装药,传送机开始工作,并将单瓶药片计数器清零。该模块由单瓶药片计数器和集成比较器构成。计数器和比较器共同构成一个可预置的A进制加法计数器。
功能模块二:将当前已装瓶数进行显示。由药瓶计数器、显示译码器和1位数码管组成。药瓶计数器以比较器输出信号作为计数脉冲,对当前已装药片瓶数进行计数。
功能模块三:已装总药片数显示模块。由总药片计数器、显示译码器和2位数码管组成,总药片计数器构成一个2位十进制计数器,可将总药片数进行累加,可计数的最大值为99。
扩展功能模块四:键盘设置模块,实现由键盘输入每瓶允许装入药片的数量(1-9)。该模块由键盘输入电路、十进制到8421BCD的编码器组成。
扩展功能模块五:移瓶模块。可使用单稳态电路模拟药瓶的移动过程。单稳态电路暂稳态的持续时间就是移瓶的时间,在该段时间内,停止装入药片的工作。
2、设计电路及仿真结果与分析
如图
2-1,实验设计的总电路图(使用了电路设计软件:Proteus 8 )如下:
图2-1 总电路图(Proteus 8 设计)
根据系统模块框图,工作原理:
按键模块
如图
2-2
,该模块由
1
片
74147
,
4
个与非门,
8
个
10k
电阻,
8
个拨动开关组成。
其中将74147的8个输入端分别通过电阻连接电源及通过拨动开关连接地。这样,当开关打开时,输入为1,关闭时输入为0,就可以通过闭合开关来选择装瓶药片数。而输入端由于是反码输出,故要接入与非门来正常输出8421BCD码。该部分实现了
扩展功能模块四。
单瓶药片计数器和比较器
如图
2-3
,该部分由
1
片
7485
,
1
片
74160
和
1
个与非门组成。
其中 7485
的输入端的
1
个
4
位二进制输入端口
()
数接按键模块的输出,另
1
个
4
位二进制数输入端口()
接
74160
构成的单瓶药片计数器输出。该单瓶药片计数器采用异步清零法连接,时钟信号为 1Hz(
药片脉冲
)
,清零信号由比较器的相等端输出来提供。当单瓶药片计数器输出小于装瓶药片数时,比较器输出 0
,经与非门变为
1
,正常计数;单瓶药片计数器输出与装瓶药片数相等时,比较器输出 1
,经与非门变为
0
,提供清零信号。计数器和比较器共同构成一个可预置的
A(
药片数)
进制加法计数器。该部分实现了功能模块一。
移瓶模块
如图
2-4
,该部分由
555
定时器构成的单稳态电路和
2
个与非门组成。
其中单稳态电路的输入由比较强的输出经与非门后提供,而输出经与非门与1Hz时钟信号(药片脉冲)连在一起作为单瓶药片计数器和总药片计数器的输入时钟信号。当单瓶药片装满时,由比较器输入的1信号经与非门得到的0信号提供单稳态电路的输入脉冲,使其输出1,经与非门后变为0将1Hz时钟信号(药片脉冲)封锁,从而起到延时的作用。延时时间:(这里时间设计较短,是为了方便仿真测试)。
该部分实现
了扩展功能模块五。
药瓶计数器部分
如图
2-5
,该部分由
1
片
74160
和
1
个与非门构成的采用异步清零法的模为
9 的计数器,和由 1
片
4511
和
1
个共阴极
8
段数码管组成显示模块组成
(
这里将数码管
dp
接地
)
。
其中计数器的清零信号除了使该计数器清零,还作为总药片量计数器的清零输入。当瓶数到达 9 时会自动清零,经移瓶延时后进入下一轮计数。该部分实现了功能模块二。
总药片量计数器部分
如图
2-6
,该部分由
2
片
74160
构成的采用异步清零法的计数器和
2
个显示模块组成。
其中计数器的清零信号由药瓶计数器的清零信号提供,从而使其在药瓶数清零时跟着清零。该部分实现了功能模块三。
3、 仿真测试
当选择单瓶药片为
2
时,进行仿真测试,可以看到,每装
2
片药片瓶数加
1
,同时延迟
1.1s
进行 下一次装药片。如图 2-7
,当瓶数为
8
时,药片总数为
16
。在测试中,当瓶数到达
9
瓶,药丸总数到达 18
时,计数器会清零,经延时后进入下一装瓶过程。实际上,当选择不同的装瓶药片数时,药丸总数清零时总数会满足 9A(A
为单瓶药片数
)
的关系,即数码管所计最大药丸总数会随所选单瓶药片数 而随之变化。