Всем доброго времени суток. Разрабатываю учебный стенд на базе AT90S8515 для демонстрации возможностей микроконтроллера.
P10606912.JPG
Стенд включает в себя 2 буфера входных данных (1-й от задатчика, 2-й от разъема), 2 регистра выходных данных (1-й на светодиоды, 2-й на разъем), подключенных ...
Найдено 13 результатов
- Чт июн 09, 2011 20:34:35
- Форум: Микроконтроллеры и ПЛИС
- Тема: Учебный стенд на базе AT90S8515
- Ответы: 3
- Просмотры: 1250
- Пт фев 11, 2011 15:31:21
- Форум: Микроконтроллеры и ПЛИС
- Тема: Подключение AT90S8515 с помощью SPI
- Ответы: 3
- Просмотры: 1825
Re: Подключение AT90S8515 с помощью SPI
МК 8535 тоже 8-килобайтный, но с ним программа работаетMurav писал(а): В протеусе есть ошибка из-за которой он в 8-килобайтных МК AVR не может обрабатывать rjmp дальше половины размера памяти. Возможно в более новых версиях эту ошибку поправили.
- Пт фев 11, 2011 15:02:00
- Форум: Микроконтроллеры и ПЛИС
- Тема: Подключение AT90S8515 с помощью SPI
- Ответы: 3
- Просмотры: 1825
Подключение AT90S8515 с помощью SPI
Пытаюсь подключить два микроконтроллера AT90S8515 по интерфейсу SPI. Каждый МК имеет задатчики порта D (ввод данных) и индикацию порта С (вывод данных). Замысел программы предполагает при изменении задатчиков первого МК вывод этих изменений на второй МК и наоборот. При запуске программы PROTEUS ...
- Ср июн 16, 2010 20:22:28
- Форум: AVR
- Тема: Ассемблер (ASM) для AVR в вопросах и ответах
- Ответы: 7994
- Просмотры: 2505657
Re: Ассемблер (ASM) для AVR в вопросах и ответах
CPI - убрать совсем, метку MET поставить перед RET. Все.
Так тоже попробовал сделать, результат точно такой же: команду очистки дисплея "ldi lcd,$01" он воспринимает как данные, выводимые на дисплей, то есть "пробел". В данном случае выдаётся пять значений, затем "пробел", затем снова пять ...
- Ср июн 16, 2010 20:09:20
- Форум: AVR
- Тема: Ассемблер (ASM) для AVR в вопросах и ответах
- Ответы: 7994
- Просмотры: 2505657
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Попробовал сделать согласно алгоритму функцию, которая бы при заполнении строки дисплея очищала её и ставила курсор в начальную позицию:
lcddat:
out PORTA,lcd ;вывод символа
ldi temp,0x20 ;установка режима записи данных
out PORTC,temp
ldi temp,0x08 ;установка режима записи данных
out PORTD ...
lcddat:
out PORTA,lcd ;вывод символа
ldi temp,0x20 ;установка режима записи данных
out PORTC,temp
ldi temp,0x08 ;установка режима записи данных
out PORTD ...
- Ср июн 16, 2010 15:08:38
- Форум: AVR
- Тема: Ассемблер (ASM) для AVR в вопросах и ответах
- Ответы: 7994
- Просмотры: 2505657
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Подайте идею как можно написать чтобы в подпрограмме содержание регистра уменьшалось каждый раз на единицу и как только доходило до нуля, по новой устанавливало значение и выполняло ещё ряд действий?
примерно:
ldi num, 10;
......
podprogramma:
dec num;
cpi num,0
brne met
met: ldi num, 10;
{и ещё ...
примерно:
ldi num, 10;
......
podprogramma:
dec num;
cpi num,0
brne met
met: ldi num, 10;
{и ещё ...
- Ср июн 16, 2010 11:59:02
- Форум: AVR
- Тема: Ассемблер (ASM) для AVR в вопросах и ответах
- Ответы: 7994
- Просмотры: 2505657
Re: Ассемблер (ASM) для AVR в вопросах и ответах
А вообще для чего подключают подтягивающие резисторы?Modest писал(а):Ну для начала нужно бы порты клавиатуры подтянуть резисторами.
Потом попробуй после инициализации портов обнульть их все, лишним не будет.
- Ср июн 16, 2010 11:31:40
- Форум: AVR
- Тема: Ассемблер (ASM) для AVR в вопросах и ответах
- Ответы: 7994
- Просмотры: 2505657
Re: Ассемблер (ASM) для AVR в вопросах и ответах
прерывание происходит от любой нажатой кнопкиModest писал(а):Кстати а что там за схемка, как там прерывание реализованно от всех кнопок?
С дребезгом вопос ещё как-бы терпит, а вот почему первая единица всегда появляется - вот это для меня загадка
- Ср июн 16, 2010 11:06:18
- Форум: AVR
- Тема: Ассемблер (ASM) для AVR в вопросах и ответах
- Ответы: 7994
- Просмотры: 2505657
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Блин и как я раньше на асме писал :)
А где задержка, защита от дребезга контактов?
Програмка считает нажатия кнопок или выводит последовательно цифры от 1 и до ...8 ?
Так чуть чуть вспомнил и чуть разобрался :oops: Снимаю свой вопрос :oops:
Да, программа выдаёт номер нажатой клавиши на LCD ...
А где задержка, защита от дребезга контактов?
Програмка считает нажатия кнопок или выводит последовательно цифры от 1 и до ...8 ?
Так чуть чуть вспомнил и чуть разобрался :oops: Снимаю свой вопрос :oops:
Да, программа выдаёт номер нажатой клавиши на LCD ...
- Ср июн 16, 2010 10:30:46
- Форум: AVR
- Тема: Ассемблер (ASM) для AVR в вопросах и ответах
- Ответы: 7994
- Просмотры: 2505657
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Здравствуйте! Подскажите почему при запуске программы на дисплей сразу выдаётся цифра "1", хотя на дисплей должны выдаваться цифры только при нажатии клавиш
;******************************************************
.include "8515def.inc" ;файл определений AT90S8515
.def temp=r16 ;временная ...
;******************************************************
.include "8515def.inc" ;файл определений AT90S8515
.def temp=r16 ;временная ...
- Вс июн 13, 2010 16:59:13
- Форум: AVR
- Тема: Ассемблер (ASM) для AVR в вопросах и ответах
- Ответы: 7994
- Просмотры: 2505657
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Ну, как то так...
Спасибо, логичное решение. По такому принципу исправил свой код, получил:
andi PORTD, $CF; обнулить биты 4 и 5
andi PORTC, $F0; обнулить младший полубайт
sbrc scancod, 0 ; Если бит 0 в РОН scancod сброшен, пропустить след.команду
sbi PORTD, 4 ; Установить бит 4 прота D
sbrc ...
Спасибо, логичное решение. По такому принципу исправил свой код, получил:
andi PORTD, $CF; обнулить биты 4 и 5
andi PORTC, $F0; обнулить младший полубайт
sbrc scancod, 0 ; Если бит 0 в РОН scancod сброшен, пропустить след.команду
sbi PORTD, 4 ; Установить бит 4 прота D
sbrc ...
- Вс июн 13, 2010 11:54:06
- Форум: AVR
- Тема: Ассемблер (ASM) для AVR в вопросах и ответах
- Ответы: 7994
- Просмотры: 2505657
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Зравствуйте! Подскажите как присвоить значение отдельным битам порта содержимое какой-нибудь переменной?
например:
out PORTD,temp ;будет просто установлено значение переменной temp в порт D
а мне надо в порт С на 3ю ножку установить значение такое же как на 6м бите перменной temp и таким же ...
например:
out PORTD,temp ;будет просто установлено значение переменной temp в порт D
а мне надо в порт С на 3ю ножку установить значение такое же как на 6м бите перменной temp и таким же ...
- Пт июн 11, 2010 17:00:34
- Форум: Микроконтроллеры и ПЛИС
- Тема: Непредсказуемо работает AT90S8515 c LCD
- Ответы: 1
- Просмотры: 1179
Непредсказуемо работает AT90S8515 c LCD
Всем здравствуйте! Написал программу, которая делает бегущую строку на LCD LM016L. При запуске программы по шагам компилятор, проходя по строкам выдачи данных на дисплей не выдаёт ничего, а когда "невидимые" символы доходят до левого угла дисплея вдруг появляются и программа начинает работать в ...