搞了两天,最后还是没调通。主要是因为sony 3.5lcd(型号为ACX502BMU)的数据手册有点渣,写得不详细,还有一点是友善之臂没有提供驱动lcd的板子的电路图,所以虽然知道该配置哪些寄存器,但是不知道如何配置,也试了网上的一些参数,还是不得要领,暂时不打算耗时间了,以后再说吧。不过还是大概总结下吧
1.配置寄存器分为两部分:(1)GPIO那边把功能配置为何lcd有关的,包括lcd的控制信号和数据信号(2)lcd那边的寄存器有lcdcon1-5,lcdsaddr1-3
2.然后就是先把你的像素点数据从某个地址开始依次写在存储器里,然后把这个地址写给lcdsaddr寄存器。
3.使能控制信号就行了
如果谁知道寄存器参数如何配置还望留言告知,多谢!
推荐一下韦东山老师的视频吧,讲得还挺详细的
下面就贴个代码吧,里面包含了一个我在网上找的数据
AREA LCD,code,readonly
entry
start
mov r0,#0x56000000 ;GPCCON
add r0,r0,#0x20
mov r1,#0xaa
add r1,r1,#0xaa<<8
add r1,r1,#0xaa<<16
add r1,r1,#0xaa<<24
str r1,[r0]
mov r0,#0x56000000 ;GPCup
add r0,r0,#0x28
mov r1,#0xff
add r1,r1,#0xff<<8
add r1,r1,#0xff<<16
add r1,r1,#0xff<<24
str r1,[r0]
mov r0,#0x56000000 ;GPDCON
add r0,r0,#0x30
mov r1,#0xaa
add r1,r1,#0xaa<<8
add r1,r1,#0xaa<<16
add r1,r1,#0xaa<<24
str r1,[r0]
mov r0,#0x56000000 ;GPDup
add r0,r0,#0x38
mov r1,#0xff
add r1,r1,#0xff<<8
add r1,r1,#0xff<<16
add r1,r1,#0xff<<24
str r1,[r0]
mov r0,#0x4d000000 ;lcdcon1
add r0,r0,#0x0
mov r1,#0x0
add r1,r1,#0xc<<1
add r1,r1,#0x3<<5
add r1,r1,#0x8<<8
str r1,[r0]
mov r0,#0x4d000000 ;lcdcon2
add r0,r0,#0x4
mov r1,#0x0
add r1,r1,#0x9<<0 ;vspw
add r1,r1,#0x4<<6 ;vfpd
add r1,r1,#0x3f<<14 ;lineval
add r1,r1,#0x1<<22 ;lineval
add r1,r1,#0x0<<24 ;vbpd
str r1,[r0]
mov r0,#0x4d000000 ;lcdcon3
add r0,r0,#0x8
mov r1,#0x0
add r1,r1,#0x0<<0 ;hfpd
add r1,r1,#0xef<<8 ;hozval
add r1,r1,#0x19<<19 ;hbpd
str r1,[r0]
mov r0,#0x4d000000 ;lcdcon4
add r0,r0,#0xc
mov r1,#0x0
add r1,r1,#0x0<<0 ;hspw
str r1,[r0]
mov r0,#0x4d000000 ;lcdcon5
add r0,r0,#0x10
mov r1,#0x0
add r1,r1,#0x1<<0 ;hwswp
add r1,r1,#0x1<<2 ;ENLEND
; add r1,r1,#0x1<<3 ;pwren
add r1,r1,#0x1<<6 ;invvden
add r1,r1,#0x1<<8 ;invframe
add r1,r1,#0x1<<9 ;invvline
add r1,r1,#0x1<<11 ;frm565
str r1,[r0]
mov r0,#0x4d000000 ;lcdsaddr1
add r0,r0,#0x14
mov r1,#0x00000000
add r1,r1,#0x0<<0
str r1,[r0]
mov r0,#0x4d000000 ;lcdsaddr2
add r0,r0,#0x18
mov r1,#0x00000000
add r1,r1,#0x25800<<0
str r1,[r0]
mov r0,#0x4d000000 ;lcdsaddr3
add r0,r0,#0x1c
mov r1,#0x0
add r1,r1,#0xf0<<0
str r1,[r0]
lcd_poweron
mov r0,#0x56000000
add r0,r0,#0x60
mov r1,#0x3<<8
str r1,[r0]
mov r0,#0x56000000
add r0,r0,#0x68
mov r1,#0x1<<8
str r1,[r0]
mov r0,#0x4d000000
add r0,r0,#0x10
ldr r1,[r0]
orr r1,r1,#0x1<<3
str r1,[r0]
enableoutput
mov r0,#0x4d000000 ;lcdcon1
add r0,r0,#0x0
ldr r1,[r0]
orr r1,#0x1
str r1,[r0]
clear
mov r0,#0x4d000000 ;tpal
add r0,r0,#0x50
mov r1,#0x0
mov r1,#0x1<<24
add r1,r1,#0xff
str r1,[r0]
disableoutput
mov r0,#0x4d000000 ;lcdcon1
add r0,r0,#0x0
ldr r1,[r0]
bic r1,#0x1
str r1,[r0]
l
b l
end