Перейти к содержанию
    

bigen

Свой
  • Постов

    12
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Контакты

  • ICQ
    Array
  1. Вопрос по тактовым ген.

    Кто-нибудь подключал несколько м.контроллеров к одному генератору? Есть проблемы?
  2. Есть сансеи по AVRам?

    Читаю IN R16,PINA - записывается последний байт, который передавал из порта. Читаю по-битно SBIS PINA,0 JMP M ORI R16,01 M1: SBIS PINA,1 JMP M1 ORI R16,02 M1: и т.д. - все в порядке. В чем разница? Ведь можно же читать сразу входной байт, где ошибка?
  3. Про IDE

    остальные - это adro-2 и cs1
  4. Ситуация такая: на порт А подключены дисплей лсд и мл. разряды устройства IDE, пытаюсь прочитать регистр STATUS из IDE и отбразить "его"(я просто к ниблам данных прибавляю 0Х30) на дисплее. Вместо 00(IDE не подключен) получаю на экране 0х35 - это остаток от цифры 55, которую отображаю в начале. Создается такое впечатление, что я неправильно настраиваю направление передачи и читаю защелку. Где-то есть ошибки. С AVRами работаю впервые. Вставлять файл не знаю как, так что прога прямо здесь. Заранее благодарен, Игорь .INCLUDE "m128def.inc" .CSEG .ORG 000 BEGIN: JMP START .ORG 0x100 ;############## НАСТРОЙКА ATMEGA START: LDI YL,0xFF ;СТЕК - 0FFF LDI YH,0x0F OUT SPL,YL OUT SPH,YH ; НАСТРОЙКА ПОРТОВ F,G НА ВЫВОД LDI R18,0xFF NOP STS DDRF,R18 LDI R18,0x1F NOP STS DDRG,R18 LDI R16,0x20 STS PORTF,R16 LDI R16,0xF STS PORTG,R16 ;############# НАСТРОЙКА ДИСПЛЕЯ LDI R18,0xFF NOP OUT DDRA,R18 ;порт А на вывод OUT DDRD,R18 ;ПРОРТ D НА ВЫВОД CBI PORTD,PIND5 ;RS=0 CBI PORTD,PIND6 ;RW=0 SBI PORTD,PIND7 ;E=1 CALL DEL41 CALL DEL41 CALL DEL41 LDI R18,0x38 OUT PORTA,R18 CALL COMMB CALL DEL41 LDI R18,0x38 OUT PORTA,R18 ;2 СТРОКИ, МАТРИЦА 5Х7 ТОЧЕК CALL COMMB CALL DEL100 LDI R18,0x0C OUT PORTA,R18 ;ВКЛЮЧЕНИЕ ДИСПЛЕЯ CALL COMMB LDI R18,0x01 OUT PORTA,R18 ;ОЧИСТКА ДИСПЛЕЯ CALL COMMB LDI R18,0x80 ;ЗАПИСЬ В ПЕРВУЮ СТРОКУ OUT PORTA,R18 CALL COMMB ; JMP T1 LDI R16,0x55 BB: MOV R15,R16 ANDI R16,0xF0 SWAP R16 LDI R17,0x30 ADD R16,R17 MOV R10,R16 MOV R16,R15 ANDI R16,0x0F LDI R17,0x30 ADD R16,R17 MOV R12,R16 MOV R16,R10 CALL M MOV R16,R12 CALL M JMP T1 M: OUT PORTA,R16 CALL DATB CALL DEL41 RET T1: LDI R16,0x37 CALL RUTR ;BB: JMP BB ; RUTR: STS PORTF,R16 LDI R18,0 NOP OUT DDRC,R18 LDI R16,0x0B STS PORTG,R16; ИМПУЛЬC RD NOP NOP LDI R18,0 NOP OUT DDRA,R18 IN R16,PINA LDI R17,0xF STS PORTG,R17 LDI R17,0xFF STS PORTF,R17 NOP OUT DDRA,R17 OUT DDRC,R17 RET ;JMP T1 COMMB: CBI PORTD,PIND5 ;RS JMP BDEL DATB: SBI PORTD,PIND5 ;RS NOP NOP NOP NOP BDEL: CBI PORTD,PIND6 ;RW CBI PORTD,PIND7 ;E NOP NOP NOP NOP SBI PORTD,PIND7 ;E NOP ;ПРОВЕРКА НА ЗАНЯТОСТЬ ДИСПЛЕЯ ; RET ;######### LDI R18,0x00 NOP OUT DDRA,R18 ;PORTA НА ВВОД SBI PORTD,PIND6 ;RW=1 CBI PORTD,PIND5 ;RS=0 CBI PORTD,PIND7 ;E=0 NOP NOP NOP SBI PORTD,PIND7 ;E=1 BLOOP: NOP IN R17,PINA ANDI R17,0x80 CPI R17,0x80 BREQ BLOOP ;ДВОЙНАЯ ПРОВЕРКА TWICE: IN R17,PINA ANDI R17,0x80 CPI R17,0x80 BREQ TWICE CBI PORTD,PIND6 ;RW=0 LDI R18,0xFF NOP OUT DDRA,R18 RET DEL41: ; ПП ЗАДЕРЖКИ 4,1mS LDI R22,0x28 LDI R23,0xFF M1: DEC R23 CPI R23,00 BRNE M1 DEC R22 CPI R22,0 BRNE M1 RET DEL100: ;ПП ЗАДЕРЖКИ 100uS LDI R22,0xF8 M2: DEC R22 CPI R22,0 BRNE M2 RET
  5. Кто поможет разобраться с куском проги на асс для меги128? Нужен Ваш адрес - пришлю.(10К)
  6. ATMEGA8

    Буду безмерно благодарен, за ссылки касающиеся всего для ATmegи8 ( описание портов, примеры работы с портами, UART и др.), если на русском еще лучше
  7. Про IDE

    У меня на младших разрядах IDE сидит индикатор LCD, после обращения к IDE - считываю регистр STATUS - отображаю его в шестнадцатиричном виде на LCD. На экране получается билеберда, должны отображаться символы с кожами не ниже 30h и не выше 4Fh, а уменя один из сиволов FFh - заполненное поле. Я подозреваю, что шина IDE не становится в третье состояние, хотя на осциллографе явно виден сигнал CS0, остальные управляющие в единице; либо IDE не усевает. Может кто подскажет, в чем дело, уже голову сломал.
  8. А слабо МР3 проигрыватель?
  9. Интересует инициализация устройства (в частности CDROM), как расолагаются файлы и папки на диске - как их найти и сосчитать?
×
×
  • Создать...