Ну да, но в первом ПС был более слабый 8088, с 8-разрядной внешней шиной данных.
процесор К1810ВМ86
B@R5uk
Ну да, но в первом ПС был более слабый 8088, с 8-разрядной внешней шиной данных.
Ну да, но в первом ПС был более слабый 8088, с 8-разрядной внешней шиной данных.
- Реклама
Используйте контроллер системной шины 1810ВГ88, тогда у вас будут "мухи отдельно от котлет" т.е. получите четыре сигнальных линии: MEMR / MEMW (чтение / запись памяти) и IOR / IOW (ввод / вывод в порт). А обращение к ОЗУ или ПЗУ определяется дешифратором подключенным к старшим адресам. Тут сказать что либо трудно т.к. вы не указали как у вас распределено адресное пространство памяти (объём ОЗУ и ПЗУ и какие микросхемы по объёму). ПЗУ обязательно располагать в самых старших адресах т.к. при старте процессор 8086 начинает выполнять инструкции с адреса FFF0H, там обычно стоит команда безусловного перехода на начало программы в ПЗУ.pokk писал(а):но вот как он определяет что из озу или пзу ? или это может слово читаю с контроллера клавиатуры
Можно обойтись и без контроллера системной шины собрав на логике см. рисунок, или даже проще, поставив дешифратор 555ИД7 на линии RD, WR и M/IO.
- Вложения
-
- 8086.JPG
- (165.95 КБ) 612 скачиваний
R3Dio 73!
- Сообщения: 574
- Зарегистрирован: Вт ноя 02, 2010 17:46:37
запись считывания из памяти осуществляется же командой mov [800h],20h записать по адресу 800h число 20h ?
Как помнится пишется #20hpokk писал(а):mov [800h],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
С памятью вроде более менее понятно
а вот с контроллером к клавиатуры дисплея (КР580ВВ79) что-то не очень.
Негде не нашёл внятного описания какой будет формат данных в режиме одиночного нажатия клавиш.
для N-ого нажатия что-то есть.
Что первое будет стоять биты s3-s0 или RET7-RET0 ? И вообше как их столько туда запишется =)
Так же непонятно чем можно включать дисплеи.
И что будет если в памяти контроллера заполнится не вся память на выдачу в индикатор то получится что по началу он выводит нужные символы а потом нули ?
схема как-то такая на выходе s0-s3 возможно будет дешифратор стоять

а вот с контроллером к клавиатуры дисплея (КР580ВВ79) что-то не очень.
Негде не нашёл внятного описания какой будет формат данных в режиме одиночного нажатия клавиш.
для N-ого нажатия что-то есть.
Что первое будет стоять биты s3-s0 или RET7-RET0 ? И вообше как их столько туда запишется =)
Так же непонятно чем можно включать дисплеи.
И что будет если в памяти контроллера заполнится не вся память на выдачу в индикатор то получится что по началу он выводит нужные символы а потом нули ?
схема как-то такая на выходе s0-s3 возможно будет дешифратор стоять

