基于MATLAB的组合逻辑电路设计和仿真(12)
时间:2025-04-04
时间:2025-04-04
MATLAB课程设计报告说明书
图3-6 4选1数据选择器输入输出仿真波形图
3.2 以译码器的级联为例实现系统的封装并仿真
3.2.1 3线8线译码器的封装
在设计完3线8线译码器后为了完成4线16线的设计,需要对3线8线译码器进行封装,下面将详细介绍,首先在3线8线译码器原理图上选中需要封装的部分,然后选择Edit菜单下的Create Subsystem。
在创建好一个新的系统后需要对其进一步封装,设置其有关属性,首先选中创建好的系统后选择Edit菜单下的Mask Subsystem命令,这是就会出现一个对话框:Mask Editor,将这个对话框设置好,模块就封装成功了。首先需要在Icon页设置封装模块的图标,在最顶部的是封装类型,中间的编辑框是用来写如图标绘制命令,这里可以填写MATLAB的绘图命令,但更常用的是显示文本的命令:disp、text、fprintf和port-label。
设置Icon页后还需要设置Documentation页,在该页中的三个编辑框可以分别为封装模块设置封装类型、秒数文件和帮助文件,封装类型我们已经设置好了,它将作为模块的标题出现在对话框的顶部,在模块的描述编辑框中,我们可以填入对模块的描述文本。
设置好Documentation页后对该模块点击OK键就可以看到封装后的模块了,如图3-7所示,模块的中间是输出了我们设置的文本,然后双击该模块,这次看到的不再是子系统的电路了,而是一个模块对话框,封装后的子系统如图3-7所示。
MATLAB课程设计报告说明书
图3-7 封装后的3-8译码器
3.2.2 4线16线译码器的仿真
4线16线译码器可以用2片3线8线译码器和一个反相器级联而成,其原
理图如图3-8所示,
图3-8 4线16线级联原理图
设置好输入时钟脉冲后,点击进行仿真,然后分别点击查看输入输出信
号的示波器查看波形,如图3-9、图3-10和图3-11所示,根据以下波形可以看出所设计的4线16线译码器,在给不同输入的情况下均可得到相应的正确的输出,即该设计符合设计要求。
MATLAB课程设计报告说明书
图3-9 4线16线译码器输入波形
图3-10 低8位输出波形 图3-11 高8位输出波形
MATLAB课程设计报告说明书
3.3 以七段数码管为例子完成数码管的图形输出显示
进入Simulink仿真界面后,按照七段数码管的逻辑表达式逐一拖入所需的原件并进行连接如图3-12所示。
a=(B&C)|((~A)&C)|((~B)&(~D))|((~A)&B&(~C)&D)|(A&(~B)&(~C))|(A&B&(~C)&(~D));
b=((~A)&(~B))|((~B)&(~D))|(A&D&(~C))|((~A)&(~C)&(~D))|((~A)&C&D); c=(A&(~B))|((~A)&B)|((~C)&D)|((~A)&C&D)|((~A)&(~C)&(~D));
d=(A&(~C))|((~B)&C&D)|((~A)&(~B)&(~D))|(B&(~C)&D)|(B&C&(~D)); e=(A&B)|(A&C)|((~B)&(~D))|(C&(~D));
f=(A&(~B))|(A&C)|((~C)&(~D))|((~A)&B&(~C))|(B&C&(~D)); g=(A&(~B))|(A&D)|(C&(~D))|((~A)&B&(~C))|((~A)&(~B)&C);
设置好输入时钟脉冲后,点击
进行仿真,然后分别点击查看输入输出信
号的示波器查看波形,如图3-13和图3-14所示,根据以下波形可以看出所设计的七段数码管,在给不同输入的情况下均可得到相应的正确的输出,即该设计符合设计要求。
图3-12 七段数码管原理图