Доброго времени суток Ув. Радиокоты!
Есть Дисплейчик WH1602 и контроллер Мега8(частота 8 МГц)
Вот бьюсь над ним уже очень длительное время, пытаюсь приручить.
А ему хоть бы что!
Что только не пытался в него посылать, уже кучу статей и даташитов перечитал.
Код то усложнял, то упрощал. Уже в элементарщине записал все.
Не отвечает он мне взаимностью! Прям горе какое-то
Задача - выдать на него единичку!
Подскажите где ошибки?
Код: Выделить всё
include "m8def.inc"
.CSEG
ldi r16,0b11111111 ;Настройка портов
out DDRB,r16
ldi r16,0b00000111
out DDRD,r16
;Инициализация
rcall Delay30m ;Ждем 30 мс
ldi r16,0b00110000 ;Шина 8 бит 2 строки
out PortB,r16
ldi r16,0b00000000
out PortB,r16
rcall Delay40mk ;Ждем 40 мкс
ldi r16,0b00110000 ;Шина 8 бит 2 строки
out PortB,r16
ldi r16,0b00000000
out PortB,r16
rcall Delay40mk ;Ждем 40 мкс
ldi r16,0b00110000 ;Шина 8 бит 2 строки
out PortB,r16
ldi r16,0b00000000
out PortB,r16
rcall Delay40mk ;Ждем 40 мкс
ldi r16,0b00111000 ;Установка параметров
out PortB,r16
ldi r16,0b00001000 ;Выключение дисплея
out PortB,r16
ldi r16,0b00001100 ;Включение дисплея
out PortB,r16
ldi r16,0b00000001 ;Очистка дисплея
out PortB,r16
ldi r16,0b00010100 ;Сдвинули курсор вправо
out PortB,r16
ldi r16,0b00000110 ;Установка режима ввода данных
out PortB,r16
ldi r16,0b00000100 ;RS=1
out PortD,r16
ldi r16,0b00110001 ;Записали "1"
out PortB,r16
B:
rjmp B
Delay30m: ;Задержка 30 мс
ldi r18, 2
ldi r19, 56
ldi r20, 173
L1: dec r20
brne L1
dec r19
brne L1
dec r18
brne L1
nop
ret
Delay40mk: ;Задержка 40 мкс
ldi r18, 106
L2: dec r18
brne L2
ret
