Есть ли такой дешифратор ?
- Сообщения: 127
- Зарегистрирован: Ср апр 06, 2011 13:41:11
Есть ли такой дешифратор который преобразует для семисегментного индикатора знаки 0 1 2 3 4 5 6 7 8 9 a b c d e f , типа к514ид1 или 2 ?
- Реклама
- Сообщения: 127
- Зарегистрирован: Ср апр 06, 2011 13:41:11
К514ИД4 и К564ИК2.Alex-DJ писал(а):Есть ли такой дешифратор который преобразует для семисегментного индикатора знаки 0 1 2 3 4 5 6 7 8 9 a b c d e f , типа к514ид1 или 2 ?
Ну, или самодельный на ППЗУ К155РЕ3
Уже это обсуждалось. Советских фактически нет, хотя номинально какие-то были. Делали раньше на 155РЕ3, но это печка, жрущая 100 мА. Но есть ли выход? Да! Вот программв на асме для любого AVR (лучше ATtiny) с подходящим количеством портов:
;Программа дешифратора, преобразует 4-битовый код
;в цифры 7-сегментного индикатора
;0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
.INCLUDE "M32DEF.INC" ;Файл, соответствующий примененному МК
.ORG 0
LDI R16, 0 ;Порт A - вход (4 младших бита), команды не обязательны
OUT DDRA, R16 ;так как DDRA=0 при включении питания
LDI R16, 0xFF ;Порт B - выход (7 младших битов)
OUT DDRB, R16
LDI R31, 0x0F*2 ;Загрузка старшего байта регистра Z
MYLOOP:
IN R30, PINA ;Загружаем цифру из порта A в младший байт регистра Z.
ANDI R30, 0x0F ;Оставляем 4 младших байта, старшие обнуляем
LPM ;Загрузка в R0 константы из памяти программ (по адресу Z)
OUT PORTB, R0 ;Вывод константы в порт B
RJMP MYLOOP ;Переход на загрузку новой цифры (бесконечный цикл)
.ORG 0xF00 ;По этому адресу разместятся константы в памяти программ
;Константы определят, какие сегменты зажгутся для цифр
;Для 7-сегментных индикаторов с ОК (общим катодом)
.DB 63,6,91,79,102,109,125,7,127,111,119,124,57,94,121,113
;Для 7-сегментных индикаторов с ОА (общим анодом)
;.DB 64,121,36,48,25,18,2,120,0,16,8,3,70,33,6,14
Спойлер
Вот, для АТмега32, но надо переделать на другую AVR, более подходящую. Используется внутрений RC-тактовый генератор и внутренняя цепь сброса, так что никаких внешних деталей не нужно. Фьюзы не менять, оставить по умолчанию.;Программа дешифратора, преобразует 4-битовый код
;в цифры 7-сегментного индикатора
;0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
.INCLUDE "M32DEF.INC" ;Файл, соответствующий примененному МК
.ORG 0
LDI R16, 0 ;Порт A - вход (4 младших бита), команды не обязательны
OUT DDRA, R16 ;так как DDRA=0 при включении питания
LDI R16, 0xFF ;Порт B - выход (7 младших битов)
OUT DDRB, R16
LDI R31, 0x0F*2 ;Загрузка старшего байта регистра Z
MYLOOP:
IN R30, PINA ;Загружаем цифру из порта A в младший байт регистра Z.
ANDI R30, 0x0F ;Оставляем 4 младших байта, старшие обнуляем
LPM ;Загрузка в R0 константы из памяти программ (по адресу Z)
OUT PORTB, R0 ;Вывод константы в порт B
RJMP MYLOOP ;Переход на загрузку новой цифры (бесконечный цикл)
.ORG 0xF00 ;По этому адресу разместятся константы в памяти программ
;Константы определят, какие сегменты зажгутся для цифр
;Для 7-сегментных индикаторов с ОК (общим катодом)
.DB 63,6,91,79,102,109,125,7,127,111,119,124,57,94,121,113
;Для 7-сегментных индикаторов с ОА (общим анодом)
;.DB 64,121,36,48,25,18,2,120,0,16,8,3,70,33,6,14
- Реклама
Действительно.... Про 564ик2 мы уже обсуждали. И про РТ-шки , РЕ-шки и про мк... И не один раз.
Тема дубль .
Евгений Николаевич ! (aen) Ау ! Вы же обычно дубли отслеживаете и переносите,
( и пишете "Ваша тема дубль. Перенёс сюда." ), а сейчас что то видимо ещё не заметили...
Тема дубль .
Евгений Николаевич ! (aen) Ау ! Вы же обычно дубли отслеживаете и переносите,
( и пишете "Ваша тема дубль. Перенёс сюда." ), а сейчас что то видимо ещё не заметили...
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста


