⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ra8835.h

📁 C8051F020+RA8835 I/O口控制 中英文混合显示
💻 H
📖 第 1 页 / 共 2 页
字号:
/*
*********************************************************************
ra8835 操作的相关定义的头文件
*********************************************************************
*/
#ifndef  RA8835_H
#define  RA8835_H

#include "c8051f020.h"
/***************************与CPU接口管脚定义************************/

#define lcd_A0     P16
#define lcd_WR     P13
#define lcd_RD     P14
#define lcd_CS     P15
#define lcd_RES    P12
#define lcd_CMD    P5
#define lcd_DATA   P5

/***************************配置命令定义******************************/

//初始化设置命令和后续8字节参数 
#define SystemSet    0x40               // 时序要求:A0=1/WR=0;/RD=1    
      
/*
SystemSet初始化设置参数表,共八字节具体定义如下: 
P1     [ 0 | 0 | IV | 1 | W/S | M2 | M1 | M0 ] = 0x30 
         0    0   1    1    0    0    0    0 
         
    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        [ 0 | 0 | 0 | 0 |       FY      ] = 0x07 
            0   0   0   0   0   1   1   1 

    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[] 

#define Scroll        0x44        // 时序要求:/WR=0;/RD=1     

#define BasePart1    0x00 
#define BasePart2    0x40 
#define BasePart3    0x80 
#define BasePart4    0x00 

/*.............................................................................. 
该指令设置了四个显示区的起始地址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;后续参数:无 
#define SleepIn        0x53 

/*该指令强制RA8835进入休闲工作方式。在该指令输入后,RA8835等在扫描最后一行时 
将列驱动器清零;置YDIS=0,使液晶显示驱动系统关闭显示驱动电源;将显示存储器管理信 
号/VCE=1,以保护显示数据不被破坏;终止包括振荡器在内的所有内部逻辑电路的运行,但 
保存原设置的参数,使其进入休闲方式。退出休闲方式需要计算机重新写入’SYSTEM SET’指 
令的P1参数。该指令无效。 
*/ 

//显示状态设置。A0=1..ON/0..OFF;/WR=0;/RD=1.后续参数1字节: 
#define 	 DispOn        0x59 
#define    DispOff       0x58 

/*代码  [ 0 1 0 1 0 0 0 ON/OFF  ] 
该指令设置了显示的各种状态。他们有显示开关的设置,光标的显示状态的设置和各显示区 
显示状态的设置。在指令代码中就含有一个参数位:=0关显示;=1开显示。 
[说明]该参数位控制着显示的总开关状态。 
后续参数:[ FP5  FP4  FP3  FP2  FP1  FP0  FC1  FC0 ] 

FC1,FC0..光标状态设置位。他们组合设置了光标显示的4种状态: 
        ========================================== 
         FC1 FC0     光   标   状   态 
        ========================================== 
          0   0   光标显示关闭 
          0   1   光标显示但不闪烁 
          1   0   光标以 FR/32Hz 的频率闪烁显示 
          1   1   光标以 FR/64Hz 的频率闪烁显示 
        ========================================== 
        [注]光标闪烁的亮与暗占空比为7:3 

FP1,FP0...显示一区状态设置位.他们组合设置了一区显示的4种状态 
FP3,FP2...显示二、四区状态设置位.他们组合设置了二、四区显示的4种状态 
FP5,FP4...显示三区状态设置位.他们组合设置了三区显示的4种状态 
        ========================================== 
          FP1 FP0    显示一区显示状态 
          FP3 FP2    显示二、四区显示状态 
          FP5 FP4    显示三区显示状态 
        ========================================== 
           0   0    画面显示关闭 
           0   1    画面显示但不闪烁 
           1   0    画面以 FR/32Hz的频率闪烁显示 
           1   1    画面以 FR/64Hz的频率闪烁显示 
        ========================================== 
        [注]画面闪烁的亮与暗占空比为7:3 

[说明]:这些参数位都是控制着各显示区的显示状态。该状态的实现需要在总开关为开状态 
        时有效。 
*/ 

//显示合成方式设置。A0=1..写指令/0...读写参数;/WR=0;/RD=1.后续参数1字节: 

#define    Ovlay        0x5b 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -