电信工程学院
课程设计报告书
姓 名: 胡超
谈明峰
班 级: 电科 092 班
完成日期: 2011 年 6 月 13 日至 6 月 24 日
1
目录
设计要求--------------------------------------------------------------------------3
一、整体设计构想--------------------------------------------------------------3
二、仿真软件简要介绍--------------------------------------------------------3
三、系统分模块设计过程-----------------------------------------------------3
1、开关控制指示灯模块---------------------------------------------------------------3
2、编码器与译码器转换模块----------------------------------------------------------4
3、数码管显示模块-------------------------------------------------------------------7
4、蜂鸣器呼叫模块-------------------------------------------------------------------7
四、系统完成电路图-----------------------------------------------------------8
五、课程设计总结--------------------------------------------------------------9
2
设计题目
病房呼叫系统
一、整体设计构想
本次数字电子电路课程设计我组选择的题目是病房呼叫系统,要求如
下:
1.用 1~5 个开关模拟 5 个病房的呼叫输入信号,1 号优先级最高;
1~5 优先级依次降低;
2.用一个数码管显示呼叫信号的号码;没信号呼叫时显示 0;又多
个信号呼叫时,显示优先级最高的呼叫号(其它呼叫号用指示灯显示);
3.凡有呼叫发出 5 秒的呼叫声;
4.对低优先级的呼叫进行存储,处理完高优先级的呼叫,再进行低
优先级呼叫的处理
下面对 4 个要求进行逐一分析。首先,根据题目要求用 5 个开关模拟
5 个病房的呼叫信号,由于 1~5 优先级依次降低,所以我们使用优先编码
器来控制其优先级;其次,要显示病房号码,就要使用数码管以及能将编
码器产生的 8421 码转化为数码管显示格式的译码器;能够发出呼叫声,
在仿真中就需要蜂鸣器来实现这个功能;对于存储呼叫信息,由于要使用
优先编码器,当同时闭合两个开关时,它会遵循优先级最高的来执行操作,
当优先级高的开关断开后,之后的优先级较高的会进行操作,这个过程是
自动的,所以不用考虑。
设计过程
二、仿真软件简要介绍
本次课程设计我们主要使用 Multisim 10 来进行仿真。Multisim 是美
国国家仪器(NI)有限公司推出的以 Windows 为基础的仿真工具,适用
于板级的模拟/数字电路板的设计工作。它包含了电路原理图的图形输入、
电路硬件描述语言输入方式,具有丰富的仿真分析能力。Multisim 软件有
许多版本,这次我们选择 Multisim 10 是因为该版本比较普遍,兼容性也
较强。
三、系统分模块设计过程
根据课程设计要求,在设计整个系统时我们采取了分模块设计的方
法,这样,设计过程清晰,也便于检查其中错误。主要将系统分为:开关
控制指示灯模块、编码器与译码器转换模块、数码管显示模块、蜂鸣器呼
叫模块。
下面分模块来介绍:
1、开关控制指示灯模块
该模块的仿真图如下图所示,5 个开关分别控制 5 个指示灯的亮与灭,
VCC 为正极 +5V。将 5 个开关的键位分别设置为从“1”到“5”,当按
下对应数字键后,开关闭合,相应的指示灯亮。
3
2、编码器与译码器转换模块
1)为了使各个病房具有优先顺序,我组使用
优先编码器来实现此功能,我们使用较为简单
的 74ls148 优先编码器。对于 74ls148,有 I0~I7
八个输入端,A0~A2 三个输出端,E0 为选通输
出端,当所有编码输入为高电平且 EI=1 时 E0
为 0;GS 为扩展端用于扩展编码功能,只要任何
一个输入端有低电平信号且 EI=1 时 GS 才为
0;EI 为选通输入端只有在 EI=0 时编码器才能正
常工作。下表为其功能表
EI
I0
I1
I2
输入
I3
I4
I5
I6
I7
A2
A1
输出
A0
GS
EO
x
1
x
x
0
1
1
1
1
1
x
1
x
0
1
1
1
1
1
1
x
1
0
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0
0
1
1
1
1
0
1
0
1
0
1
0
1
1
1
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
x
1
x
x
x
x
x
x
x
0
x
1
x
x
x
x
x
x
0
1
x
1
x
x
x
x
x
0
1
1
x
1
x
x
x
x
0
1
1
1
x
1
x
x
x
0
1
1
1
1
4
根据要求,本系统只需要 5 个输入端,所以选取 IO~I4 五个输入端,由于
I4 的优先级最高,所以 I4 对应病房为 1 号以此类推,连接后的电路图如
下:
2)由于要用数码管来显示号码,所以要使用相应的译码器来翻译 74ls148
编码器输出的 BCD 码。我们使用 74ls47 译码器来进行翻译,74LS47 是
BCD-7 段数码管译码器/驱动器, 74LS47 的功能用于将 BCD 码转化成数
码块中的数字,通过它解码, 可以直接把数字转换为数码管的显示数字,
其功能表如下:
输 入 输 出 显示数字符号
LT(——) RBI(——-) A3 A2 A1 A0 BI(—)/RBO(———)
a(—) b(—) c(—) d(—) e(—) f(—) g(—)
1 1 0 0 0 0 1 0 0 0 0 0 0 1 0
1 X 0 0 0 1 1 1 0 0 1 1 1 1 1
1 X 0 0 1 0 1 0 0 1 0 0 1 0 2
1 X 0 0 1 1 1 0 0 0 0 1 1 0 3
1 X 0 1 0 0 1 1 0 0 1 1 0 0 4
1 X 0 1 0 1 1 0 1 0 0 1 0 0 5
1 X 0 1 1 0 1 1 1 0 0 0 0 0 6
1 X 0 1 1 1 1 0 0 0 1 1 1 1 7
1 X 1 0 0 0 1 0 0 0 0 0 0 0 8
5
1 X 1 0 0 1 1 0 0 0 1 1 0 0 9
X X X X X X 0 1 1 1 1 1 1 1 熄灭
1 0 0 0 0 0 0 1 1 1 1 1 1 1 熄灭
0 X X X X X 1 0 0 0 0 0 0 0 8
对于本次课程设计我们仅使用 1~5 字码,所以仅选用 1~5 来使用。由
功能表得出 LT、RBI、BI/RBO 三个使能端可给以高电平,使用 A、B、C、
D 分别表示输入端 A0、A1、A2、A3,所
以按要求可列出 74ls148 编码器与 74ls47
之间转换的真值表:
输入
A1
1
0
0
1
1
A2
0
1
1
1
1
A0
1
0
1
0
1
输出
显示数字
A
1
0
1
0
1
B
0
1
1
0
0
C
0
0
0
1
1
D
0
0
0
0
0
1
2
3
4
5
由真值表可以得出如下逻辑表达式:
A=(A1+A2) •A0
B=A2•A1’
C=A1•A2
D=0
由逻辑表达式可得电路图如下:
6
3、数码管显示模块
本次课程设计我组使用的是 7 段共阴数码管,分为 abcdefg 七段二极
管来控制其显示的数字,所以根据 74ls47 译码器的功能表对该模块的电
路设计如下:
4、蜂鸣器呼叫模块
根据要求有开关闭合时,蜂鸣器发出五秒的响声,由于蜂鸣器在仿真
中无法看出效果,所以采用指示灯来代替,以便看出效果,为了控制时间,
我们使用函数信号发生器和 74160 计数器来进行控制。
我们考虑到给予灯泡高电平时,并且有五秒的时间限制,所以采用计
数器来给予其高电平。74160 是十进制计数器,其 QA 输出端连接灯泡,
上图中的两个数码管在系统中并没有真正的用途,只是用来检测 74160
7
芯片的计数功能。在我们的构想中,计数部分每循环一次就会有五个高电
平与五个低电平交替输出,这样灯泡就能闪烁五次,之后使用芯片的置位
端来保持一个状态,使循环“停止”,灯泡不亮。但是经过多次的验证之
后,发现一片 74160 组成的“十进制”不能满
足“亮暗”要求。为了解决这个问题,我们采
用两片 74160 组成一个“十一进制”的计数部
分,当一次“十一进制”结束后,由进位输出
给予置位端脉冲,使其停在“11(QA 端输出低
电平)”这个状态,就是“停止”。函数信号发
生器接 74160 的 CLK 端,并将其波形调为“方
波”,频率调节为“2Hz”,这样就能保证指示灯
闪烁的总时间为 5 秒钟。
四、系统完成电路图
8