процесор К1810ВМ86

Здесь принимаются все самые невообразимые вопросы... Главное - не стесняйтесь. Поверьте, у нас поначалу вопросы были еще глупее :)
Ответить
Друг Кота
Сообщения: 6014
Зарегистрирован: Чт ноя 26, 2009 11:16:50
Откуда: Москва

Сообщение SmarTrunk »

B@R5uk
Ну да, но в первом ПС был более слабый 8088, с 8-разрядной внешней шиной данных.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3268
Зарегистрирован: Вс июл 23, 2006 01:32:05
Откуда: г.Москва

Сообщение VIRGO »

pokk писал(а):но вот как он определяет что из озу или пзу ? или это может слово читаю с контроллера клавиатуры
Используйте контроллер системной шины 1810ВГ88, тогда у вас будут "мухи отдельно от котлет" т.е. получите четыре сигнальных линии: MEMR / MEMW (чтение / запись памяти) и IOR / IOW (ввод / вывод в порт). А обращение к ОЗУ или ПЗУ определяется дешифратором подключенным к старшим адресам. Тут сказать что либо трудно т.к. вы не указали как у вас распределено адресное пространство памяти (объём ОЗУ и ПЗУ и какие микросхемы по объёму). ПЗУ обязательно располагать в самых старших адресах т.к. при старте процессор 8086 начинает выполнять инструкции с адреса FFF0H, там обычно стоит команда безусловного перехода на начало программы в ПЗУ.
Можно обойтись и без контроллера системной шины собрав на логике см. рисунок, или даже проще, поставив дешифратор 555ИД7 на линии RD, WR и M/IO.
Вложения
8086.JPG
(165.95 КБ) 612 скачиваний
R3Dio 73!
Реклама
Вымогатель припоя
Сообщения: 574
Зарегистрирован: Вт ноя 02, 2010 17:46:37

Сообщение pokk »

запись считывания из памяти осуществляется же командой mov [800h],20h записать по адресу 800h число 20h ?
Модератор
Аватара пользователя
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Сообщение МитяРа »

pokk писал(а):mov [800h],20h
Как помнится пишется #20h
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Реклама
Эиком - электронные компоненты и радиодетали
Вымогатель припоя
Сообщения: 574
Зарегистрирован: Вт ноя 02, 2010 17:46:37

Сообщение pokk »

С памятью вроде более менее понятно
а вот с контроллером к клавиатуры дисплея (КР580ВВ79) что-то не очень.

Негде не нашёл внятного описания какой будет формат данных в режиме одиночного нажатия клавиш.
для N-ого нажатия что-то есть.

Что первое будет стоять биты s3-s0 или RET7-RET0 ? И вообше как их столько туда запишется =)

Так же непонятно чем можно включать дисплеи.
И что будет если в памяти контроллера заполнится не вся память на выдачу в индикатор то получится что по началу он выводит нужные символы а потом нули ?

схема как-то такая на выходе s0-s3 возможно будет дешифратор стоять
Изображение
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3268
Зарегистрирован: Вс июл 23, 2006 01:32:05
Откуда: г.Москва

Сообщение VIRGO »

Скачайте http://www.shalatonin.bsu.by/docs/%C0%E ... 2%CC86.pdf
Там КР580ВВ79 подробно описана. Да и вообще книга будет полезна по микропроцессорному комплекту 1810.
R3Dio 73!
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3268
Зарегистрирован: Вс июл 23, 2006 01:32:05
Откуда: г.Москва

Сообщение VIRGO »

Вот нашёл в электронном виде наверное самую грамотную книгу по 1810. (у меня она с 90-х в бумажном виде ещё сохранилась) http://tech-biblio.ru/index.php?option= ... Itemid=257
Там на 38 стр. есть готовая схема процессорного модуля, можете применить её без изменений. Останется добавить дешифратор адресов, ОЗУ, ПЗУ и 580ВВ79.
R3Dio 73!
Вымогатель припоя
Сообщения: 574
Зарегистрирован: Вт ноя 02, 2010 17:46:37

Сообщение pokk »

