用D型触发器和必要的门电路设计可控同步计数器. X=1时, 计数器输出Q3Q2Q1状态转换为000->011->110->000; X=0时, 状态转换为000->010->100->110->000
根据题目的描述, 我们可以得到状态表:
状态表 | ||||||
X | Q3 | Q2 | Q1 | Q3* | Q2* | Q1* |
0 | 0 | 0 | 0 | 0 | 1 | 0 |
0 | 0 | 0 | 1 | × | × | × |
0 | 0 | 1 | 0 | 1 | 0 | 0 |
0 | 0 | 1 | 1 | × | × | × |
0 | 1 | 0 | 0 | 1 | 1 | 0 |
0 | 1 | 0 | 1 | × | × | × |
0 | 1 | 1 | 0 | 0 | 0 | 0 |
0 | 1 | 1 | 1 | × | × | × |
1 | 0 | 0 | 0 | 0 | 1 | 1 |
1 | 0 | 0 | 1 | × | × | × |
1 | 0 | 1 | 0 | × | × | × |
1 | 0 | 1 | 1 | 1 | 1 | 0 |
1 | 1 | 0 | 0 | × | × | × |
1 | 1 | 0 | 1 | × | × | × |
1 | 1 | 1 | 0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 | × | × | × |
根据状态表绘制状态激励表:
状态激励表 | ||||||
X | Q3 | Q2 | Q1 | D3 | D2 | D1 |
0 | 0 | 0 | 0 | 0 | 1 | 0 |
0 | 0 | 0 | 1 | × | × | × |
0 | 0 | 1 | 0 | 1 | 0 | 0 |
0 | 0 | 1 | 1 | × | × | × |
0 | 1 | 0 | 0 | 1 | 1 | 0 |
0 | 1 | 0 | 1 | × | × | × |
0 | 1 | 1 | 0 | 0 | 0 | 0 |
0 | 1 | 1 | 1 | × | × | × |
1 | 0 | 0 | 0 | 0 | 1 | 1 |
1 | 0 | 0 | 1 | × | × | × |
1 | 0 | 1 | 0 | × | × | × |
1 | 0 | 1 | 1 | 1 | 1 | 0 |
1 | 1 | 0 | 0 | × | × | × |
1 | 1 | 0 | 1 | × | × | × |
1 | 1 | 1 | 0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 | × | × | × |
根据状态激励表, 求出D3、D2、D1的逻辑表达式:
D3=Q1+Q3异或Q2. | ||
D2=Q2'+Q1. | ||
D1=XQ2'. |
根据状态激励方程求出状态方程:
Q3*=D3=Q1+Q3异或Q2. | ||
Q2*=D2=Q2'+Q1. | ||
Q1*=D1=XQ2'. |
根据求出的状态方程, 将无效状态对应的次态填充到状态表中, 并据此验证电路的自启动功能:
电路自启动检查 | ||||||
X | Q3 | Q2 | Q1 | Q3* | Q2* | Q1* |
0 | 0 | 0 | 0 | 0 | 1 | 0 |
0 | 0 | 0 | 1 | 1 | 1 | 0 |
0 | 0 | 1 | 0 | 1 | 0 | 0 |
0 | 0 | 1 | 1 | 1 | 1 | 0 |
0 | 1 | 0 | 0 | 1 | 1 | 0 |
0 | 1 | 0 | 1 | 1 | 1 | 0 |
0 | 1 | 1 | 0 | 0 | 0 | 0 |
0 | 1 | 1 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 0 | 0 | 1 | 1 |
1 | 0 | 0 | 1 | 1 | 1 | 1 |
1 | 0 | 1 | 0 | 1 | 0 | 0 |
1 | 0 | 1 | 1 | 1 | 1 | 0 |
1 | 1 | 0 | 0 | 1 | 1 | 1 |
1 | 1 | 0 | 1 | 1 | 1 | 1 |
1 | 1 | 1 | 0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 | 1 | 1 | 0 |
根据完整的状态表可知, 电路已具备自启动功能(此处状态图略, 读者可根据完整的状态表进行绘制).
根据上述分析, 绘制出电路的原理图: