Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
17.02.2011, 23:59
|
|
Прохожий
Регистрация: 12.10.2008
Сообщений: 5
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Временное мультиплексирование шины МК51
Здравствуйте. Помогите пожалуйста решить такую задачу: к контроллеру МК51 подключен ППА(еще ВПД, ВПП...)- к портам Р0 и Р2. к ППА подключены 3 7сегментных индикатора. Цель: вывести любое число на любом из индикаторов с использованием временного мультиплексирования шины данных/адреса. Требуется написать программу на ассемблере.
Со схемой подключения разобрался, но вот программу никак не могу написать.
|
|
|
|
18.02.2011, 00:21
|
|
Почётный гражданин KAZUS.RU
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
|
Re: Временное мультиплексирование шины МК51
Сообщение от StudentGRusha
|
Требуется написать программу на ассемблере.
|
Комманд не знаешь?
__________________
"picavr(ГАВ)мыло.ру" USB_Analyzer, Digital_Storage_Oscilloscope "picavr.kr1.ru" заказы в Китай компонентов/изготовление: плат/ЖКИ/мембраных клавиатур/имп трансформаторов
|
|
|
|
18.02.2011, 00:42
|
|
Прохожий
Регистрация: 12.10.2008
Сообщений: 5
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Временное мультиплексирование шины МК51
я написал прогу, но препод говорит, что-то в ней не правильно, а что именно не говорит:
CLR 2.7; выбираю ППА(CS)
LD A,252; загружаю в аккум. адрес порта(в дан. сл-нулевой)
MOVX @R0,A; как я понял так выставляется адрес на порту Р0... видимо здесь что-то не то.
MOV P0, 11111100; записываю число в ППА(ноль)
CLR P3.6; сигнал WR - к ППА
|
|
|
|
19.02.2011, 02:30
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Временное мультиплексирование шины МК51
Сообщение от StudentGRusha
|
MOVX @R0,A; как я понял так выставляется адрес на порту Р0... видимо здесь что-то не то.
|
Неправильно понял. Так записывается в память.
|
|
|
Сказали "Спасибо" omercury
|
|
|
19.02.2011, 03:38
|
|
Прописка
Регистрация: 21.09.2009
Сообщений: 218
Сказал спасибо: 1
Сказали Спасибо 29 раз(а) в 27 сообщении(ях)
|
Немного не так
Сообщение от StudentGRusha
|
MOV A,252; загружаю в аккум. адрес порта(в дан. сл-нулевой)
|
Должна быть команда MOV вместо LD, такой команды в i8051 вообще нет, откуда вы её взяли? И, конечно, это должен быть не адрес, а байт данных.
Сообщение от StudentGRusha
|
MOVX @R0,A
; как я понял так выставляется адрес на порту Р0
|
В данном случае адрес должен быть в регистре R0, по команде MOVX @R0,A он выставится в порту 0, и стробом ALE защёлкнется во внешнем регистре, затем в порту 0 выставится содержимое аккумулятора.
Последний раз редактировалось =GM=; 19.02.2011 в 03:47.
|
|
|
|
24.02.2011, 22:32
|
|
Прохожий
Регистрация: 12.10.2008
Сообщений: 5
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Временное мультиплексирование шины МК51
Спасибо за ответ. Исправил программу:
CLR P2.7;CS-›P2.7
MOV A,#3;запись в акк. данных для вывода(ноль для индикатора с об. анодом)
MOV R0,0;выбор порта А ППА
MOVX @R0,A; собственно вывод данных в ВПД
сигнал WR вроде вырабатывается самим МК? Надо ли обязательно настраивать порт ППА на вывод(записывать в него упр. слово CW) и регистр PSW(указатель банка рабочих регистров)?
|
|
|
|
25.02.2011, 02:06
|
|
Прописка
Регистрация: 21.09.2009
Сообщений: 218
Сказал спасибо: 1
Сказали Спасибо 29 раз(а) в 27 сообщении(ях)
|
ППА, что-то знакомое :-)
1) сигнал WR вырабатывается самим МК, если вы обращаетесь к внешней памяти данных.
2) Что такое ППА? Если это дополнительное устройство ввода-вывода, типа ВВ55, то его надо настраивать.
3) Банк рабочих регистров меняют, чтобы перейти к другому набору регистров, скажем при обработке прерываний, вам это не надо.
|
|
|
|
25.02.2011, 03:20
|
|
Гуру портала
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,564
Сказал спасибо: 181
Сказали Спасибо 3,159 раз(а) в 2,045 сообщении(ях)
|
Re: Временное мультиплексирование шины МК51
да ничего там не надо настраивать
у класического проца 80с32 порты вапще не настраиваются никак.
там снизу полевик а сверху резистор = они квазидвунаправленные потому что. и потому что был расчитан на ттл логику в которой как раз если вход висит то на нем лог 1 устойчиво держится. там и подтяжка то не нужна была в те времена, там входные токи логического нуля были такие что наверно варить метал можно было - там же схема на входе обычно была с общей базой к плюсу шоль
учи учебники 80х годов)))))))
этот проц помню сам грелся как утюг, если он ттл был, были потом уже цмосовские
чтоб на отдельный регистр вывести байт надо его подцепить как будто это внешняя озушка. блин не помню уж какие там стробы и асмы для озу, 10 лет назад его забросил.
кароче из одного бита адреса и строба (если вывод то wr, если ввод то rd или какие там - там же але какие то - ну не помню кароче) делаешь логическое и и подаешь итог на строб регистра типа 74573. вот и все
потом в програме выводишь байт на внешнее озу с таким адресом что адрес содержал единицу в том бите адреса к которому лог и подцеплена.
например посадил регистр на нулевой бит адреса значит в програме пиши - вывести байт на адрес равный 1.
посадил на бит номер 1 - пиши вывод на адрес номер 2
итд
без дешифратора можно 16 регистров подцепить. это если внешнее озу не используеш
Последний раз редактировалось индюк; 25.02.2011 в 03:25.
|
|
|
|
25.02.2011, 23:07
|
|
Прохожий
Регистрация: 12.10.2008
Сообщений: 5
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Временное мультиплексирование шины МК51
да, ППА - КР580ВВ55А.
Жаль что в Протеусе нету модели аналога внешнего регистра 1533ИР22 чтобы смоделировать. нашел только 74199 можно ли его использовать в данной схеме?
;настройка ППА
CLR P2.7;CS-›P2.7
MOV R0,#3;адрес регистра управляющего слова CW в ППА
MOV A,#80H;настройка
MOVX @R0,A;
CLR A;
CLR R0;
;
MOV A,#3;запись в акк. данных для вывода(ноль для индикатора с об. анодом)
MOV R0,0;выбор порта А ППА
MOVX @R0,A;
|
|
|
|
26.02.2011, 00:20
|
|
Гуру портала
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,564
Сказал спасибо: 181
Сказали Спасибо 3,159 раз(а) в 2,045 сообщении(ях)
|
Re: Временное мультиплексирование шины МК51
где ты такие микросхемы то древние нашел? их небось уж и не делает никто
и зачем они тебе?
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 19:11.
|
|