Страница 2 из 3
Re: процесор К1810ВМ86
Добавлено: Вт окт 25, 2011 09:17:21
SmarTrunk
B@R5uk
Ну да, но в первом ПС был более слабый 8088, с 8-разрядной внешней шиной данных.
Re: процесор К1810ВМ86
Добавлено: Вт окт 25, 2011 16:08:31
VIRGO
pokk писал(а):но вот как он определяет что из озу или пзу ? или это может слово читаю с контроллера клавиатуры
Используйте контроллер системной шины 1810ВГ88, тогда у вас будут "мухи отдельно от котлет" т.е. получите четыре сигнальных линии:
MEMR /
MEMW (чтение / запись памяти) и
IOR /
IOW (ввод / вывод в порт). А обращение к ОЗУ или ПЗУ определяется дешифратором подключенным к старшим адресам. Тут сказать что либо трудно т.к. вы не указали как у вас распределено адресное пространство памяти (объём ОЗУ и ПЗУ и какие микросхемы по объёму). ПЗУ обязательно располагать в самых старших адресах т.к. при старте процессор 8086 начинает выполнять инструкции с адреса FFF0H, там обычно стоит команда безусловного перехода на начало программы в ПЗУ.
Можно обойтись и без контроллера системной шины собрав на логике см. рисунок, или даже проще, поставив дешифратор 555ИД7 на линии RD, WR и M/IO.
Re: процесор К1810ВМ86
Добавлено: Ср окт 26, 2011 16:01:56
pokk
запись считывания из памяти осуществляется же командой mov [800h],20h записать по адресу 800h число 20h ?
Re: процесор К1810ВМ86
Добавлено: Ср окт 26, 2011 16:11:01
МитяРа
pokk писал(а):mov [800h],20h
Как помнится пишется
#20h
Re: процесор К1810ВМ86
Добавлено: Пт окт 28, 2011 18:30:40
pokk
С памятью вроде более менее понятно
а вот с контроллером к клавиатуры дисплея (КР580ВВ79) что-то не очень.
Негде не нашёл внятного описания какой будет формат данных в режиме одиночного нажатия клавиш.
для N-ого нажатия что-то есть.
Что первое будет стоять биты s3-s0 или RET7-RET0 ? И вообше как их столько туда запишется =)
Так же непонятно чем можно включать дисплеи.
И что будет если в памяти контроллера заполнится не вся память на выдачу в индикатор то получится что по началу он выводит нужные символы а потом нули ?
схема как-то такая на выходе s0-s3 возможно будет дешифратор стоять

Re: процесор К1810ВМ86
Добавлено: Пт окт 28, 2011 22:53:01
VIRGO
Скачайте
http://www.shalatonin.bsu.by/docs/%C0%E ... 2%CC86.pdf
Там КР580ВВ79 подробно описана. Да и вообще книга будет полезна по микропроцессорному комплекту 1810.
Re: процесор К1810ВМ86
Добавлено: Пт окт 28, 2011 23:24:41
VIRGO
Вот нашёл в электронном виде наверное самую грамотную книгу по 1810. (у меня она с 90-х в бумажном виде ещё сохранилась)
http://tech-biblio.ru/index.php?option= ... Itemid=257
Там на 38 стр. есть готовая схема процессорного модуля, можете применить её без изменений. Останется добавить дешифратор адресов, ОЗУ, ПЗУ и 580ВВ79.
Re: процесор К1810ВМ86
Добавлено: Сб окт 29, 2011 06:00:27
pokk
VIRGO писал(а):Вот нашёл в электронном виде наверное самую грамотную книгу по 1810. (у меня она с 90-х в бумажном виде ещё сохранилась)
http://tech-biblio.ru/index.php?option= ... Itemid=257
Там на 38 стр. есть готовая схема процессорного модуля, можете применить её без изменений. Останется добавить дешифратор адресов, ОЗУ, ПЗУ и 580ВВ79.
Спасибо за ответ но у меня эта книжка уже есть и то что на 38 стр я уже сделал =))))))
Большое спасибо!!!! Сейчас буду разбираться
Re: процесор К1810ВМ86
Добавлено: Сб окт 29, 2011 07:09:49
pokk
смотрю тут написано как и в остальных источниках =)
в общем мне вот этот кусок непонятен (стр 31)
"последние 3 разряда -выход счетчика линий возврата ..."
почему 3 ? их же там 8сем(RL0-RL7) куда остальное записывается ?

