| 液晶显示控制器SED1330/SED1335/SED1336/E1330的应用 | |||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||
|
2. SED1335等与MPU的接口技术 根据SED1335的电路特性,AT89C52单片机与LMBGA_032_49CK_模块的接口电路如图2所示。由于LMBGA_032_49CK_模块是根据SED1335的特性设计的,AT89C52的操作时序为Intel8080时序,所以SED1335接口部分选用适配Intel8080时序的接口电路。 ![]() SED1335等的读写控制信号RD、WR分别由AT89C52的读写控制信号RD、WR控制。AT89C52的P0口与LMBGA_032_49CK_模块的三态数据总线DB0~DB7连接。值得注意的是?熏SED1335等的A0信号的定义不是独立的,而是与读信号、写信号组合定义的。按图2的接口可以定义如下: wc_add equ 8100h ;write instruction code adderss wd_add equ 8000h ;write parameter and dispal data address rd_add equ 8100h ;read parameter and dispal data address rb_add equ 8000h ;read busy state address 对比度调节电压VO由电位器的中心端提供,可以调节液晶显示的对比度。 3 软件编程 以下所有程序段均使用MCS-51系列汇编指令编制而成。SED1335等有自身的软件特性,编初始化程序时,首先要根据液晶显示模块的特性选择初始化SYSTEM SET指令参数和SCROLL参数。初始化SYSTEM SET指令参数有8个,依次为P1~P8。LMBGA_032_49CK_模块的P1~P8参数可以定义systab,db 30h、87h、07h、27h、42h、0ffh、28h、00h。初始化这8个参数的程序及复位程序如下: count1 equ 32h ;count one对字模的DB表进行扫描计数 count2 equ 33h ;count two对字模的DB表进行扫描计数 res equ p3.0 ;reset用于LCD 的复位端口 lcdintr: setb res ;LCD复位 nop nop clr res nop nop setb res ;LCD复位 mov dptr,#wc_add ;设置写指令码地址 mov a,#40h ;系统设置码 movx @dptr,a ;写指令码 mov count1,#00h ;置count1=0 lcdintr1: mov dptr,#systab ;设置指令参数表地址 mov a,count1 ;查参数 movc a,@a+dptr mov dptr,#wd_add ;设置写参数和数据地址 movx @dptr,a ;写参数 inc count1 ;计数+1 mov a,count1 cjne a,#08h,lcdintr1 ;循环 ret 注意P7和P8对应AP(双字节数)值的低8位和高8位,在一些子程序中,要做相应的修改。LMBGA_032_49CK_模块的SCROLL参数有10个,可定义为scrtab?押db 000h、000h、0f0h、000h、40h、0f0h、000h、80h、000h、000h。初始化这10个SCROLL参数的程序与上面的程序方法一致。 SED1335等可以在图形方式下显示图形和汉字。下面的子程序是为武汉华工激光公司开发的激光熔覆自动送粉器显示界面所用的图形、汉字显示子程序。先把华工激光的公司标志图转化为BIMP文件,再利用取模软件写出首地址是cctab1的DB表格,由程序逐字节地向图形显示区的相应单元写入,就可以显示相应的图形。显示汉字的方法一样,但不需要转化BIMP文件,可以直接取模。 cctw0:; 图形、汉字写入子程序 mov a,cod mov b,#20h mul ab mov dptr,#cctab1 add a,dpl push acc mov a,b addc a,dph push acc mov a,oy mov b,#ap mul ab add a,oxl mov oxl,a mov a,b addc a,#40h mov oy,a mov dptr,#wc_add mov a,#4fh movx @dptr,a mov count1,HGL1 cctw10: mov dptr,#wc_add mov a,#46h movx @dptr,a mov dptr,#wd_add mov a,oxl movx @dptr,a mov a,oy movx @dptr,a mov dptr,#wc_add mov a,#42h movx @dptr,a mov count2,HGL2 cctw20: pop dph pop dpl clr a movc a,@a+dptr inc dptr push dpl push dph mov dptr,#wd_add; movx @dptr,a djnz count2,cctw20 mov a,oxl add a,#01h mov oxl,a mov a,oy addc a,#00h mov oy,a djnz count1,cctw10 pop dph pop dpl ret 改变图形、汉字写入子程序中的count1、count2和cod三个参数值,就可以显示不同的图形和汉字。改变cod的值,可以找到调用字模代码的起始地址,两个逐字节扫描寄存器count1和count2的值的改变,即改变所扫描的字节数(count1×count2)。count2的值等于图形或汉字字模点阵的宽度,count1的值等于总字节数除以count2的值。下面的程序就是图形方式下的演示程序。 disp: mov oxl,#00h ;横坐标 mov oy,#00h ;纵坐标 mov cod,#00h ;调用字模代码 mov HGL1,#0ah ;华工激光公司的标志图, 宽度×高度=80×80点 mov HGL2,#50h lcall cctw0 ;调用图形、汉字写入子程序 mov oxl,#0Eh mov oy,#10h mov cod,#19h mov HGL1,#10h ;"华工激光",宽度×高度=32×128点 mov HGL2,#20h lcall cctw0 ret 本文根据SED1335等的电路特性和软件特性,以LMBGA_032_49CK_模块为例,对SED1335等控制器的接口电路和软件编程进行了分析。SED1335等控制器功能较强,可被广泛应用于各种显示设备上,笔者已将其成功应用于激光熔覆自动送粉系统和激光直写柔性布线系统中。各种液晶显示模块的控制器有很多相似之处,笔者也曾经应用过内置T6963C控制器的LCM?熏发现其接口电路和软件特性与SED1335的非常相似。 |