基于matlab的组合逻辑电路设计和**。
作者】 马金龙。
摘要】 应用matlab语言设计数字电路的技巧和方法。本设计介绍了matlab/simulink**软件的功能,叙述了相关的“数字电路”,并以8线3线编码器、3线8线译码器、数据选择器等为例对其进行了**和分析。同时通过matlab汇编语言实现各逻辑电路的逻辑表达式,在给定输入信号的情况下验证各基本逻辑电路的功能。
引言】 利用matlab及simulink**软件强大的图形处理功能,符号运算功能和数值计算功能,实现常见的组合逻辑电路如编码器、译码器、数据选择器等逻辑电路的设计及**。本设计通过simulink**软件使用常见的与、或、非等基本逻辑单元,延时信号、时钟信号等信号源和示波器完成以上各种逻辑电路的设计和**。
方法】 以simulink**系统中的基本逻辑元件、时钟信号和示波器为核心进行编码器、译码器、数据选择器及七段数码管的输入输出波形的设计和**,并且通过3线8线译码器的元件封装和级联完成4线16线译码器输入输出波形的设计和**。。
在已创建的m文件下进行**验证。如:
8线3线编码器的验证码:
3线8线译码器的验证码:
4选1数据选择器验证码:
七段数码管的程序码验证:
结果展示】 simulink的**。
注释:(1)**界面“simulink”
(2)窗口“untitled”
1.8线3线编码器的设计和**。
进入simulink**界面后,按照8线3线编码器的逻辑表达式逐一拖入所需的原件并进行连接如图1-1所示:
1-1 8线3线编码器原理图。
**结果:1-2 8线3线编码器输出波形。
1-3 8线3线编码器输入波形。
根据以上波形可以看出,8线3线编码器在给定出入的情况下,均可得到相应的正确的输出。
说明:建立一个新的m文件,并对其命名为根据8线3线编码器的逻辑表达式,编写其程序见附录。
在command window窗口中输入m文件名,按enter键后在弹出的语句后面输入[1 0 0 0 0 0 0 0],再按enter键后输入ei的值为1,按enter键后就会显示数组的值为:1 1 1。同理输入不同的初始值会得到相应的输出数据,过程如图所示:
2.3线8线译码器的设计及**。
建立一个新的m文件,命名为根据3线8线译码器的逻辑表达式,编写其程序见附录。在command window窗口中输入按enter键后在弹出的语句后面输入[1 1 1],再按enter键后输入ei的值为1,按enter键后就会显示数组的值为:0 1 1 1 1 1 1 1。
同理输入不同的初始值会得到相应的输出数据,过程如图2-1所示:
图2-1 3线8线译码器程序验证。
进入simulink**界面后,按照3线8线译码器的逻辑表达式逐一拖入所需的原件并进行连接如图2-2所示:
2-2 3线8线译码器原理图。
**结果如图2-3和2-4所示:
2-3 3线8线译码器输入波形。
3线8线译码器输出波形。
根据以上波形可以知道,3线8线译码器在不同的输入下,可以得到相应的输出。
3.数据选择器的设计及**。
建立一个新的m文件,命名为根据4选1数据选择器的逻辑表达式,编写其程序见附录。
在command window窗口中输入按enter键后在弹出的语句后面输入[1 0 0 0],再按enter键后输入[ 0 0],按enter键后就会显示数组的值为:1。同理输入不同的初始值会得到相应的输出数据,过称如图3-1所示:
图3-1 4选1数据选择器程序验证。
进入simulink**界面后,按照4选1数据选择器的逻辑表达式逐一拖入所需的原件并进行连接如图3-2所示:
3-2 4选1数据选择器原理图。
**结果:3-3 4选1数据选择器输入输出波形。
建立一个新的m文件,命名为根据七段数码管的逻辑表达式,编写其程序见附录。
在command window窗口中输入按enter键后在弹出的语句后面输入[1 0 0 0],按enter键后就会显示数组的值为:1 1 1 1 1 1 1。同理输入不同的初始值会得到相应的输出数据,过程如图3-1所示:
图3-1 七段数码管程序验证。
3-2 七段数码管原理图。
**结果:3-3七段数码管输入波形。
3-4 七段数码管输出波形。
根据以下波形可以看出所设计的七段数码管,在给不同输入的情况下均可得到相应的正确的输出,即该设计符合设计要求。
具体应用如下:
1.1 8线3线编码器。
1.1.1 逻辑真值表:
1.1.2 逻辑表达式:
b2=ei&(~a7)&(a6)&(a5)&(a4)))
b1=ei&(~a7)&(a6)&(a5+a4+(~a3))&a5+a4+(~a2)))
b0=ei&(~a7)&(a6+(~a5))&a6+a4+(~a3))&a6+a4+a2+(~a1)))
2.1 3线8线译码器。
2.1.1 逻辑真值表:
2.1.2 逻辑表达式:
b7=ei&(~a2&a1&a0b6=ei&(~a2&a1&(~a0)))
b5=ei&(~a2&(~a1)&a0b4=ei&(~a2&(~a1)&(a0)))
b3=ei&(~a2)&a1&a0b2=ei&(~a2)&a1&(~a0)))
b1=ei&(~a2)&(a1)&a0b0=ei&(~a2)&(a1)&(a0)))
3.1 4选1数据选择器。
3.1.1 逻辑真值表:
3.1.2 逻辑表达式:
y=((s2)&(s1)&i0)|(s2)&s1&i1)|(s2&(~s1)&i2)|(s2&s1&i3)
4.1 七段数码管。
4.1.1七段数码管的译码电路真值表:
4.1.2 七段数码管译码电路逻辑表达式:
4.1.3 七段数码管使用的译码电路:
结论】 在数字电路中,通过设定输入信号就可以得到相应的正确的输出波形。通过利用matlab/simulink**工具,不仅建模简单,而且更改参数方便,**图形直观。此次设计中,没有更改相应的参数而进行验证**,尤其在simulink**环境下作图困难较大,而且对其封装极为不熟,这是本次设计实验中存在的疑惑之处。
参考文献。1] 陈怀琛,matlab及在电子信息课程中的应用[m].北京:电子工业出版社,2003
2] 廖常初,s7-300/400plc应用技术[m].北京:机械工业出版社,2005
3] 张志涌。 精通matlab6.5版(第一版) .北京:北京航空航天大学出版社,2003.03.
4] 蒙以正。 应用与技巧。 北京:科学出版社,1999.
5] 阮沈勇、王永利。 matlab程序设计。 北京:电子工业出版社,2004.01.
6] 陈怀琛。 matlab及在电子信息课程中的应用。 北京:电子工业出版社, 2003.07.
7] 黄忠霖、黄京著。 matlab符号运算及其应用。 北京:国防工业出版社,2004.01.
8] 康华光。电子技术基础数字部分(第五版).高等教育出版社,2005.7.
致谢】作为我个人,非常感谢老师提供的此次设计报告的机会,让我从中吸取了丰富的只是,感受颇深。同时也感谢那些私下帮我寻找资料、相关文献的同学们。老师课堂上的授业,同床好友的支持和帮助,是我完成此次设计报告的主要原因。
在设计过程当中,很直白的就能发现自己在这一方面的欠缺,以后更加要补其不足,努力学好相关的课程。最后,再一次感谢帮助过我的良师益友。
附录】1.8线3线编码器源程序:
a=input('please input a7 a6 a5 a4 a3 a2 a1 a0:')
ei=input('piease input ei:')
a7=a(1); a6=a(2);
a5=a(3); a4=a(4) ;
a3=a(5) ;a2=a(6);
a1=a(7); a0=a(8) ;
b2=ei&(~a7)&(a6)&(a5)&(a4)))
b1=ei&(~a7)&(a6)&(a5+a4+(~a3))&a5+a4+(~a2)))
b0=ei&(~a7)&(a6+(~a5))&a6+a4+(~a3))&a6+a4+a2+(~a1)))
b=[b2 b1 b0];
disp(b);
2.3线8线译码器源程序:
a=input('please input a2 a1 a0:')
a2=a(1); a1=a(2); a0=a(3);
ei=input('pllease input ei:')
b7=ei&(~a2&a1&a0));
b6=ei&(~a2&a1&(~a0)))
b5=ei&(~a2&(~a1)&a0));
b4=ei&(~a2&(~a1)&(a0)))
b3=ei&(~a2)&a1&a0));
matlab设计作业
1.在同一个图形窗口内画出衰减 曲线及其包络线,取值范围是 0,6pi t 0 pi 100 6 pi y1 exp 3 t cos t 2 y2 exp 3 t t3 pi 0 9 9 y3 exp 3 t3 plot t,y1,r t,y2,b t3,y3,bo 2.画出所表示的三维曲面。x,y...
作业 Matlab设计
作业1 噪声时域信号分析。fft的用途之一就是找出隐藏或淹没在噪声时域信号中信号的频率成分。首。1 先建立试验数据 比如设数据的采样频率为1000hz,给出时间坐标区间从t 0到t 0.25,步长0.001秒 2 其次生成一个包含两个频率成分的试验信号 比如50hz和120hz正弦波信号 3 对这个...
matlab作业设计
计算机 及应用 课程设计报告书。目录。一 设计思想。二 设计步骤。三 调试过程。四 结果分析。五 心得体会。1 编写matlab程序,建立该系统的数学模型。对系统进行阶跃响应 脉冲响应分析 求取给定输入u t sin t cos t 时的响应 绘制系统bode图和根轨迹。一 设计思想因为其为单输入单...