DIY编程器网

标题: LCD驱动器SD0432与嵌入式系统的接口设计 [打印本页]

作者: liyf    时间: 2014-10-5 09:12
标题: LCD驱动器SD0432与嵌入式系统的接口设计
LCD驱动器SD0432与嵌入式系统的接口设计

摘要:集成LCD显示驱动器SD0432是深圳兴威帆电子有限公司生产的低工作电压串行接口芯片,它内部具有看门狗(WDT)及语音输出电路。文中介绍了SD0432的工作特性及工作原理,给出了SD0432与8051嵌入式微处理器的接口电路及部分程序代码。    关键词:LCD显示驱动器 SD0432 嵌入式系统芯片8051 看门狗(WDT)
1 SD0432的主要特性
现今,随着LCD价格的下降,LCD的使用已经越来越普遍了,如在电脑显示器方面,大有LCD显示器取代CRT显示器的趋势。同时由于LCD显示器具有直观、小巧轻薄、耐用等特性,因而得到了广泛的使用。

    SD0432是具有128段(32×4位)和映射存储器的多功能LCD驱动器。通过配置可使之适合于多种LCD的应用场合。主控制器(如单片机)与SD0432之间的接口只需四根线。此外,SD0432还可以通过掉电指令来降低器件的功耗。SD0432的主要特性如下:
·工作电压范围为2.4V~5.2V;
·内含256kHz RC振荡器;
·外部32kHz晶振或256kHz时钟频率输入;
·1/2或1/3偏置选择及1/2、1/3或1/4占空比LCD显示;
·内含时基频率源;
·两个可选择的蜂鸣器频率;
·可用掉电命令降低功耗;
·内含时基发生器及看门狗定时器;
·时基或看门狗定时器溢出输出;
·具有八种时基/看门狗定时器时钟源;
·32×4 LCD驱动器;
·内含32×4位显示RAM;
·带有四线串行接口;
·内含LCD驱动信号源;
·具有软件配置特性;
·具有三种数据寻址模式;
·通过改变VLCD脚至VDD脚的串接电阻器调整LCD的工作电压;
·数据模式指令及命令模式指令R(Read)/W(Write)地址可以自动累加。

2 SD0432的引脚功能

3 结构原理
图1是SD0432的内部结构原理图,它主要由显示存储器RAM、系统振荡器、时基及看门狗定时器(WDT)、音频发生器、LCD驱动器及偏压发生器、控制和定时电路等部分组成。
3.1 显示存储器RAM
静态显示存储器(RAM)用以存储要显示的数据,其容量为32×4位。RAM的内容直接反映LCD驱动器的内容,RAM中的数据由READ、WRITE以及READ-MODIFY-WRITE指令进行存取。
3.2 看门狗定时器(WDT)
图2是SD0432中系统时基及看门狗(WDT)的结构图,时基发生器经过256分频可产生精确时基。看门狗定时器在此基础上,经过4分频产生中断,从未知或不希望的跳转及误操作中断主控制器或其他子系统,看门狗定时器结束将导致内部看门狗定时结束标志位置1。时基发生器及WDT定时结束标志的输出可通过命令选择与IRQ输出相连接。SD0432共有八个频率源适用于时基发生器及看门狗定时器时钟,该频率可由下式计算:
fout=32kHz/2 n
其中:n=0~7,32kHz为系统频率,可由32.768kHz晶振,256kHz内部振荡器或256kHz外部频率产生。
若采用片内振荡器或外部256kHz频率作为系统频率源,可通过一个三级预分频器将其分频为32kHz。使用时基发生器及WDT相关命令时应注意其相互的区别,因为两者共和一个八级计数器。例如:调用WDT DIS命令可禁止时基发生器,而WDT EN命令不仅使能时基发生器而且可输出WDT定时结束标志(将WDT定时结束标志接至IRQ引脚)。在TIMER EN命令发生后,WDT从IRQ引脚断开而时基发生器的输出端接至该引脚。CLR WDT命令可清零WDT,而时基发生器的内容则可由CLR WDT或CL TIMER命令清零,应在WD EN或TIMER EN命令前执行操作。
在IRQ EN命令执行前应执行CLR WDT命令,一旦出现WDT定时结束,IRQ引脚将保持低电平状态直至发出CLR WDT或者IRQ DIS命令,当IRQ引脚禁止后,其输出处于漏极开路状态,IRQ输出可由IRQ EN或IRQ DIS命令来使能或禁止,IRQ EN命令可以将时基发生器或WDT定时结束标志的输出送至IRQ引脚,时基发生器及WDT配置如图2所示。若采用片内RC振荡器或晶振,那么,在掉电模式时会降低功耗,因为可根据系统命令启动或关闭振荡器。但是,在掉电模式下,时基WDT将失去基所有功能。

[attach]31612[/attach]
图3


    另一方面,若系统频率源为一外部时钟,则SYS IDS无效且不能进入掉电模式,即在选用外部时钟源后,SD0432将持续工作直至系统断电或去掉外部时钟源。系统上电后,IRQ被禁止。