- Реклама
Скачайте http://www.shalatonin.bsu.by/docs/%C0%E ... 2%CC86.pdf
Там КР580ВВ79 подробно описана. Да и вообще книга будет полезна по микропроцессорному комплекту 1810.
Там КР580ВВ79 подробно описана. Да и вообще книга будет полезна по микропроцессорному комплекту 1810.
R3Dio 73!
Вот нашёл в электронном виде наверное самую грамотную книгу по 1810. (у меня она с 90-х в бумажном виде ещё сохранилась) http://tech-biblio.ru/index.php?option= ... Itemid=257
Там на 38 стр. есть готовая схема процессорного модуля, можете применить её без изменений. Останется добавить дешифратор адресов, ОЗУ, ПЗУ и 580ВВ79.
Там на 38 стр. есть готовая схема процессорного модуля, можете применить её без изменений. Останется добавить дешифратор адресов, ОЗУ, ПЗУ и 580ВВ79.
R3Dio 73!
- Сообщения: 574
- Зарегистрирован: Вт ноя 02, 2010 17:46:37
Спасибо за ответ но у меня эта книжка уже есть и то что на 38 стр я уже сделал =))))))VIRGO писал(а):Вот нашёл в электронном виде наверное самую грамотную книгу по 1810. (у меня она с 90-х в бумажном виде ещё сохранилась) http://tech-biblio.ru/index.php?option= ... Itemid=257
Там на 38 стр. есть готовая схема процессорного модуля, можете применить её без изменений. Останется добавить дешифратор адресов, ОЗУ, ПЗУ и 580ВВ79.
Большое спасибо!!!! Сейчас буду разбиратьсяСкачайте http://www.shalatonin.bsu.by/docs/%C0%E ... 2%CC86.pdf
Там КР580ВВ79 подробно описана. Да и вообще книга будет полезна по микропроцессорному комплекту 1810.
- Сообщения: 574
- Зарегистрирован: Вт ноя 02, 2010 17:46:37
смотрю тут написано как и в остальных источниках =)Скачайте http://www.shalatonin.bsu.by/docs/%C0%E ... 2%CC86.pdf
Там КР580ВВ79 подробно описана. Да и вообще книга будет полезна по микропроцессорному комплекту 1810.
в общем мне вот этот кусок непонятен (стр 31)
"последние 3 разряда -выход счетчика линий возврата ..."
почему 3 ? их же там 8сем(RL0-RL7) куда остальное записывается ?