VIRGO писал(а):Вот нашёл в электронном виде наверное самую грамотную книгу по 1810. (у меня она с 90-х в бумажном виде ещё сохранилась) http://tech-biblio.ru/index.php?option= ... Itemid=257
Там на 38 стр. есть готовая схема процессорного модуля, можете применить её без изменений. Останется добавить дешифратор адресов, ОЗУ, ПЗУ и 580ВВ79.
Спасибо за ответ но у меня эта книжка уже есть и то что на 38 стр я уже сделал =))))))

Скачайте http://www.shalatonin.bsu.by/docs/%C0%E ... 2%CC86.pdf
Там КР580ВВ79 подробно описана. Да и вообще книга будет полезна по микропроцессорному комплекту 1810.
Большое спасибо!!!! Сейчас буду разбираться
Вымогатель припоя
Сообщения: 574
Зарегистрирован: Вт ноя 02, 2010 17:46:37

Сообщение pokk »

Скачайте http://www.shalatonin.bsu.by/docs/%C0%E ... 2%CC86.pdf
Там КР580ВВ79 подробно описана. Да и вообще книга будет полезна по микропроцессорному комплекту 1810.
смотрю тут написано как и в остальных источниках =)
в общем мне вот этот кусок непонятен (стр 31)

"последние 3 разряда -выход счетчика линий возврата ..."
почему 3 ? их же там 8сем(RL0-RL7) куда остальное записывается ?

Изображение
Модератор
Аватара пользователя
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Сообщение МитяРа »

pokk писал(а):почему 3 ? их же там 8сем
3-х разрядный счётчик обслуживает 2 в 3 = 8 линий..
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Друг Кота
Аватара пользователя
Сообщения: 3268
Зарегистрирован: Вс июл 23, 2006 01:32:05
Откуда: г.Москва

Сообщение VIRGO »

Следующие 3 разряда - выход счетчика сканирования, индицирущий номер строки, в которой происходит поиск нажатой клавиши. Последние 3 разряда - выход счетчика линий возврата, показывающий номер столбца, в котором обнаружена нажатая клавиша.

Тремя разрядами отображается не фактическое состояние восьми линий, а показывается номер столбцов и строк где обнаружено нажатие (в двоичном коде).
Таким образом эти 6 разрядов взятые вместе будут отображать код нажатой клавиши (6 разрядов это 64 возможных значений).

А обязательно использовать 580ВВ79 или это ваш выбор? Просто если всего 16 клавиш и семисегментный индикатор, то поставить 580ВВ55 и обработать сканирование и вывод программно. Тогда схема упростится (для 580ВВ79 ещё внешние дешифраторы на линии SL, OUTA и OUTB "лепить" надо).
R3Dio 73!
Вымогатель припоя
Сообщения: 574
Зарегистрирован: Вт ноя 02, 2010 17:46:37

Сообщение pokk »

Понял спс
А обязательно использовать 580ВВ79 или это ваш выбор?
Мой выбор да я уже почти там всё придумал и разобрался теперь нету желания на другое переходить =)

У меня тут возник вопрос по прерыванию
приходит на вход INTR логическая 1 дальше процессор вырабатывает сигнал INTA и начинает считывать с шины данных номер вектора прерывания допустим он считал (32) дальше как-то он должен перейти в таблицу и там на подпрограмму
Так вот меня тут интересует правильно я ли я всё понимаю и как это программно будет

у меня получилось что-то такое так ?

Код: Выделить всё

0000: 	;таблица прерывания 
0001:
0002:
0003:
0004:
0005:
.
.
.
.
0032h:    jmp prog 
.
.
;----------------------------начало
start:	
	STI						;разрешаем прерывание
;----------------------------цикл ожидание прерывания
Loop1:						 
	nop
	nop
	nop
	JMP Loop1
;---------------------------- подпрограмма	
prog:
	.............
IRET  
	
3FFh:  JMP start
Друг Кота
Аватара пользователя
Сообщения: 3268
Зарегистрирован: Вс июл 23, 2006 01:32:05
Откуда: г.Москва

Сообщение VIRGO »

pokk писал(а):Так вот меня тут интересует правильно я ли я всё понимаю и как это программно будет
у меня получилось что-то такое так ?
Вроде правильно...
R3Dio 73!
Вымогатель припоя
Сообщения: 574
Зарегистрирован: Вт ноя 02, 2010 17:46:37

