Например TDA7294

Форум РадиоКот • Просмотр темы - КР1816ВЕ39 с расширителем портов NEC D8243. Проблема.
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт апр 16, 2024 18:08:09

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 37 ]    , 2
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: КР1816ВЕ39 с расширителем портов NEC D8243. Проблема.
СообщениеДобавлено: Вт фев 07, 2017 22:55:17 
Друг Кота

Карма: 45
Рейтинг сообщений: -17
Зарегистрирован: Вт фев 21, 2012 13:51:55
Сообщений: 5114
Откуда: Начинающий
Рейтинг сообщения: 0
Голимый писал(а):
.. никаких дешифраторов, буду использовать готовый китайский модуль* ... SPI .. разобраться с регистрами MAX-a ..

.. благодарность** ..
*_"Не пришивают заплаты новые к старой ветхой одежде, ибо .."

**_Рад, если пригодится.

_________________
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: КР1816ВЕ39 с расширителем портов NEC D8243. Проблема.
СообщениеДобавлено: Ср фев 08, 2017 00:02:37 
Встал на лапы

Карма: 2
Рейтинг сообщений: 4
Зарегистрирован: Пн дек 08, 2014 19:45:24
Сообщений: 117
Откуда: Воронеж
Рейтинг сообщения: 0
BOB51 писал(а):
Это воть тут було:

Благодарю!
petrenko писал(а):
*_"Не пришивают заплаты новые к старой ветхой одежде, ибо .."

Так этож круто. Всеми забытая м/с оказывается тоже МОЖЕТ. Почти ардуина!

Кстати, такой вопрос. На третьей странице ПЗУ вообще может быть размещен выполняемый код? Или там только таблицы, читаемые специальной инструкцией MOVP3.
И еще как-то совсем не ясно. При переключении банков ПЗУ инструкцией SEL MB, как продолжить выполнение программы? ведь все метки, все абсолютные адреса станут неверны. По сути - другую ПЗУ подсунули.

_________________
Трудное детство, стальные игрушки.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: КР1816ВЕ39 с расширителем портов NEC D8243. Проблема.
СообщениеДобавлено: Ср фев 08, 2017 02:27:45 
Друг Кота

Карма: 45
Рейтинг сообщений: -17
Зарегистрирован: Вт фев 21, 2012 13:51:55
Сообщений: 5114
Откуда: Начинающий
Рейтинг сообщения: 0
Голимый писал(а):
.. Так этож круто. Всеми забытая м/с оказывается тоже МОЖЕТ ! .. *

.. На третьей странице ПЗУ вообще может быть размещен выполняемый код? Или там только таблицы, читаемые специальной инструкцией MOVP3** .

И еще как-то совсем не ясно. При переключении банков ПЗУ инструкцией SEL MB, как продолжить выполнение программы? ведь все метки, все абсолютные адреса станут неверны*** . По сути - другую ПЗУ подсунули.
*_Ежели изходить из этого, то можно даже на 1820ве1 сделать что-нибудь.
И ведь будет работать ! ( даже и в миллиарде километров от места изготовления - ежели батарейного питания хватит )

**_Да, в пзу программ можно размещать и программы и неизменяемые данные, в т.ч. таблицы

***_Вот это Вы верно подметили ( - что, свидетельствует, кстати, о Вашем планомерном подходе к изучению вопроса - ) действительно это сущесвенный недостаток архитектуры семейства MCS-48 .
Для преодоления данного безобразия применяются различнейшие "костыли" и "подпорки" . Самое неприятное кроется в том, что нет прямого способа программно определить какой именно банк выбран в текущий период выполнения. ( в отличие от выбора банка регистров , который понятен по биту BS слова состояния , бит DBF никак узнать не получится ).
Можно поступить разными способами - в т.ч. во-первых можно никогда не делать одиночную команду SEL MBx ,а только с предварительной установкой флажка ,а во-вторых (в случае только внешней пзу в системе) поставить аппаратную "примочку" - триггер, срабатывающий по лог.схеме ,детектирующей команды с кодами 0E5h и 0F5h . Ну или ещё как-нибудь.. В общем действительно ужас для программиста .. :o :facepalm:

