基于SIMULINK的计数译码显示电路的仿真

2016-08-29 02:14广西机电职业技术学院甘庆玉
电子世界 2016年15期
关键词:译码器触发器数码管

广西机电职业技术学院 甘庆玉



基于SIMULINK的计数译码显示电路的仿真

广西机电职业技术学院甘庆玉

在Simulink环境下包含着许多典型的数字电路仿真模块。本文先以计数器为例,根据其逻辑功能,采用触发器来实现,并封装成模块。然后利用组合逻辑电路设计出译码电路模块,接着设计了LED数码管显示电路,并将三者组合成计数译码显示系统仿真模型。设计与仿真结果验证了此设计的正确性和可靠性,同时也表明,运用Simulink进行对电路虚拟仿真,可以方便、有效地进行数字电子电路的设计和分析。

S imulink;计数模块;译码模块;显示电路;仿真

1 引言

MATLAB软件是美国MathWorks公司开发的数学软件,可以开发算法、计算数值、可视化数据以及分析数据。Simulink是MATLAB重要的组成部件。在Simulink环境中,只需要通过简单直观的鼠标操作,给各模块连线,就可以建立系统模型,设置系统参数和输出方式来观察仿真结果。

在数字电路的设计、分析时,经常会用到Simulink提供的Logic and Bit Operations(逻辑和位操作)模块库、Simulink Extras模块库里的Flip Flops(触发器)模块库,以及Sources信号源模块库和Sink(接收)模块库等。Logic and Bit Operations(逻辑和位操作)模块库里有面向数字逻辑电路的常用逻辑和位操作模块,比如基本的AND与(OR或、NOT非)运算、Combinatorial Logic组合逻辑运算、Compare To Constant常数比较器、Compare To Zero与零比较器、Bit Clear位清零、Bit Set位置位等;Flip Flops(触发器)模块库里有SR触发器、D触发器、JK触发器3种典型触发器;常用的数字电路输入信号源,比如Pulse Generator时钟脉冲信号、Signal Generator信号发生器等由Sources信号源模块库提供;Sink(接收)模块库里提供了虚拟的显示仪器,有Scope示波器、Display输出显示器等,对仿真结果可视化,方便分析测试。本文结合十进制计数译码显示电路的设计,在Simulink环境下,先利用JK触发器实现上升沿触发的十进制计数器,再利用组合逻辑电路设计出译码模块,最后设计LED数码管显示电路,将三者组合成综合的计数译码显示系统,并进行了仿真测试。

2 创建电路

2.1计数器模块

设计计数器电路的目的是在一定时间测出输入的脉冲数目。利用Simulink可以很方便地实现任意进制的计数器,同步或异步、加法或减法,但是在Flip Flops(触发器)模块库里的JK触发器是下降沿触发。为了实现上升沿触发,参照Simulink里的JK触发器内部结构,封装了一个JKFFup的子系统,时钟采用上升沿触发,并设置了初始变量initital_condition=0,如图1、2所示。

图1 封装的JKFFup模块

  图2 JKFFup模块的参数设置

十进制计数器一共是10个状态,需要用4个JK触发器。然后根据JK触发器的特征方程和10个状态转换(从0000到1001),用卡诺图化简得出激励方程:

图3 十进制计数器电路图

最后根据激励方程画出由JK触发器组成的十进制计数器的电路图。如图3所示。

也将此十进制计数器电路做为一个子系统,封装成Counter10模块。从Flip Flops(触发器)模块库里调用Clock 时钟提供一个数字时钟信号,周期设为1,与Counter10模块的CLK连接;从Sink(接收)模块库里调用Scope示波器,设置4个输入通道。将这4通道与Counter10模块的输出Q3、Q2、Q1、Q0连接。仿真运行时间设置为11s。观察示波器的输出图,如图4所示。

图4 十进制计数器电路输出波形

由图4计数器电路输出的波形可以看出随着Clock时钟脉冲的到来,计数器Counter10模块的输出Q3Q2Q1Q0状态从0000、0001、...、1001周而复始地变化,正好实现模为10的计数器。

