LCD30程序.docx

上传人:b****5 文档编号:30221222 上传时间:2023-08-07 格式:DOCX 页数:48 大小:35.62KB
下载 相关 举报
LCD30程序.docx_第1页
第1页 / 共48页
LCD30程序.docx_第2页
第2页 / 共48页
LCD30程序.docx_第3页
第3页 / 共48页
LCD30程序.docx_第4页
第4页 / 共48页
LCD30程序.docx_第5页
第5页 / 共48页
点击查看更多>>
下载资源
资源描述

LCD30程序.docx

《LCD30程序.docx》由会员分享,可在线阅读,更多相关《LCD30程序.docx(48页珍藏版)》请在冰豆网上搜索。

LCD30程序.docx

LCD30程序

*==============================================================================

  SED1335驱动320x240图形液晶驱动演示程序

接口情况表述:

    No:

LCM-----52

    ---------------------

    1...VSS.....GND                    地线

    2...VDD.....+5V(VCC)                电源

    3...VO.....-VadjInput            对比度负压调整输入

    4...A0.....P2.0                    寄存器选择信号,命令数据方式选择

    5.../WR.....WR                        写有效

    6.../RD.....RD                        读有效

    7...D0.....P0.0                    数据总线D0

    8...D1.....P0.1                    数据总线D1

    9...D2.....P0.2                    数据总线D2

    10..D3.....P0.3                    数据总线D3

    11..D4.....P0.4                    数据总线D4

    12..D5.....P0.5                    数据总线D5

    13..D6.....P0.6                    数据总线D6

    14..D7.....P0.7                    数据总线D7

    15../CS    ....GND                    片选通信号,低电平有效.实际使用应编入地址

    16../RES..../RESET                    复位信号,低电平有效,阻容式复位电路

    17..VEE.....-Vout                    逆变-22.5V负电压输出

    18..VSS.....GND                    地线0V

==============================================================================      */

#include

#include

#include

#include

//变量类型标识的宏定义,大家都喜欢这么做

#define    Ucharunsignedchar

#defineUintunsignedint

Uint                    timer1,timer2;

//直接访问方式地址定义,根据用户平台接口修改

//P2.7~~~CS  P2.0---A0

charxdataLcmCmdPort    _at_0xCFFF;            //CS=0A0=1写命令口

charxdataLcmWdataPort    _at_    0xCFFE;        //CS=0A0=0写数据口

//charxdataLcmRdataPort_at_    0x7100;        //CS=0A0=1读数据口

//charxdataLcmStatusPort_at_    0x7000;    //CS=0A0=0读忙状态标志口

#defineLcmRdataPortLcmCmdPort

#defineLcmStatusPortLcmWdataPort

//============================1335常用指令列表===============================

//初始化设置。

A0=1..写指令/0...读写参数。

后续8字节参数串ParaSysTable8[]

#defineSystemSet    0x40                            //时序要求:

/WR=0;/RD=1    

Ucharcode                ParaSysTable8[]=

{

0x30,0x87,0x07,0x27,0x42,0xf0,0x28,0x00                  //P1-P8参数

};

//        30H,87H,07H,27H,42H,0F0H,30H,00H