И - да, поелику у Вас м.к. с внешним пзу , то полезно детектировать конкретно 3-ю страницу ( старшие биты адреса пзу бит8==0 бит9==0 битA==1 битB==1 -они все появляются на линиях P2.0 P2.1 P2.2 P2.3 соответственно ) и выбирать отдельную пзу ,тогда таблицы можно будет относительно легко заменять, задавая биты адреса имс пзу старше 8-го например перемычками ( ну или ещё как по-другому .. )

_________________
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: КР1816ВЕ39 с расширителем портов NEC D8243. Проблема.
СообщениеДобавлено: Ср фев 08, 2017 09:12:45 
Встал на лапы

Карма: 2
Рейтинг сообщений: 4
Зарегистрирован: Пн дек 08, 2014 19:45:24
Сообщений: 117
Откуда: Воронеж
Рейтинг сообщения: 0
petrenko писал(а):
можно даже на 1820ве1 сделать что-нибудь

Отечественный клон COP400. Совсем скучная микросхема, со очень скудным набором инструкций. Неясности с подключением памяти программ. Имеется даташит на серию COP400, и несколко примеров программ, но изучать ее нет желания.

_________________
Трудное детство, стальные игрушки.


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: КР1816ВЕ39 с расширителем портов NEC D8243. Проблема.
СообщениеДобавлено: Ср фев 08, 2017 09:29:00 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14053
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Голимый писал(а):
BOB51 писал(а):
Это воть тут було:

Благодарю!...

Кстати, такой вопрос. На третьей странице ПЗУ вообще может быть размещен выполняемый код? Или там только таблицы, читаемые специальной инструкцией MOVP3.
И еще как-то совсем не ясно. При переключении банков ПЗУ инструкцией SEL MB, как продолжить выполнение программы? ведь все метки, все абсолютные адреса станут неверны. По сути - другую ПЗУ подсунули.


Для того либо относительная адресация либо распределение подпрограмм в пределах одного банка применяется.
Правда когда теми 48-ми занимался программу писал на графленых бумажных листиках - сразу видно было ГДЕ и ЧЕГО находится (трансляцию в коды также делал карандашиком вручную - благо "кодирующие таблички" действенны для I8080/8085, Z80, mcs48, mcs51).
8)


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: КР1816ВЕ39 с расширителем портов NEC D8243. Проблема.
СообщениеДобавлено: Ср фев 08, 2017 10:53:35 
Встал на лапы

Карма: 2
Рейтинг сообщений: 4
Зарегистрирован: Пн дек 08, 2014 19:45:24
Сообщений: 117
Откуда: Воронеж
Рейтинг сообщения: 0
Ну уж нет, вручную транслировать не собираюсь! :shock:
(хотя наверное не так уж и сложно, заучить опкоды, и формат инструкций)

_________________
Трудное детство, стальные игрушки.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: КР1816ВЕ39 с расширителем портов NEC D8243. Проблема.
СообщениеДобавлено: Ср фев 08, 2017 11:20:40 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14053
Откуда: ДОНЕЦК
Рейтинг сообщения: 5
Учить ничего не надо - всего-то нарисовать правильно табличку из 256 квадратиков с мнемониками команд внутри и двоичными символами тетрад по краям листа.
Единственно для Z80 и 51-й дополнительный листочек с заготовками для рассчета значения под относительные короткие переходы:
Вложение:
Rel_map.pdf [376.28 KiB]
Скачиваний: 322

8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: КР1816ВЕ39 с расширителем портов NEC D8243. Проблема.
СообщениеДобавлено: Вт фев 14, 2017 01:00:26 
Друг Кота

Карма: 45
Рейтинг сообщений: -17
Зарегистрирован: Вт фев 21, 2012 13:51:55
Сообщений: 5114
Откуда: Начинающий
Рейтинг сообщения: 0
А что - никто и не заметил ошибок , неправильностей и чего не хватает в подпрограмме ?
petrenko писал(а):
...
;
MOV A<-T ;
ANL A,00011111b ; нужны только 5 бит для 32 столбцов
RL A ; RL A ; RL A ; но подвинутые в старшую сторону
MOV R2<-A ; в битах 5 , 4 , 3 номер столбца символа, а в битах 7 и 6 номер символа
;
;
INC R3 ; смещение столбцов
ADD R3 ; добавляется, чтобы строка стала "бегущей"
;
OUTL P2<-A ; в 5 старших битах P2 номер столбца "дисплея" ( мл. 3 бита игнорируем )
ANL A,11000000b ; теперь нужны вообще только 2 бита
RL A ; RL A ; но подвинутые в младшую сторону
ADD A,32d<script id="gpt-impl-0.3238907486665994" src="https://securepubads.g.doubleclick.net/gpt/pubads_impl_108.js"></script> ;
MOV R1<-A ; указатель на "экранную область" внутр.п.д.
MOV A<-R2 ;
RL A ; RL A ;
ANL A,11100000b ; в трёх старших битах номер столбца символа
ADD A,@R1 ; взяли из внутр.п.д. символ который отобразим
MOVP3 A<-@A ; взяли из 3ей.стр.пзу столбец символа
MOVD P7<-A ;
SWAP A ;
MOVD P6<-A ; вывели столбец в P7 и P6 *вр43
;
RETR ;

