Добрый день.
Пытаюсь запустить дисплей ST024C0P-AK8 240*320 (камень ST7781) на контроллере silabs 8051f360 (ядро 51).
Дисплей даже не отдает ID code. В чем может быть проблема?
Код:
$include (C8051F360.inc)
res equ p1.3
cs equ p1.7
rs equ p1.6
rd equ p1.4
wr equ p1.5
public Init_Device
org 0000h
ljmp begin
INIT SEGMENT CODE
rseg INIT
PCA_Init:
mov PCA0MD, #000h
ret
Port_IO_Init:
mov SFRPAGE, #CONFIG_PAGE
mov P1MDOUT, #0ffh
mov P2MDOUT, #0ffh
mov P3MDOUT, #0ffh
mov P4MDOUT, #0ffh
mov XBR1, #040h
ret
Oscillator_Init:
mov SFRPAGE, #CONFIG_PAGE
mov OSCICN, #083h
ret
Init_Device:
lcall PCA_Init
lcall Port_IO_Init
lcall Oscillator_Init
ret
;*************************************
begin:
lcall Init_Device ;инициализация контроллера
clr res ;сброс дисплея
mov r0,#070h
m2: mov r1,#0ffh
m3: djnz r1,m3
djnz r0,m2
setb res ;-//-
mov p4,#00h
setb rd
clr cs
clr rs
clr wr
mov p2,#00h ;команда перехода в регистр 0 дисплея
mov p3,#00h ;где и хранится ID
setb wr
setb rs
clr rd
mov r0,p2 ;сохранение состояния портов 2 и 3 в R
mov r1,p3
setb rd
end
Возвращается значение #0000h