图5 数字显示译码器电路

2.2数字显示译码器(见图5)模块

在Simulink软件里,没有专门的数字显示译码器电路。先根据译码器驱动7段数码管显示数字的原理,写出真值表(可以参照BCD七段字符显示译码器7448的真值表)。根据真值表,用卡诺图化简(同时考虑相同因子),得出驱动7段数码管的信号的表达式为:

其中,译码器输入信号A3~A0分别与Counter10计数模块的输出Q3~Q0连接。译码器输出信号Ya~Yg分别控制7段数码管的a段~g段的发光二极管。

2.3数码管显示电路

为了形象地表达数码二极管的工作原理,这里用7个绿色LED来组装成一个七段数码管,高电平点亮方式。绿色LED用Simulink软件Gauges Blockset(仪表对象箱)模块库里的子模库LEDs里的Green Rec来表示。但由于Green Rec元件是受double型数据控制,但译码电路模块输出是boolean型数据,所以从Signal Attributes(信号属性)模块库里调用Data Type Conversion实现数据类型转换。

将计数模块、译码模块、数码显示电路组合成一个系统,并给系统加上时钟脉冲信号源,如图6所示。

3 仿真运行分析

设置不同的仿真时间,进行系统仿真,观察仿真结果。得到的结果如图7所示。

图7 仿真结果

可以看出在对应的脉冲个数到来时,数码管显示模块显示出对应的数码。经此验证,所设计的十进制计数译码显示电路的逻辑功能是正确的。

4 结语

本文运用Simulink软件,设计了十进制计数模块、BCD数码显示译码模块和数码管显示模块,并将三者组合连接,建立起十进制计数译码显示系统的仿真模型。从Scope示波器观察到的仿真波形和自创的数码管显示模块的输出数码来看,仿真模型达到了设计要求。

利用Simulink来设计与仿真十进制计数译码显示电路的方法,能够高效、快速地构建出仿真系统模型,直观形象地展示结果。这种方法,不仅可以提高在教学效率和上课效果,而且可以提高学生的学习兴趣,加深对整个系统工作原理的理解。运用Simulink进行对电路虚拟仿真,可以方便、有效地进行数字电子电路的设计和分析,为各种数字电子电路设计和分析提供一种有效的方法。

[1]阎石.数字电子技术基础[M].北京:高等教育出版社,2006.

[2]彭晗,林永和,杨奕琦.MATLAB/Simulink仿真技术在模拟与数字电路教学中的应用[J].计算机时代,2010(10):69-71.

[3]高春芳.Simulink在数字电路仿真中的应用[J].安庆师范学院学报(自然科学版),2005,8:78-81.

The simulation of the count-decode-display circuit based on SIMULINK

Gan Qing Yu
(Guangxi Technological College of Machinery and Electricity ,Nanning,530007)

Simulation modules related to digital circuit are offered in Simulink.In this paper,at first,counter is designed by using triggers according to its logic function,and packaged into a module.Then,the decoder module is built by using combinational logic circuit,and the LED displaying circuit also. Finally all three circuits are combined into a count-decode-display system.The simulation results verify the correctness and reliability of the design,and also show that the design or analysis of digital circuits can be carried out conveniently and effectively by using software of Simulink to simulate the circuit.

S imulink;counter module;decoder module;display circuit;simulation

甘庆玉(1978—),女,广西南宁人,广西大学硕士,广西机电职业技术学院讲师,研究方向:电子信息与通信。

猜你喜欢
译码器触发器数码管
浅谈时序逻辑电路的成长记忆
微课教学设计之“数码管动态显示”
Arduino编程
MC9S08FL16单片机数码管静态显示分析
高速码率兼容DVB-S2的LDPC译码器的FPGA实现
单片机控制的四位数码管动态显示编程
编码器和译码器综合实现数字显示
跟踪导练(一)5
使用触发器,强化安全性
Turbo码嵌入比特交织编码调制系统的一种新的迭代时序方案