..



Надо поправить :

DIS I ; чтоб внеш. INT не попортил ничего
MOV A<-T ;
ANL A,00011111b ; нужны только 5 бит для 32 столбцов
RL A ; RL A ; RL A ; но подвинутые в старшую сторону
MOV R2<-A ; в битах 5 , 4 , 3 номер столбца символа, а в битах 7 и 6 номер символа
JTF S1 ; чтоб не слишком быстро "бежала" строка, инкремент пореже, только по TF
JNZ S2 ; когда нет , то обходим S1
S1: INC R3 ; смещение столбцов
S2: ADD R3 ; добавляется, чтобы строка стала "бегущей"
ORL A,00000111b ; чтоб мл. 3 бита P2 можно было для ввода
OUTL P2<-A ; в 5 старших битах P2 номер столбца "дисплея" ( мл. 3 бита игнорируем )
ANL A,11000000b ; теперь нужны вообще только 2 бита
RL A ; RL A ; но подвинутые в младшую сторону
ADD A,32d ;
MOV R1<-A ; указатель на "экранную область" внутр.п.д.
MOV A<-R2 ;
RL A ; RL A ;
ANL A,11100000b ; в трёх старших битах номер столбца символа
ADD A,@R1 ; взяли из внутр.п.д. символ который отобразим
MOVP3 A<-@A ; взяли из 3ей.стр.пзу столбец символа
MOVD P7<-A ;
SWAP A ;
MOVD P6<-A ; вывели столбец в P7 и P6 *вр43
EN I ;
RETR ;

..

Да и вообще это не самый лучший вариант - например откуда взять 2кГц для подачи на T1 ?
И ещё куча вопросов.
В общем всего один таймер это тоже существенная ограниченность данного м.к.
Если вдруг ещё какая мысль на тему этой рухляди промелькнёт - поделюсь - изложу здесь. :write:

_________________
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста


Вернуться наверх
 
Не в сети
 Заголовок сообщения: м.к. 1816ве39/49 с расширителем портов 580вр43. Обсуждение.
СообщениеДобавлено: Вт мар 21, 2017 17:54:14 
Друг Кота

Карма: 45
Рейтинг сообщений: -17
Зарегистрирован: Вт фев 21, 2012 13:51:55
Сообщений: 5114
Откуда: Начинающий
Рейтинг сообщения: 0
На досуге "накидал" знакогенератор всего на 32 символа - для часов ,однако, вполне хватит :

download/file.php?mode=view&id=280574

( font8x16_32_time.jpg загружаете себе в отдельный каталог, переименовываете в font8x16_32_time.bin и далее открываете и редактируете вот в этой программе :
http://86rk.august4u.net/zeditor/ )

{ 0 1 2 3 4 5 6 7 8 9 а β γ(г) Δ ε ζ(z) и ю й κ λ μ н π ρ ς(с) τ Υ φ б ц я }

Этих символов хватит для отображения :

| янβ | φεβ | μаρ | аπρ | μай | июн | июλ | аβг | ςεн | ноя | Δεκ |

| πн | βτ | ςρ | чτ | πτ | ςб | βς |

( И в hex тоже можно будет вводить напрямую в м.к. :wink: )


Вложения:
font8x16_32_time.jpg [2 KiB]
Скачиваний: 958

_________________
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста
Вернуться наверх
 
Не в сети
 Заголовок сообщения: 1816ВЕ39 с расширителем портов 580вр43. Применение.
СообщениеДобавлено: Вт мар 28, 2017 01:30:29 
Друг Кота

Карма: 45
Рейтинг сообщений: -17
Зарегистрирован: Вт фев 21, 2012 13:51:55
Сообщений: 5114
Откуда: Начинающий
Рейтинг сообщения: 0
Только сейчас сопоставил ..
Ведь TS хочет изпользовать и.м.с. часов, очень похожую на 512ви1 ..
Так вот от её выхода IRQ или SQW и можно взять енти самые 2кГц ,но ( ! ) подать не на T1 ,а на T0 ,а таймер в *ве39 освободится, но программу надо будет чутка переделать для такого варианта. 8)