3.3 语音输出
SD0432中还集成了一个简单的音频发生器,此发声器可输出一对不同的驱动信号至BZ和BZ以产生单查,执行TONE 4k与TONE 2k命令可选择4khz和2khz这两个频率不同的音频输出,通过TONE ON及TONE OFF命令可打开或关闭语音输出。语音输出BZ和BZ是一对不同的带驱动蜂鸣器,当系统关闭或语音输出被禁止时,BZ及BZ处于低电平状态。
3.4 LCD驱动器
SD0432是128(32×4)段LCD驱动器,它可设置为1/2或1/3偏置,并可通过S/W配置设置为2、3或4个公共端的LCD驱动器,这使得SD0432适合多种LCD应用。LCD驱动时钟可从系统时钟内产生,一般为256kHz。
4 SD0432的命令格式及工作时序
4.1 SD0432的命令格式
SD0432可由S/W设置来配置。有两种命令模式,分别用来配置SD0432和传送LCD显示数据。配置SD0432的命令模式(普通模式)识别码为100,此命令模式由系统配置命令、LCD和配置命令、音频选择命令、定时器/看门狗定时器设置命令及操作命令组成。另一方面,数据模式包括READ、WRITE及READ-MODIFY-WITE操作。
模式识别码必须在数据/命令传送前发出。当连续发出命令时,可省略命令模式识别码即100。当系统操作处于不连续命令或不连续的地址数据模式时,CS引脚须置1且以前的操作模式将被复位。一旦CS清零,系统将首先发出一个新的操作模式识别码。
4.2 SD0432的工作时序
图3是SD0432的WRITE模式、READ模式和READ-MODIFY-WRITE模式的工作时序。
5 SD0432与8051的接口设计
5.1 硬件接口
图4所示是SD0432与单片机的硬件接口电路,可以看出,与SD0432接口只需四条线。其中CS线用以初始化串行接口电路且终止主控制器8051与SD0432的通信。若CS=1,主控制器8051及SD0432间发送的数据及命令首先被禁止进而进行初始化,在模式命令或模式转换命令发出前,需要一高电平脉冲以初始化SD0432的串行接口;数据的读/写命令及命令的写入必须通过DATA数据线。第二条RD为读输入,RAM内的数据在RD信号的下降沿同步被送至数据线上,以便主控制器可以在RD信号的上升沿及下一个下降沿到来期间读入正确的数据。第三条WR为写输入,数据线上的数据、地址及命令可在WR信号上升沿被写入SD0432。第四条是可选择的IRQ线,可用作主控制器件(8051CPU)及SD0432间的接口,IRQ引脚可通过S/W设置为定时器输出或WDT溢出标志输出。主控制器(8051CPU)可在与IRQ相连时执行时基或WDT功能。
图4电路在设计时,要注意以下几点:
一是VLCD应小于VDD。二是调节可变电阻器VR以改变LCD偏置电压。当VDD为5V,VLCD为4V时,R应为15kΩ±20%。第三是可通过调节R(外接上拉电阻器)来适应用户的基准时钟。
5.2 软件接口程序
(1)初始化程序
ORG 0000H
LJMP START
ORG 0100H
START: ;程序初始化
MOV COM_REG,#COM_MODE;启动SD0432
MOV COM_DATA,#01H
LCALL SD0432
MOV COM_REG,#COM_MODE ;LCD ON
MOV COM_DATA,#03H
LCALL SD0432
MOV COM_REG,#COM_MODE ;LCD 1/3偏置方式,4公共端
MOV COM_DATA,#29H
LCALL SD0432

    (2)SD0432与主控制器的通信子程序
该通信子程序主要用来实现MCU与SD0432之间的通信及传输指令与数据,指令模式存放在COM_REG中,指令数据存放在COM_DATA中,数据地址存放在ADD_REG中,数据存放在DATA-REG中。程序中的CLK是时钟子程序,其功能是发送时钟信号,以便使数据传送到SD0432中。具体的通讯子程序如下:
SD0432:CLR CS ;启动SD0432
MOV R2,#03H ;发送显示模式(3位)
MOV A,COM_REG
SENDMODE:NOP
MOV C,ACC.2
MOV SDATA,C
LCALL CLK
RLC A
DJNZ R2,SENDMODE
JNB ACC.3,SENDCOM
MOV R2,#06H ;发送数据地址(6位)
MOV A,ADD_REG
SENDADD:NOP
MOV C,ACC.5
MOV SDATA,C
LCALL CLK
RLC A
DJNZ R2,SENDADD
MOV R2,#04H ;发送数据(4位)
MOV A,DATA_REG
SENDDATA:NOP
MOV C,ACC.0
MOV SDATA,C
LCALL CLK
RRC A
DJNZ R2,SENDDATA
JMP SENDEND
]SENDCOM:MOV R2,#08H
MOV A,COM_DATA
SENDCOM1:NOP
MOV C,ACC.7
MOV SDATA,C
LCALL CLK
RLC A
DJNZ R2,SENDCOM1
CLR SDATA ;发送第九位
LCALL CLK
SENDEND:SETB CS ;关闭SD0432
RET
6 结束语
SD0432芯片具有接口简单、无需外围接口芯片、编程灵活等特点,同时内部具有其它LCD驱动器所不具有的看门狗(WDT)及语音输出电路。因而可广泛应用于仪器仪表、工业控制、条形显示器以及控制面板等场合。




欢迎光临 DIY编程器网 (http://diybcq.com/) Powered by Discuz! X3.2