Сообщение pokk »

Вроде правильно...
А после считывания с ШД номер вектора на 4 умножается ?
Друг Кота
Аватара пользователя
Сообщения: 3268
Зарегистрирован: Вс июл 23, 2006 01:32:05
Откуда: г.Москва

Сообщение VIRGO »

pokk писал(а):А после считывания с ШД номер вектора на 4 умножается ?
Да, это выполняет процессор сам.

Процессор 8086 резервирует нижние 1024 байт памяти для таблицы, содержащей адреса для каждого из 256 возможных прерываний. Когда возникает прерывание (аппаратное или программное), процессор умножает номер прерывания на 4 и выбирает из таблицы адрес обработчика прерываний. В стек помещаются текущий адрес и флаги, а затем осуществляется переход на обработчик прерываний.
Когда обработчик прерывания заканчивает свою работу, он вызывает специальную инструкцию для возврата из прерывания. Эта инструкция восстанавливает сохраненный регистр флагов и возвращает управление в то место, где выполнение программы было прервано.
R3Dio 73!
Вымогатель припоя
Сообщения: 574
Зарегистрирован: Вт ноя 02, 2010 17:46:37

Сообщение pokk »

Процессор 8086 резервирует нижние 1024 байт памяти для таблицы, содержащей адреса для каждого из 256 возможных прерываний.
А если их столько не надо ? у меня всего 1 будет и память стоит на 2кб это ещё одну память что ли ставить ???
Друг Кота
Аватара пользователя
Сообщения: 3268
Зарегистрирован: Вс июл 23, 2006 01:32:05
Откуда: г.Москва

Сообщение VIRGO »

pokk писал(а):А если их столько не надо ? у меня всего 1 будет и память стоит на 2кб это ещё одну память что ли ставить ???
Если физически больше прерываний возникнуть не может, то можно использовать эту область памяти для программ и данных.
В DOS резервируется 256 байт под прерывания, все *.com файлы загружаются и стартуют с адреса 100h.
R3Dio 73!
Вымогатель припоя
Сообщения: 574
Зарегистрирован: Вт ноя 02, 2010 17:46:37

Сообщение pokk »

Возник ещё один вопрос уже на десять раз прочитал этот отрывок и не как не могу понять.
Изображение
Зачем делать что бы младший банк содержал только чётные адреса а старший нечётные ? и как это будет ?
Эту схему я понимаю так. Ставится несколько микросхем памяти (старший младший банк)
подаём одинаковый адрес на одну и на другую микросхему а сигналом MEMR выбираем считать один байт или или два.

Ну и ещё парочку вопросов есть =)) что за входы CSH СSL на озу ? как переводятся это понятно выбор кристалла старшего банка или младшего а физически это что за входы ?

Вместо сигналов MEMR MEMW можно использовать просто RW WR ?
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город

Сообщение Мастер Ломастер »

VIRGO писал(а):В DOS резервируется 256 байт под прерывания, все *.com файлы загружаются и стартуют с адреса 100h.
старт COM-файла с адреса 100h к таблице прерываний не имеет отношения. 256 байт в начале сегмента любой досовской программы выделяется для хранения служебной информации - точное название этого я забыл уже, но там хранится командная строка, с которой стартовала программа и т.п. дребедень.
битва с дураками проиграна, победители торжествуют. слава победителям!
Контактная информация:
Собутыльник Кота
Аватара пользователя
Сообщения: 2623
Зарегистрирован: Вс июл 17, 2011 11:51:52

Сообщение koyodza »

Мастер Ломастер писал(а):
VIRGO писал(а):В DOS резервируется 256 байт под прерывания, все *.com файлы загружаются и стартуют с адреса 100h.
старт COM-файла с адреса 100h к таблице прерываний не имеет отношения. 256 байт в начале сегмента любой досовской программы выделяется для хранения служебной информации - точное название этого я забыл уже, но там хранится командная строка, с которой стартовала программа и т.п. дребедень.
Точное название - PSP (префикс программного сегмента)
http://ru.wikipedia.org/wiki/Program_Segment_Prefix
Контактная информация:
Ответить

Вернуться в «Теория»