Re: процесор К1810ВМ86
Добавлено: Сб окт 29, 2011 07:41:05
МитяРа
pokk писал(а):почему 3 ? их же там 8сем
3-х разрядный счётчик обслуживает 2 в 3 = 8 линий..
Re: процесор К1810ВМ86
Добавлено: Сб окт 29, 2011 09:04:02
VIRGO
Следующие 3 разряда - выход счетчика сканирования, индицирущий номер строки, в которой происходит поиск нажатой клавиши. Последние 3 разряда - выход счетчика линий возврата, показывающий номер столбца, в котором обнаружена нажатая клавиша.
Тремя разрядами отображается не фактическое состояние восьми линий, а показывается номер столбцов и строк где обнаружено нажатие (в двоичном коде).
Таким образом эти 6 разрядов взятые вместе будут отображать код нажатой клавиши (6 разрядов это 64 возможных значений).
А обязательно использовать 580ВВ79 или это ваш выбор? Просто если всего 16 клавиш и семисегментный индикатор, то поставить 580ВВ55 и обработать сканирование и вывод программно. Тогда схема упростится (для 580ВВ79 ещё внешние дешифраторы на линии SL, OUTA и OUTB "лепить" надо).
Re: процесор К1810ВМ86
Добавлено: Вс окт 30, 2011 14:51:02
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
Re: процесор К1810ВМ86
Добавлено: Вс окт 30, 2011 15:59:26
VIRGO
pokk писал(а):Так вот меня тут интересует правильно я ли я всё понимаю и как это программно будет
у меня получилось что-то такое так ?
Вроде правильно...
Re: процесор К1810ВМ86
Добавлено: Вс окт 30, 2011 16:15:52
pokk
Вроде правильно...
А после считывания с ШД номер вектора на 4 умножается ?
Re: процесор К1810ВМ86
Добавлено: Вс окт 30, 2011 18:01:09
VIRGO
pokk писал(а):А после считывания с ШД номер вектора на 4 умножается ?
Да, это выполняет процессор сам.
Процессор 8086 резервирует нижние 1024 байт памяти для таблицы, содержащей адреса для каждого из 256 возможных прерываний. Когда возникает прерывание (аппаратное или программное), процессор умножает номер прерывания на 4 и выбирает из таблицы адрес обработчика прерываний. В стек помещаются текущий адрес и флаги, а затем осуществляется переход на обработчик прерываний.
Когда обработчик прерывания заканчивает свою работу, он вызывает специальную инструкцию для возврата из прерывания. Эта инструкция восстанавливает сохраненный регистр флагов и возвращает управление в то место, где выполнение программы было прервано.
Re: процесор К1810ВМ86
Добавлено: Вс окт 30, 2011 19:02:49
pokk
Процессор 8086 резервирует нижние 1024 байт памяти для таблицы, содержащей адреса для каждого из 256 возможных прерываний.
А если их столько не надо ? у меня всего 1 будет и память стоит на 2кб это ещё одну память что ли ставить ???
Re: процесор К1810ВМ86
Добавлено: Вс окт 30, 2011 19:35:02
VIRGO
pokk писал(а):А если их столько не надо ? у меня всего 1 будет и память стоит на 2кб это ещё одну память что ли ставить ???
Если физически больше прерываний возникнуть не может, то можно использовать эту область памяти для программ и данных.
В DOS резервируется 256 байт под прерывания, все *.com файлы загружаются и стартуют с адреса 100h.
Re: процесор К1810ВМ86
Добавлено: Пн ноя 07, 2011 08:45:23
pokk
Возник ещё один вопрос уже на десять раз прочитал этот отрывок и не как не могу понять.
Зачем делать что бы младший банк содержал только чётные адреса а старший нечётные ? и как это будет ?
Эту схему я понимаю так. Ставится несколько микросхем памяти (старший младший банк)
подаём одинаковый адрес на одну и на другую микросхему а сигналом MEMR выбираем считать один байт или или два.
Ну и ещё парочку вопросов есть =)) что за входы CSH СSL на озу ? как переводятся это понятно выбор кристалла старшего банка или младшего а физически это что за входы ?
Вместо сигналов MEMR MEMW можно использовать просто RW WR ?
Re: процесор К1810ВМ86
Добавлено: Пн ноя 07, 2011 08:51:22
Мастер Ломастер
VIRGO писал(а):В DOS резервируется 256 байт под прерывания, все *.com файлы загружаются и стартуют с адреса 100h.
старт COM-файла с адреса 100h к таблице прерываний не имеет отношения. 256 байт в начале сегмента любой досовской программы выделяется для хранения служебной информации - точное название этого я забыл уже, но там хранится командная строка, с которой стартовала программа и т.п. дребедень.
Re: процесор К1810ВМ86
Добавлено: Пн ноя 07, 2011 12:23:34
koyodza
Мастер Ломастер писал(а):VIRGO писал(а):В DOS резервируется 256 байт под прерывания, все *.com файлы загружаются и стартуют с адреса 100h.
старт COM-файла с адреса 100h к таблице прерываний не имеет отношения. 256 байт в начале сегмента любой досовской программы выделяется для хранения служебной информации - точное название этого я забыл уже, но там хранится командная строка, с которой стартовала программа и т.п. дребедень.
Точное название - PSP (префикс программного сегмента)
http://ru.wikipedia.org/wiki/Program_Segment_Prefix