На jk триггерах серии К 155 спроектировать асинхронный счетчик, считывающий до 40.
Выход счетчика двоично-кодированное десятичное число.
Предусмотреть остановку счетчика по достижении конца счета и возможность повторного счета после его обнуления вручную.
Вот что получилось(схема):
Спойлер
Подскажите верно ли решение, или можно было как-то по другому сделать?
Сомнения в том что в серии к155 есть триггер К155ТВ1 с логикой на входе, можно ли как-то построить счетчик согласно заданию без использования логики U7 и U8(см. схему)?
Это не счётчик, это бардак. Набор элементов. Там никто ничего не считает.
А код двоично-кодированный десятичный - вообще не понятно что.
Ну в смысле, понятно что вывод, предположительно, на семисегментник. Но в числе 40 2 разряда десятичных.
Счётчики строят на d-триггерах. JK может работать в таком режиме...
Да как это "Там никто ничего не считает" ?
Поищите информацию на тему синхронный суммирующий счетчик на jk триггерах,там именно так и считают.
А на счет d триггеров в задании четко сказано на jk триггерах.
По вашей логике если бы сказали спроектировать на RS триггерах - rs легко превращается в jk, jk в d триггер и проектируем счетчик на d триггерах что ли????
Мне просто интересно можно ли остановить счет на 40 без использования логики?
J и K висят в воздухе. Будем предполагать, что там "1". Так не делается. На физическом устройстве.
На базе JK-триггера возможно построить D-триггер или Т-триггер. Как можно видеть в таблице истинности JK-триггера, он переходит в инверсное состояние каждый раз при одновременной подаче на входы J и K логической 1. Это свойство позволяет создать на базе JK-триггера Т-триггер, объединив входы J и К. Это из Вики. Книгу лень искать...
D-триггер, так и называется, счётный триггер, который делит вход на 2. Таким образом ведётся двоичный счёт. По цепочке.
И, самое интересное, выход двоично-десятичный? Тогда где второй разряд?
Давайте пока что со счётом разберёмся, потом с предельными значениями (40), потом с выводом информации. Курсовуха?
И ещё, не поленился, поискал - j и к подтянуты на "плюсик" и там нарисован индикатор с 16-ричным входом, т.е. предполагается наличие дешифратора...
насчёт где второй разряд - ну, поясню. И до этого был пост, где Вам сказали про BCD.
По Вашему заданию не понятно, нужен ли вообще вывод на индикаторы???
Если нет, то чистая двоичка. Если да, то двоично-десятичный (BCD который, два разряда). И перевод слова BCD достаточно вольный. Видимо, переводчик из интернета. Подумайте над изучением английского. А он не сложный...
На входе JK-триггера имеется логика И, которую можно использовать в своих целях. Без дополнительных элементов не обойтись. Вам нужно "собрать цифру в кучу" и сделать сброс. А вообще, вся логика 155, 176 серии и иже с ними, даже современных процессоров, базируется на логике И-НЕ (ну это, если Вы не в курсе). Из этой логики можно получить все 16 основных функций логики: отрицание, импликация, И, ИЛИ, исключающее ИЛИ и т.д. И триггеры, достаточно легко преобразуются друг в друга, если Вы знаете теорию...
Разберитесь с двоичным счётом, доформулируйте задачу (я про индикацию) или дайте полный её текст и поприкалываемся...
azattt90 писал(а):Спасибо,вот на счет того что j и k садим на 1 забыл.
Тогда где второй разряд?
не совсем понял,для того что бы посчитать до 40 нужно 6 разрядов, т.е. 40 это 101000..
Тебе по заданию двоичнокодированное десятичное число нужно, а ты получил шеснадцатеричное число.
Если твою феню "двоичнокодированное десятичное число" перевести на нормальный гражданский язык, то получаем...Спроектировать на JK-триггерах асинхронный двоичнодесятичный счетчик, останавливающийся на значении 40 с возможностью возобновить счет сброса состояния счетчика в ручную"...
Отсюда следует, что твой двоичный счетчик не годен для решения задачи, и препод тебе поставит неуд.
Кстати, 155серия может работать и со свободными входами. Только эта серия в силу своего внутреннего устройства воспринимает за логическую 1 свободно висящий вход. Так что можно и так, как сделал в первый раз, но!...Свободновисящий вход в цифровой логике это мовитон...
Вот переделал, считает в BCD. Теперь правильно?
Спойлер
Триггеры U4-U7 сбрасываются в ноль логикой U8 когда придет 10-тый(1010) импульс и повышает старший разряд на 1(U1-U3).
Остановка счета: когда досчитаем до 4(100) на инверсном выходе U3 появиться "0" ,соответственно на входах J1,J2,J3 у U4 появиться "0",счет остановиться.
Это не счётчик в BCD. Вы вообще суть вопроса понимаете?
BCD - это двоично-десятичный счётчик. Набор цифр = {0-9} на базисе 16-рички.
То, что Вы подключаете на индикатор - это двоичка. В физике, там для индикации должен, вообще, стоять ещё дешифратор.
То, что Вы разделили счётчики по 4 - это не BCD. И схема сброса идёт на вход тактирования? И один разряд на землю? Ну уж, извините, но это маразм. Или полное непонимание предмета...
azattt90 писал(а):Вот переделал, считает в BCD. Теперь правильно?
Триггеры U4-U7 сбрасываются в ноль логикой U8 когда придет 10-тый(1010) импульс и повышает старший разряд на 1(U1-U3).
Остановка счета: когда досчитаем до 4(100) на инверсном выходе U3 появиться "0" ,соответственно на входах J1,J2,J3 у U4 появиться "0",счет остановиться.
Почти правильно. Вход J это синхронная установка в 1. Соответственно, триггер U4 сначала по спаду синхро импульса установится в 1 и только потом счет остановится... на 41. Потом вы нажимаете кнопку и счет начнется не с 00, а с 01.
Естественно напрямую семисегментный индикатор не включают на выходы триггеров вашего счетчика, а только через дешифраторы/преобразователи двоичнодесятичного кода в код семисегментного индикатора.
Это не счётчик в BCD. Вы вообще суть вопроса понимаете?
Двоично-десятичный код (англ. binary-coded decimal), BCD, 8421-BCD — форма записи целых чисел, когда каждый десятичный разряд числа записывается в виде его четырёхбитного двоичного кода.
Например, десятичное число 31110 будет записано в двоичной системе счисления в двоичном коде как 1 0011 01112, а в двоично-десятичном коде как 0011 0001 0001BCD.
Т.е. 40 это 1000 0000 BCD.
А теперь возьмите выходы триггеров U3-U0(первая тетрада) U7-U4(вторая тетрада) - разве это не будет bcd?
И один разряд на землю?
Попробуйте в proteuse этот индикатор с одним висящим входом запустить)
Естественно напрямую семисегментный индикатор не включают на выходы триггеров вашего счетчика, а только через дешифраторы/преобразователи двоичнодесятичного кода в код семисегментного индикатора.
Спасибо, буду иметь ввиду))
Вход J это синхронная установка в 1
Просто в серии К155 когда на J входе нуль, а на входе K единица. При таком состоянии на JK входах первым же импульсом на входе C триггер установится в нуль (сбросится). В эмуляции вроде правильно работает.
Все же Вы не понимаете сути.
Вы сами процитировали: BCD - форма записи целых чисел, когда каждый десятичный разряд числа записывается в виде его четырёхбитного двоичного кода.
А затем пишете:
azattt90 писал(а):Например, десятичное число 31110 будет записано в двоичной системе счисления в двоичном коде как 1 0011 01112, а в двоично-десятичном коде как 0011 0001 0001BCD.
Сколько десятичных разрядов у числа десятичного числа 31110? Пять разрядов! А значит, и тетрад должно быть пять, а не три, как написали Вы:
azattt90 писал(а):0011 0001 0001BCD.
Основной смысл BCD-представления числа, что обнуление тетрады идет по основанию десять. Вот пример BCD-представления для двухразрядного десятичного числа:
Число "40" у Вас десятичное? Или какое?
Для десятичного числа 40 BCD-форма будет 0100 0000. А в Вашем примере 1000 0000 BCD - это 80 DEC.
Ваша схема абсолютно нечитаема. Учитесь рисовать читаемые схемы. Суть BCD-преобразования в том, что тетрада должна обнуляться после состояния 1001 BIN (9 DEC). Где это в Вашей схеме, я не увидел.
Очень смешно. Нет там ничего правильного.
Схема - вообще какой-то бред воспаленного мозга. Младшая тетрада должна обнуляться после состояния 1001 BIN. Где на схеме цепь такого обнуления?
На принципиальных схемах, вообще-то, ГОСТ требует ставить точки в местах соединения проводников. На схеме тредстартера этого нет, поэтому в некоторых местах схемы просто невозможно понять, правильно ли сделал автор.
Автору кажется, что его схема "считает в BCD" потому, что он не знает твердо, как должно выглядеть BCD-представление чисел.
Еще раз приведу таблицу сравнения форматов для того, чтобы автор понял, чем BCD отличается от BIN
azattt90, даст ли Ваша схема те BCD-коды, которые я привел? Обратите внимание на итерации 11, 21 и 31. Видите, как скачком изменяется BCD-форма числа? При этом в формате BIN ничего такого не происходит, там наблюдается монотонное возрастание. Прежде, чем схему рисовать, надо понять суть и смысл.
Число "40" у Вас десятичное? Или какое?
Для десятичного числа 40 BCD-форма будет 0100 0000. А в Вашем примере 1000 0000 BCD - это 80 DEC.
Это я просто перепутал, совершенно верно,будет 0100 0000, так и есть.
Очень смешно. Нет там ничего правильного.
Схема - вообще какой-то бред воспаленного мозга. Младшая тетрада должна обнуляться после состояния 1001 BIN. Где на схеме цепь такого обнуления?
Цепь обнуления на логике
Ребята,это не совсем схема, вы не совсем понимаете что это, это проект эмуляции в Proteus, т.е. я составляю схему и она работает в режиме реального времени,я вижу как она работает,считает до 40 и обнуляется кнопкой ))))
azattt90, даст ли Ваша схема те BCD-коды, которые я привел?
Попробуйте запустите эмуляцию,проект прилагаю, а потом уже утверждайте что схема не рабочая.
Просто первая тетрада считает только до 4,нужно только три разряда,три триггера,абстрактно принимаем что на 4 разряде для полной тетрады всегда ноль, поэтому и один вход сегментника посажен на землю,там всегда ноль.
Вот сам проект,попробуйте
azattt90 писал(а):Обнуляется же она не на 1001 а на 1010
Вы внимательно прочли то, что я написал? Цитирую себя:
Alkul писал(а):Младшая тетрада должна обнуляться после состояния 1001 BIN
Это означает, что код 1001 BIN должен появиться на выходах триггеров, а вот ПОСЛЕ него должен быть код 0000 BIN.
azattt90 писал(а):Попробуйте запустите эмуляцию
Я не пользуюсь протеусом, равно как и другими симуляторами. Для проектирования таких вещей мне не нужен симулятор кроме того, который имеется у меня в голове. А всматриваться в приведенное Вами неряшливое подобие принципиальной схемы и портить зрение мне как-то не хочется.
azattt90 писал(а):Все же это Вы как раз таки не понимаете сути.
Да, особенно вот эта фраза особенно хороша:
azattt90 писал(а):Например, десятичное число 31110 будет записано в двоичной системе счисления в двоичном коде как 1 0011 01112, а в двоично-десятичном коде как 0011 0001 0001BCD.
azattt90 писал(а):а потом уже утверждайте что схема не рабочая
А что, рабочая, что-ли? С висящими в воздухе входами микросхем и подачей BCD-кода на семисегментные индикаторы... Возьмите паяльник и спаяйте эту схему в реальности. Думаете, заработает?
Эх, жаль, что я не препод. С какой радостью я бы дрючил таких студентов, для которых работающая компьютерная симуляция есть критерий правильности схемы
Только что-то слишком часто на форуме появляются беспомощные темы - "Помогите, в протеусе все симулируется правильно, а спаял реальную схему - и не работает..."
Так то это не моя фраза я её только скопировал,откройте википедию раздел BCD. Что там не так в этой фразе?
Я не пользуюсь протеусом, равно как и другими симуляторами. Для проектирования таких вещей мне не нужен симулятор кроме того, который имеется у меня в голове. А всматриваться в приведенное Вами неряшливое подобие принципиальной схемы и портить зрение мне как-то не хочется.
А вот если бы пользовались то убедились бы что именно так и происходит:
Это означает, что код 1001 BIN должен появиться на выходах триггеров, а вот ПОСЛЕ него должен быть код 0000 BIN.