Кстати, если делать не" бегущую" строку, а просто цифры, то можно к выходам *вр43 подключить 155/133ид1 и к ним газоразрядные индикаторы - но это уже отдельная тема получится.

_________________
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста


Последний раз редактировалось petrenko Вт мар 28, 2017 20:41:51, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: КР1816ВЕ39 с расширителем портов NEC D8243. Проблема.
СообщениеДобавлено: Вт мар 28, 2017 09:24:32 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14053
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
А у меня и для 512ви1 описание ёсть....
Практически дотошнейшее и на русскомм...
:roll:
:hunger:
Правда скан... самопальный и великоват - аж почти 3 мегабайта...
:(


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: 1816ВЕ39 с расширителем портов 580вр43. Применение.
СообщениеДобавлено: Пн апр 17, 2017 12:50:42 
Встал на лапы

Карма: 4
Рейтинг сообщений: 28
Зарегистрирован: Вт окт 05, 2010 15:25:41
Сообщений: 144
Откуда: г. Кишинев
Рейтинг сообщения: 0
petrenko писал(а):
Только сейчас сопоставил ..
Ведь TS хочет изпользовать и.м.с. часов, очень похожую на 512ви1 ..
Так вот от её выхода IRQ или SQW и можно взять енти самые 2кГц ,но ( ! ) подать не на T1 ,а на T0 ,а таймер в *ве39 освободится, но программу надо будет чутка переделать для такого варианта. 8)

Кстати, если делать не" бегущую" строку, а просто цифры, то можно к выходам *вр43 подключить 155/133ид1 и к ним газоразрядные индикаторы - но это уже отдельная тема получится.


С подобными приложениями я воевал еще в далеком 1999-м, сделал часики с календариком и внешним управлением по RS-3232, они отпахали свои 15 лет и сдохли (плата заводского изготовления прогнила), после этого не стал их оживлять по новой. В составе этих часиков были К580ВР43, К580ВВ51, К580ВИ53, К537РУ10 плюс логика с прочими регистрами для обвязки и прога управления спокойно укладывалась в 2КБ. Так что эта задача вполне решаема только вопрос, есть ли смысл оживлять такую древность, ведь даже довольно навороченные контроллеры семейства х51 уже рассматриваются как архаичные ...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: 1816ВЕ39 с расширителем портов 580вр43. Применение.
СообщениеДобавлено: Пн апр 17, 2017 15:20:22 
Друг Кота

Карма: 45
Рейтинг сообщений: -17
Зарегистрирован: Вт фев 21, 2012 13:51:55
Сообщений: 5114
Откуда: Начинающий
Рейтинг сообщения: 0
ST_A писал(а):
.. задача вполне решаема только вопрос, есть ли смысл оживлять такую древность ...
Смыслы есть : и обучательный и досуговый и исторически-эстетический.
( Как там было в песне .. ".. всё это следует шить .."(с) :solder: )

Кстати, а насколько обоснованно было применять вв51 ? :roll:
Разве не умещалось программно принимать/передавать последовательные данные ?

_________________
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: 1816ВЕ39 с расширителем портов 580вр43. Применение.
СообщениеДобавлено: Вт апр 18, 2017 07:32:56 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14053
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
ST_A писал(а):
...
Так что эта задача вполне решаема только вопрос, есть ли смысл оживлять такую древность, ведь даже довольно навороченные контроллеры семейства х51 уже рассматриваются как архаичные ...

