Matlab的Simulink用JK触发器做五进制计数器

Matlab的Simulink用JK触发器做五进制计数器

介绍

万能的MATLAB实现一个五进制计数器,状态转换图如下:
Matlab的Simulink用JK触发器做五进制计数器
JK触发器的逻辑功能:
Matlab的Simulink用JK触发器做五进制计数器
如果使用简单便捷不画真值表不看公式不化简的方法,则考虑把JK触发器两端接一起,取1时输出取反,取0时输出保持不变。对于Q0,考虑当Q0 Q1 Q2状态为000或111时,J0、K0为1,Q0取反,其他情况J0、K0为0。对于Q1、Q2也是一样的思想。
即:
J0=K0=Q0Q1Q2+Q0Q1Q2J_0 =K_0= \overline{Q_0}·\overline{Q_1}·\overline{Q_2}+{Q_0}·{Q_1}·{Q_2}
J1=K1=Q0Q1Q2+Q0Q1Q2J_1 =K_1= {Q_0}·\overline{Q_1}·\overline{Q_2}+\overline{Q_0}·{Q_1}·{Q_2}
J2=K2=Q0Q1Q2+Q0Q1Q2J_2 =K_2= {Q_0}·{Q_1}·\overline{Q_2}+\overline{Q_0}·{Q_1}·{Q_2}

仿真图

用simulink拖出相应的器件连线
(注意信号发生器用Pulse Generator,有些器件要改为逻辑值)
Matlab的Simulink用JK触发器做五进制计数器
结果:
从上到下分别是:时钟、Q0、Q1、Q2
Matlab的Simulink用JK触发器做五进制计数器