Цифровая логика - карта Карно
Начальная проблема начинается следующим образом. Есть 6 штатов. В каждом состоянии, когда w=1, переходят в следующее состояние, когда w=0, а затем остаются в текущем состоянии. В каждом состоянии отображать номер с помощью стандартного 7 светодиодного дисплея (BCD). Эти цифры 8 -> 1 -> 9 -> 4 -> 2 -> 2.
Итак, вот моя попытка решить эту проблему. Я начинаю с таблицы состояний: слева направо y2,y1,y0
w=0 w=1 a b c d e f g
000|000 001 1 1 1 1 1 1 1
001|001 010 0 1 1 0 0 0 0
010|010 011 1 1 1 1 0 1 1
011|011 100 0 1 1 0 0 1 1
100|100 101 1 1 0 1 1 0 1
101|101 000 1 1 0 1 1 0 1
Тогда уравнения Yo Y1 и Y2 сделаны с использованием карт Карно
y1.y0 _ _
w.y2 00 01 11 10 Y0 = w.y0 + w.y0
00 0 1 1 0
01 0 1 d d
11 1 0 d d
10 1 0 0 1
y1.y0 _ _ _ _
w.y2 00 01 11 10 Y1 = w.y1 + w.y2.y1.y0 + w.y1.y0
00 0 0 1 1
01 0 0 d d
11 0 0 d d
10 0 1 0 1
y1.y0 _ _ _ _
w.y2 00 01 11 10 Y2 = w.y2 + y2.y1.y0 + w.y1.y0
00 0 0 0 0
01 1 1 d d
11 1 0 d d
10 0 0 1 0
Затем для выходов необходимо создать дополнительные карты.
Y1.Y0 _ _
Y2 00 01 11 10 a = Y2 + Y0.Y2
0 1 0 0 1
1 1 1 d d
Y1.Y0
Y2 00 01 11 10 b = 1
0 1 1 1 1
1 1 1 d d
Y1.Y0 _
Y2 00 01 11 10 c = Y2
0 1 1 1 1
1 0 0 d d
Y1.Y0 _ _
Y2 00 01 11 10 d = Y2 + Y0.Y2
0 1 0 0 1
1 1 1 d d
Y1.Y0 _ _ _
Y2 00 01 11 10 e = Y2 + Y0.Y1.Y2
0 1 0 0 0
1 1 1 d d
Y1.Y0 _ _
Y2 00 01 11 10 f = Y2.Y0 + Y1
0 1 0 1 1
1 0 0 d d
Y1.Y0 _ _
Y2 00 01 11 10 g = Y1 + Y2 + Y1.Y0
0 1 0 1 1
1 1 1 d d
В настоящее время я использую 3-битный D-триггер для создания 6 входов.
Дисплей показывает.
_ _ _
|_| | |_| |_| |
|_| | _| | |_ _
Есть ли ошибка с логикой или возможно, что счетчик мог создать эту проблему?
2 ответа
Повторный набор всего вопроса помог мне разобраться в той части, которая была сделана неправильно.
Проблема была в карте Карно Y2.
Просматривая результаты, я смог увидеть, какие контакты не работали, и проследить их до источника ошибки.
Как я понимаю, у вашего конечного автомата есть 6 состояний? А в двух последних штатах должна отображаться одна и та же цифра?
Я думаю, что это возможно сделать с помощью триггеров.
1) Подключите каждый выход T-триггера к входу следующих трех триггеров, необходимых для удержания 6 состояний.
2) Вам нужна "схема сброса", которая сбрасывает все триггеры, когда комбинация на выходах равна 110 (6). Таким образом, выходные данные на w=1 из T триггеров будут следующими: 000 w 001 w 010 w 011 w 100 w 101 w 110->000* w 001 и т. Д. (* Reset переводит триггеры в исходное состояние). Это первая функция: RST.
3) Вам необходимо создать кодировщик, который конвертирует коды от 0 до 5 в 7 сигналов на светодиодный дисплей.
Итак, таблица biuilt ruth будет выглядеть следующим образом:
#TABLE: t3,t2,t1 => a,b,c,d,e,f,g,RST
000 => 11111110
001 => 01100000
010 => 11110110
011 => 01100110
100 => 11011010
101 => 11011010
110 => 00000001
111 => 00000000
Создайте 8 K-Maps и сверните их или используйте любой другой метод минимизации. Я получил это результаты:
a = t3 !t2 | !t3 !t1;
b = !t3 | t3 !t2;
c = !t3;
d = t3 !t2 | !t3 !t1;
e = !t2 !t1 | t3 !t2;
f = !t3 t2 | !t3 !t1;
g = !t3 t2 | t3 !t2 | !t3 !t1;
RST = t3 t2 !t1;