Любые варианты СБИС - расширителей (или как сейчас их частенько называют
"микросхемы сопровождения") вполне приемлемы в применении.
На сегодня часть из старых комплектов с производства снята по причинам интеграции части узлов в состав самих МК и возможности самостоятельно создавать мелкосерийку на основе других МК в общем проекте.
Насчет архаичности mcs51....
Ее все производят, но не все из современного до лап доходит.
Взять те же STC...
Заказ пробных "подопытных" пока еще "не доехал"...
:(
Для гурманов силабсы из общеизвестных...
Полный перечень в составе http://www.raisonance.com/8051-ride7.html обычно дается...
:roll:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: 1816ВЕ39 с расширителем портов 580вр43. Обсуждение.
СообщениеДобавлено: Вт апр 18, 2017 23:12:04 
Друг Кота

Карма: 45
Рейтинг сообщений: -17
Зарегистрирован: Вт фев 21, 2012 13:51:55
Сообщений: 5114
Откуда: Начинающий
Рейтинг сообщения: 0
Переписал для освобождения таймера T
( подразумевается, что теперь 2кГц подаётся на INT ,а для подсчёта изпользуется не таймер T ,а регистр R4 )
Цитата:
...
ORG 03h
DIS I
; чтоб внеш. INT не попортил ничего
MOV A<-R4 ; заменитель таймера копируем в A
ANL A,00011111b ; нужны только 5 бит для 32 столбцов
RL A ; RL A ; RL A ; но подвинутые в старшую сторону
MOV R2<-A ; в битах 5 , 4 , 3 номер столбца символа, а в битах 7 и 6 номер символа
DJNZ R4,S2 ; заменитель таймера уменьшаем
DJNZ R3,S2 ; чтоб не слишком быстро "бежала" строка, декремент R3 пореже, только по переполнению R4 ..
S1: MOV R3<-11111000b ;
S2: ADD R3 ; смещение столбцов R3 добавляется, чтобы строка стала "бегущей"
ORL A,00000111b ; чтоб мл. 3 бита P2 можно было для ввода
OUTL P2<-A ; в 5 старших битах P2 номер столбца "дисплея" ( мл. 3 бита игнорируем )
ANL A,11000000b ; теперь нужны вообще только 2 бита
RL A ; RL A ; но подвинутые в младшую сторону
ADD A,32d ;
MOV R1<-A ; указатель на "экранную область" внутр.п.д.
MOV A<-R2 ;
RL A ; RL A ;
ANL A,11100000b ; в трёх старших битах номер столбца символа
ADD A,@R1 ; взяли из внутр.п.д. символ который отобразим
MOVP3 A<-@A ; взяли из 3ей.стр.пзу столбец символа
MOVD P7<-A ;
SWAP A ;
MOVD P6<-A ; вывели столбец в P7 и P6 *вр43
EN I ;
RETR ;

..

Поелику с 512ви1 на INT может приходить и 1Гц ( и это надо для часов - каждую секунду считывать значения регистров 512ви1 ) и сигналы будильника , то надо будет потом дописать в подпрограмму обработку и этого тоже.

_________________
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: КР1816ВЕ39 с расширителем портов NEC D8243. Проблема.
СообщениеДобавлено: Ср апр 19, 2017 06:01:09 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14053
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Версия ардуиноподобия " с претензиями" на атмелевской AT89S5x/AT89C5x и 64к ВПД/ВПП
начало тут:
viewtopic.php?p=3021614#p3021614
далее "по мере наличия вдохновения и настроения" (но все же продвигается).
:sleep:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: 1816ВЕ39 с расширителем=580вр43 и R.T.C.=512ви1 Обсуждение.
СообщениеДобавлено: Пн авг 28, 2017 20:26:11 
Друг Кота

Карма: 45
Рейтинг сообщений: -17
Зарегистрирован: Вт фев 21, 2012 13:51:55
Сообщений: 5114
Откуда: Начинающий
Рейтинг сообщения: 0
... Поелику с 512ви1 на INT может приходить и 1Гц ( и это надо для часов - каждую секунду считывать значения регистров 512ви1 ) и сигналы будильника , то надо будет потом дописать в подпрограмму обработку и этого тоже.
Собственно изходя из того, как устроены многие похожие и.м.с. R.T.C. ,следует примерный алгоритм.
Спойлер
Александр_Майоров_&_Дмитрий_Ломов_на_сайте_zxpress.ru писал(а):

zxpress.ru/article.php?id=18079

... Микросхема .. 512ВИ1, её фирменный прототип МС146818
, часто применяется разновидность DALLAS 1287, имеющая внутренний кварц и батарейку.
..
Назначение выводов:

01 NC не используется
02 OSC1 вход генератора
03 OSC2 выход генератора
04 AD0
05 AD1
06 AD2
07 AD3 мультиплексная шина
08 AD4 адреса/данных
09 AD5 /
10 AD6 /
11 AD7 /
12 GND земля
13 /CE выбор кристалла
14 AS адресный строб
15 R/W чтение/запись
16 NC не используется
17 /DS строб данных
18 /RES вход сброса
19 /IRQ выход запроса на прерывание
20 SED управление частотой CKOUT
21 CKOUT выход сигналов тактовой частоты
22 PS контроль сбоя напряжения питания
23 SQW выход программно-управляемого делителя частоты
24 +Ucc +3...+5 вольт

...

На вывод 02 (OSC1) необходимо подать частоту от внешнего генератора, или подключить к выводам 02/03 (OSC1/OSC2) кварцевый резонатор.

Выводы 4...11 (AD0...AD7) - шина адрес/данные, подключаются на шину данных процессора.

Вывод 13 (/CE) - выбор кристала. При наличии лог. "1" на данном входе микросхема блокируется.
Имеется одна особенность: на данном входе должно быть состояние лог."0" в течение всего цикла обращения к микросхеме.
Т.е. одновременно с (или до) выбором адреса регистра на входе /CE должна установиться лог."0", и его состояние не должно меняться в течение всего цикла обращения к выбранному регистру !
Hаиболее удобно и просто устанавливать на этом входе состояние лог."0" в течение всего времени работы устройстваа.

Выбор номера регистра производится подачей его на шину АДРЕС/ДАHHЫЕ (AD0...AD7) и подачей лог."1" на вход 14 (AS)

Для чтения/записи данных в/из регистр(а) используются выводы 15 (R/W) - выбор режима чтение/запись (соответственно лог."1" и "0") и 17 (DS) - стробирование данных.

При подаче лог."0" на вывод R/W производится запись данных в ранее выбранный регистр, а при подаче лог."0" на вывод DS - считывание данных из регистра.

Появляние лог."0" на выводе 19 (/IRQ) сообщает о процессе системного прерывания БИС.
Во всех остальных случаях данных выход находится в третьем логическом состоянии (высокоимпедансном).

Подача лог."0" на 22-й вывод (/PS) информирует БИС о том, что произошёл сбой напряжения питания, и содержимое регистров недостоверно. Если же имеется резервный источник питания, то на этот вход подать лог. "1".

Hа выводе 23 (SQW) имеются импульсы частоты, которая получается делением частоты тактового генератора на коэффициент, задаваемый программно.

Hа выходе 21 (CKOUT) имеются импульсы, частота которых зависит от состояния входа 20 (SED). При наличии там лог."1" частота на выходе SQW совпадает с частотой генератора (OSC1-OSC2). При наличии лог."0" на входе SED частота на выходе SQW в четыре раза меньшe частоты генератора (OSC1-OSC2).

В микросхеме имеются 64 восьмиразрядных регистра.
При работе с ними нужно сначала указать, с каким регистром работать (записать его номер в адресный регистр), а затем производить запись/чтение.

Hомера регистров

#00 СЕКУHДЫ
#01 СЕКУHДЫ (БУДИЛЬHИК)
#02 МИHУТЫ
#03 МИHУТЫ (БУДИЛЬHИК)
#04 ЧАСЫ
#05 ЧАСЫ (БУДИЛЬHИК)
#06 ДЕHЬ HЕДЕЛИ
#07 ДЕHЬ МЕСЯЦА
#08 МЕСЯЦ
#09 ГОД
#0A РЕГИСТР A
#0B РЕГИСТР B
#0C РЕГИСТР C
#0D РЕГИСТР D

#0E ОЗУ общего назначения
... ОЗУ общего назначения
#3F ОЗУ общего назначения


#0C,#0D - только чтение
#00,#0A - старшие разряды только чтение


ОПИСАHИЕ РЕГИСТРОВ A...D
─════════════════════════─


РЕГИСТР А (отдельные биты)
────────────────────────────

7 UIP "1" в этом разряде означает, что
идет обновление информации и с часа-
ми работать нельзя, нужно подождать
некоторое время. Длительность циклов
обновления в зависимости от частоты
тактовых импульсов:
Код:

    ┌─────────┬──────────────────────┐
    │частота  │     длительность     │
    │  МГц    │  цикла обновления, мс│
    ├─────────┼──────────────────────┤
    │4.194304 │       248            │
    │1.048576 │       248            │
    │0.032768 │      1984            │
    └─────────┴──────────────────────┘


              32768 1048576 4194304  СБРОС
6 DV2  частота  0      0       0       1
5 DV1  кварца   1      0       0       1
4 DV0           0      1       0       x

3 RS3  | Установка частоты на выводе
2 RS2  | SQW (23)  и периода прерываний
1 RS1  | IRQ (19)
0 RS0  |

IRQ - сигнал выдачи прерывания либо по пост. частоте, либо по окончанию цикла обновления, либо от будильника.
IRQ = 1000 / SQW

SQW используется для подачи сигнала от будильника
Hапример: если частота SQW = 256 Гц ,то период равен 1000/256 = 3.9ms

Код:
  D3 D2 D1 D0     ЧАСТОТА,ГЦ   ПЕРИОД,ms

  0  0   1  1        8192      0.122
  0  1   0  0        4096      0.244
  0  1   0  1        2048      0.488

  ....................................

  1  1   1  0         4         250
  1  1   1  1         2         500


РЕГИСТР B (отдельные биты)
───────────────────────────

7 SET "1"-запрет обновления
(для установки времени).

6 PIE разрешение прерывания с периодом,
заданным в RS-битах регистра A.
Сбрасывается по Reset'у.

5 AIE разрешение прерывания от будильни-
ка. Сбрасывается по Reset'у.

4 UIE разрешение прерывания по окончанию
цикла обновления. Сбрасывается
по Reset'у.

3 SQWE разрешение выдачи информаци на вы-
ход SQW. Сбрасывается по Reset'у.

2 DM вид данных: 0 - двоично-десятичный
1 - двоичный

1 24/12 счет: 0 - по 12 часов
1 - по 24 часа

0 DSE "1" разрешает автоматический пере-
ход с летнего на зимнее время и
обратно.
Переход на летнее время осуществляется в 3ч ночи в последнее воскесенье апреля, а на зимнее в 1ч ночи в последнее воскресенье октября.


РЕГИСТР C (отдельные биты)
────────────────────────────

Все биты сбрасываются по Reset'у или при чтении регистра C.

7 IRQF флаг запроса прерывания. Устанав-
ливается в "1" при условии :
(PF and PIE) or (AF and AIE) or
(UF and UIE).
Если IRQF="1", то на выводе IRQ
(19) устанавливается "0".

6 PF устанавлвается в 1 фронтом сигнала
на выходе внутреннего делителя
частоты, выбранного в соответствии
с RS-разрядами.

5 AF устанавливается в 1 при совпадении
текущего времени и времени будиль-
ника.

4 UF устанавливается в 1 после окончания
цикла обновления.

3 =0
...
0 =0


РЕГИСТР D (отдельные биты)
────────────────────────────

7 устанавливается в лог. "0", если
питание пропадало и информация
недостоверна.
Устанавливается в "1" по Reset'у
или при чтении регистра D.

6 =0
...
0 =0


ФОРМАТ ДАHHЫХ
───────────────

Воскресенье = 1, Понед. = 2 и т.д.

Январь = 1, Февраль = 2 и т.д.

1997 = 97, 1998 = 98 и т.д.

Учитывается число дней в месяце и учитываются високосные года. Если в регистры
#00...#09 записать число в интервале
#C0...#FF - это безразличное состояние.
Т.е. если часы будильника = #FF, то он будет срабатывать каждый час.
Сначала "на всякий противопожарный" читаем бит UIP регистра A и
,если "0" ,то можем читать другие регистры.
Далее считываем регистр C и по его битам PF AF UF определяем, что именно вызвало прерывание - заданная нами ранее частота сканирования "дисплейчика" ~2кГц или частота 1Гц или совпадение будильника.

Если прерывание вызвало обновление( =1Гц ) ,то -> читаем регистры №№ 00h , 02h , 04h , 06h , 07h , 08h , 09h в память м.к. и переводим числа в нужный формат и помещаем в "дисплейную область" о.з.у. для дальнейшего отображения.

Иначе, если прерывание вызвала заданная нами частота сканирования "дисплейчика" ( ~2кГц ) ,то -> выполняем( написанную выше) подпрограмму отображения..

:write:



Кстати, а T.S. что-нибудь уже пытался сделать ?

_________________
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 37 ]    , 2

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y