3-х разрядный счётчик обслуживает 2 в 3 = 8 линий..pokk писал(а):почему 3 ? их же там 8сем
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Следующие 3 разряда - выход счетчика сканирования, индицирущий номер строки, в которой происходит поиск нажатой клавиши. Последние 3 разряда - выход счетчика линий возврата, показывающий номер столбца, в котором обнаружена нажатая клавиша.
Тремя разрядами отображается не фактическое состояние восьми линий, а показывается номер столбцов и строк где обнаружено нажатие (в двоичном коде).
Таким образом эти 6 разрядов взятые вместе будут отображать код нажатой клавиши (6 разрядов это 64 возможных значений).
А обязательно использовать 580ВВ79 или это ваш выбор? Просто если всего 16 клавиш и семисегментный индикатор, то поставить 580ВВ55 и обработать сканирование и вывод программно. Тогда схема упростится (для 580ВВ79 ещё внешние дешифраторы на линии SL, OUTA и OUTB "лепить" надо).
Тремя разрядами отображается не фактическое состояние восьми линий, а показывается номер столбцов и строк где обнаружено нажатие (в двоичном коде).
Таким образом эти 6 разрядов взятые вместе будут отображать код нажатой клавиши (6 разрядов это 64 возможных значений).
А обязательно использовать 580ВВ79 или это ваш выбор? Просто если всего 16 клавиш и семисегментный индикатор, то поставить 580ВВ55 и обработать сканирование и вывод программно. Тогда схема упростится (для 580ВВ79 ещё внешние дешифраторы на линии SL, OUTA и OUTB "лепить" надо).
R3Dio 73!
- Сообщения: 574
- Зарегистрирован: Вт ноя 02, 2010 17:46:37
Понял спс
У меня тут возник вопрос по прерыванию
приходит на вход INTR логическая 1 дальше процессор вырабатывает сигнал INTA и начинает считывать с шины данных номер вектора прерывания допустим он считал (32) дальше как-то он должен перейти в таблицу и там на подпрограмму
Так вот меня тут интересует правильно я ли я всё понимаю и как это программно будет
у меня получилось что-то такое так ?
Мой выбор да я уже почти там всё придумал и разобрался теперь нету желания на другое переходить =)А обязательно использовать 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
Вроде правильно...pokk писал(а):Так вот меня тут интересует правильно я ли я всё понимаю и как это программно будет
у меня получилось что-то такое так ?
R3Dio 73!
- Сообщения: 574
- Зарегистрирован: Вт ноя 02, 2010 17:46:37
Да, это выполняет процессор сам.pokk писал(а):А после считывания с ШД номер вектора на 4 умножается ?
Процессор 8086 резервирует нижние 1024 байт памяти для таблицы, содержащей адреса для каждого из 256 возможных прерываний. Когда возникает прерывание (аппаратное или программное), процессор умножает номер прерывания на 4 и выбирает из таблицы адрес обработчика прерываний. В стек помещаются текущий адрес и флаги, а затем осуществляется переход на обработчик прерываний.
Когда обработчик прерывания заканчивает свою работу, он вызывает специальную инструкцию для возврата из прерывания. Эта инструкция восстанавливает сохраненный регистр флагов и возвращает управление в то место, где выполнение программы было прервано.
R3Dio 73!
- Сообщения: 574
- Зарегистрирован: Вт ноя 02, 2010 17:46:37
А если их столько не надо ? у меня всего 1 будет и память стоит на 2кб это ещё одну память что ли ставить ???Процессор 8086 резервирует нижние 1024 байт памяти для таблицы, содержащей адреса для каждого из 256 возможных прерываний.
Если физически больше прерываний возникнуть не может, то можно использовать эту область памяти для программ и данных.pokk писал(а):А если их столько не надо ? у меня всего 1 будет и память стоит на 2кб это ещё одну память что ли ставить ???
В DOS резервируется 256 байт под прерывания, все *.com файлы загружаются и стартуют с адреса 100h.
R3Dio 73!
- Сообщения: 574
- Зарегистрирован: Вт ноя 02, 2010 17:46:37
Возник ещё один вопрос уже на десять раз прочитал этот отрывок и не как не могу понять.
Зачем делать что бы младший банк содержал только чётные адреса а старший нечётные ? и как это будет ?
Эту схему я понимаю так. Ставится несколько микросхем памяти (старший младший банк)
подаём одинаковый адрес на одну и на другую микросхему а сигналом MEMR выбираем считать один байт или или два.
Ну и ещё парочку вопросов есть =)) что за входы CSH СSL на озу ? как переводятся это понятно выбор кристалла старшего банка или младшего а физически это что за входы ?
Вместо сигналов MEMR MEMW можно использовать просто RW WR ?
Зачем делать что бы младший банк содержал только чётные адреса а старший нечётные ? и как это будет ?
Эту схему я понимаю так. Ставится несколько микросхем памяти (старший младший банк)
подаём одинаковый адрес на одну и на другую микросхему а сигналом MEMR выбираем считать один байт или или два.
Ну и ещё парочку вопросов есть =)) что за входы CSH СSL на озу ? как переводятся это понятно выбор кристалла старшего банка или младшего а физически это что за входы ?
Вместо сигналов MEMR MEMW можно использовать просто RW WR ?
старт COM-файла с адреса 100h к таблице прерываний не имеет отношения. 256 байт в начале сегмента любой досовской программы выделяется для хранения служебной информации - точное название этого я забыл уже, но там хранится командная строка, с которой стартовала программа и т.п. дребедень.VIRGO писал(а):В DOS резервируется 256 байт под прерывания, все *.com файлы загружаются и стартуют с адреса 100h.
битва с дураками проиграна, победители торжествуют. слава победителям!
- Сообщения: 2623
- Зарегистрирован: Вс июл 17, 2011 11:51:52
Точное название - PSP (префикс программного сегмента)Мастер Ломастер писал(а):старт COM-файла с адреса 100h к таблице прерываний не имеет отношения. 256 байт в начале сегмента любой досовской программы выделяется для хранения служебной информации - точное название этого я забыл уже, но там хранится командная строка, с которой стартовала программа и т.п. дребедень.VIRGO писал(а):В DOS резервируется 256 байт под прерывания, все *.com файлы загружаются и стартуют с адреса 100h.
http://ru.wikipedia.org/wiki/Program_Segment_Prefix