/*SystemSet初始化设置参数表,共八字节具体定义如下:

P1    [DR|0|IV|1|W/S|M2|M1|M0]=0x38

          0  0  1  1    1  0  0  0

    DR....辅助位移时钟周期的选择位。

DR=0为正常运行;DR=1为使用辅助位移时钟周期。

        通常=0

      [说明]在控制双屏显示时需要液晶模块一行像素为64的整倍数,如果不是则控制器自

              动通过填充数据'0'来凑齐64位,此时就需要增加辅助位移时钟周期。

    IV....负向字符显示时屏面边界选择位。

=0为首行作为边界;=1则无边界。

通常=1

        [说明]在文本方式下,第一行显示的字符是顶天的,没有天头。

所以在制作负向字

            符显示时的效果就不太理想。

此时使用IV参数位在显示控制时制造出一行空行

            作为天头,以达到理想的显示效果。

    W/S...适配驱动系统选择位。

改为将选择产生驱动时序信号的类型。

0为单屏结构液晶

            显示驱动系统;1为双屏结构液晶显示驱动系统

    M2....外部字符发生器的字体选择位。

0=8*8;1=8*16

    M1....外部字符发生器Cgram代码区选择位。

0选择Cgram1字符代码为0x80~0x9f;1选择

            Cgram1+Cgram2,字符代码为0x80~9f和0xe0~0xff

    M0....字符发生器选择位.0为内部字符发生器;1为外部字符发生器。

        [说明]M2,M1,M0组合设置了字符发生器的结构

P2        [WF|0|0|0|0|  FX      ]=0x87

          1  0  0  0  0  1  1  1

    WF....交流驱动波形选择位。

0为C型驱动波形,行翻转驱动波形,交流驱动波形输出

            WF每16行翻转1次;1为B型驱动波形,交流驱动波形输出每一帧翻转1次,通常

            取1

    FX....字符体宽度设置参数(点列数)。

若FX大于实际字符体的宽度,则余出的部分

            作为空点置于字符体的右侧,形成字符字间距。

FX取值在0~7范围内,代表1~8

            列/字符体。

P3        [WF|0|0|0|        FY      ]=0x07

          0  0  0  0  0  1  1  1

    WF....同上;

    FY....字符体高度设置参数(点行数)。

若FY大于实际字符体的宽度,则余出的部分

            作为空点置于字符体的下方,形成字符行间距。

FY取值在0~0xf之间,代表1-16

            点行/字符体

P4        [            C/R                  ]=0x27

    C/R...有效显示窗口宽度设置参数。

C/R值设置了显示屏上一行显示所占显示存储器的

            单元数(字节数)。

C/R取值在0~0xef范围内,表示显示屏上一个显示行所占

            显示存储器的单元数为1~240个字节。

        [说明]C/R值可以选择得比显示屏的实际长度值小,但是余留部分不能超过64点列

            =8字节

P5        [            TC/R                ]=0x42

    TC/R..驱动频率的时间常数。

TC/R是晶振频率Fosc转换成液晶显示驱动工作频率FR的

            时间常数。

它可以简单地由下式求出:

                                        TC/R>=C/R+4

        [说明]该参数的设置有时是非常重要的。

错误的设置可引起以下几种现象:

            *行扫描停止且出现高对比度的水平线

            *显示不稳定,出现闪烁或全亮或全暗

            *LP信号不足或不存在。

            在取值时还是允许有一定的选取范围的。

            TC/R与震荡频率的关系为:

  Fosc>=9*TC/R*L/F*FR

            TC/R也可以由以上两个公式联合求出。

FR为液晶显示帧扫描频率,通常=70Hz.

            在控制大规模液晶显示模块时,最大震荡频率10MHz下,要满足TC/R取值要求,

            就要降低液晶显示的帧扫描频率了。

            

P6        [              L/F                ]=0xF0

    L/F...扫描驱动的帧参数。

L/F值设置了控制器所要控制的液晶显示驱动系统的扫描数,

            其倒数为占空比系数。

当液晶显示驱动系统为单屏结构时,L/F即为1帧的扫描

            行数;当液晶显示驱动系统为双屏结构时,L/F为1帧扫描行数的2倍,此时L/F

            必须为偶数值。

L/F取值范围在0~0xff范围内,对应扫描行数为1~256行。

P7        [            APL                    ]=0x30

P8        [            APH                    ]=0x00

    ap在显示存储器内分配一个显示行的单元数(字节数)。

ap为双字节参数,apl为低8位,

    aph为高8位。

通常AP取值为C/R+1或大于C/R值的整数,以方便计算个显示行的显示存

    储器地址。

    

*/

//显示域设置。

A0=1..写指令/0...读写参数。

后续10字节参数串ParaScrTableA[]

#defineScroll        0x44        //时序要求:

/WR=0;/RD=1    

#defineBasePart1    0x00

#defineBasePart2    0x40

#defineBasePart3    0x80

#defineBasePart4    0x00

Ucharcode                ParaScrTableA[]=

{

0x00,BasePart1,0xF0,0x00,BasePart2,0xF0,0x00,BasePart3,0x00,BasePart4

};

/*..............................................................................

该指令设置了四个显示区的起始地址SAD合格区所控制的显示行数SL.设置的参数与‘系统

设定’指令设置的参数结合将确定显示RAM中的各显示区域范围与有效的显示区域。

定时间

定量地递增或递减某区的起始地址SAD,将产生显示画面的平滑滚动。

该指令有10个参数。

部分参数的设置是有效的,但设置的顺序不能改变也不能省略。

Scroll初始化设置参数表,

共10字节具体定义如下:

................................................................................

P1        [    SAD1L    ]=0x00

P2        [    SAD1H    ]=0x00

    SAD1显示1区首地址。

SAD1确定了第1显示区的起始地址。

他由双字节组成。

    本区为显示主区间,占用8K空间

    

P3        [    SL1        ]=0xF0

    SL1显示一区所控制的显示屏上的行数:

0~(L/F)

................................................................................

P4        [    SAD2L    ]=0x00

P5        [    SAD2H    ]=0x40

    SAD2显示2区首地址。

SAD2确定了第2显示区的起始地址。

他由双字节组成。

    本参数表定义这个区占用8K空间

P6        [    SL2        ]=0xF0

    SL1显示2区所控制的显示屏上的行数:

0~(L/F)

................................................................................

P7        [    SAD3L    ]=0x00

P8        [    SAD3H    ]=0x40

    SAD3显示3区首地址。

SAD2确定了第3显示区的起始地址。

他由双字节组成。

    作为文本区定义,占用2K空间

................................................................................

P9        [    SAD4L    ]=0x00

P10        [    SAD4H    ]=0x48

    SAD4显示4区首地址。

SAD2确定了第4显示区的起始地址。

他由双字节组成。

    作为文本区定义,占用2K空间

................................................................................

后面预留空间将作为cgram使用

..............................................................................*/

//休闲模式设置。

A0=1;/WR=0;/RD=1;后续参数:

#defineSleepIn        0x53

/*该指令强制SED1335等进入休闲工作方式。

在该指令输入后,SED1335等在扫描最后一行时

将列驱动器清零;置YDIS=0,使液晶显示驱动系统关闭显示驱动电源;将显示存储器管理信

号/VCE=1,以保护显示数据不被破坏;终止包括振荡器在内的所有内部逻辑电路的运行,但

保存原设置的参数,使其进入休闲方式。

退出休闲方式需要计算机重新写入'SYSTEMSET'指

令的P1参数。

该指令无效。

*/

//显示状态设置。

A0=1..ON/0..OFF;/WR=0;/RD=1.后续参数1字节:

#defineDispOn        0x59

#define    DispOff        0x58

/*代码  [0101000ON/OFF  ]

该指令设置了显示的各种状态。

他们有显示开关的设置,光标的显示状态的设置和各显示区

显示状态的设置。

在指令代码中就含有一个参数位:

=0关显示;=1开显示。

[说明]该参数位控制着显示的总开关状态。

后续参数:

[FP5  FP4  FP3  FP2  FP1  FP0  FC1  FC0]

FC1,FC0..光标状态设置位。

他们组合设置了光标显示的4种状态:

        ==========================================

          FC1FC0      光  标  状  态

        ==========================================

          0  0  光标显示关闭

          0  1  光标显示但不闪烁

          1  0  光标以FR/32Hz的频率闪烁显示

          1  1  光标以FR/64Hz的频率闪烁显示

        ==========================================

        [注]光标闪烁的亮与暗占空比为7:

3

FP1,FP0...显示一区状态设置位.他们组合设置了一区显示的4种状态

FP3,FP2...显示二、四区状态设置位.他们组合设置了二、四区显示的4种状态

FP5,FP4...显示三区状态设置位.他们组合设置了三区显示的4种状态

        ==========================================

          FP1FP0    显示一区显示状态

          FP3FP2    显示二、四区显示状态

          FP5FP4    显示三区显示状态

        ==========================================

          0  0    画面显示关闭

          0  1    画面显示但不闪烁

          1  0    画面以FR/32Hz的频率闪烁显示

          1  1    画面以FR/64Hz的频率闪烁显示

        ==========================================

        [注]画面闪烁的亮与暗占空比为7:

3

[说明]:

这些参数位都是控制着各显示区的显示状态。

该状态的实现需

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 工作总结汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1