Я вам привел пример. Инициализация проца. Сброс ЖКИ (обязательно). То есть, подать нолик на ногу сброса ЖКИ на n мс. Потом подать единицу. Ну и дальнейшая работа. Код рабочий. Только давно и криво написан. :) Камменты есть, так что разобраться можно. Будут вопросы пишите.
RstLCD:
cbi PortA,RST
ldi temp,100
mov Cnt,temp
RLCD:
dec Cnt
brne RLCD
sbi PortA,RST
ret
Initial:
ldi temp,High(RamEnd) ; Инициализация стека
out sph,temp
ldi temp,Low(RamEnd)
out spl,temp
clr Flags ; Очистка регистра флагов.
ser Temp
out DDRA,Temp
out PortA,Temp ; Порт A - Линии управления ЖК
;cbi PortA,FS
; ************ Сброс ЖК при включении питания *********************************
Start:
rcall RstLCD
; ************ Задать адрес начала текста *************************************
ldi DataH,High(0x0780)
ldi DataL,Low(0x0780)
mov temp,Flags ; Если установлен этот флаг, то передача двух байтов
sbr temp,1<<SD2
mov Flags,temp
ldi CPR,0x03
rcall WaitBusy
rcall SendDat
ldi CMDR,TXHOME
ldi CPR,0x03
rcall WaitBusy
rcall SendCom
; ************ Задать адрес начала графики ************************************
clr DataH
clr DataL
mov temp,Flags ; Если установлен этот флаг, то передача двух байтов
sbr temp,1<<SD2
mov Flags,temp
ldi CPR,0x03
rcall WaitBusy
rcall SendDat
ldi CMDR,GRHOME
ldi CPR,0x03
rcall WaitBusy
rcall SendCom
; ************ Задать текстовую область ***************************************
clr DataH
ldi DataL,128/8
mov temp,Flags ; Если установлен этот флаг, то передача двух байтов
sbr temp,1<<SD2
mov Flags,temp
ldi CPR,0x03
rcall WaitBusy
rcall SendDat
ldi CMDR,TXAREA
ldi CPR,0x03
rcall WaitBusy
rcall SendCom
; ************ Задать область графики *****************************************
clr DataH
ldi DataL,128/8
mov temp,Flags ; Если установлен этот флаг, то передача двух байтов
sbr temp,1<<SD2
mov Flags,temp
ldi CPR,0x03
rcall WaitBusy
rcall SendDat
ldi CMDR,GRAREA
ldi CPR,0x03
rcall WaitBusy
rcall SendCom
; ************ УСТАНОВКА РЕЖИМА (OR РЕЖИМ) ************************************
ldi CMDR,0x80
ldi CPR,0x03
rcall WaitBusy
rcall SendCom
; ************ Установка режима отображения ***********************************
ldi CMDR,0x9C ; Режим отображения (текст вкл., графика вкл.)
ldi CPR,0x03
rcall WaitBusy
rcall SendCom
; ************ Очистка текстового экрана (записать код пробела) ***************
ldi DataH,High(0x0780)
ldi DataL,Low(0x0780)
clr r6
ldi XH,High(128)
ldi XL,Low(128)
rcall Out_Stroka
; ************ Очистить графический экран (записать код пробела) **************
clr DataH
clr DataL
clr r6
ldi XH,High(1024)
ldi XL,Low(1024)
rcall Out_Stroka
; ************ Рисуем диагональную линию **************************************
Line_1:
clr r2
clr r3
clr r7
clr XH
clr XL
ldi temp,16
mov r2,temp
L_11:
ldi temp,0x80
mov r6,temp
L_12:
mul r2,r3
add r0,r7
movw DataL,r0
mov temp,Flags ; Если установлен этот флаг, то передача двух байтов
sbr temp,1<<SD2
mov Flags,temp
ldi CPR,0x03
rcall WaitBusy
rcall SendDat
ldi CMDR,ADPSET
ldi CPR,0x03
rcall WaitBusy
rcall SendCom
mov DataL,r6
ldi CPR,0x03
rcall WaitBusy
rcall SendDat
ldi CMDR,0xC4 ; Записать Данные и не изменять УА
ldi CPR,0x03
rcall WaitBusy
rcall SendCom
inc r3
mov temp,r3
cpi temp,64
breq Paint_Line_H
lsr r6
in temp,SREG
sbrs temp,0
rjmp L_12
inc r7
rjmp L_11
Paint_Line_H:
clr r2
clr r3
clr XH
clr XL
ser temp
mov r6,temp
clr r5
ldi temp,16
mov r4,temp
rcall Line_2
Paint_Line_L:
clr r2
clr r3
ldi XH,High(1024-16)
ldi XL,Low(1024-16)
ser temp
mov r6,temp
clr r5
ldi temp,16
mov r4,temp
rcall Line_2
; ************ Вывод тескта на экран ******************************************
ldi DataH,High(0x07B1) ; Задать адрес начала текста
ldi DataL,Low(0x07B1)
ldi ZH,High(Text)
ldi ZL,Low(Text)
ldi XH,High(13)
ldi XL,Low(13)
rcall Out_Massiv
rjmp Nul
; ************ Вывести картинку на экран **************************************
;Out_Grafika:
;clr DataH
;clr DataL
;sbr Flags,1<<SD2 ; Установка флага передачи двух байтов.
;ldi CPR,0x03
;rcall WaitBusy
;rcall SendDat
;ldi CMDR,ADPSET
;ldi CPR,0x03
;rcall WaitBusy
;rcall SendCom
;ldi CMDR,AWRON ; Установить Автозапись данных
;ldi CPR,0x03
;rcall WaitBusy
;rcall SendCom
;ldi ZH,High(Grafika)
;ldi ZL,Low(Grafika)
;ldi XH,High(1024)
;ldi XL,Low(1024)
;ldi CPR,0x08
;rcall OutText
;ldi CMDR,AWROFF
;ldi CPR,0x03
;rcall WaitBusy
;rcall SendCom
Nul:
rjmp Nul
.ORG 0x400
Text:
.DB 0x34,0x00,0x2F,0x00,0x33,0x00,0x28,0x00,0x29,0x00,0x22,0x00,0x21
Grafika: