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

📄 ra8835.h

📁 C8051F020+RA8835 I/O口控制 中英文混合显示
💻 H
📖 第 1 页 / 共 2 页
字号:
/* 该指令设置了显示区的合成显示方式以及显示1区和3区的显示方式。该指令带有一个参 
数。参数的功能如下: 
    P    [ 0  0  0  OV  DM2  DM1  MX1  MX0 ] 
OV...显示合成设置位。=0为二重合成显示,用于文本与图形或图形与图形的混合显示;=1为 
    三重合成显示,仅用于图形混合显示。 
[说明1]:二重合成显示方式是将两个显示区的内容经某一种逻辑运算合成出新的显示数据 
    从而产生新的显示画面。该方式将以第一、第二显示区为主,第三第四显示区为辅的合 
    成,合成方式如下: 

    SAD2    +--------+ ---             SAD2    +----------+  --- 
            |L2      |                         |L2        |   ^ 
    SAD1  +--------+ |                 SAD1-+---------+   |   | 
          |L1      | | SL2                  |L1        |   | 
    (SL1) |           | |                (SL1) |            |   |  SL2 
          |           |-+ ---             SAD3 |---------|   |   | 
          |           | |                      |L3       |---+  --- 
          +--------+ + 新数据     (L/F-SL1)|            |   | 
                    逻辑                  +---------+ - +->新数据 
                    运算                              逻辑 
                                                      运算 
    (a)单屏结构:显示1,2区参加的  (b)单屏结构:显示1,2,3区参加的 
         二重合成显示方式              二重合成显示方式(一) 


    SAD2--  +----------+ ----          SAD2--  +-----------+ --- 
            | L2       | (SL2)                  | L2          | (SL2) 
    SAD1--+---------+  |              SAD1- +----------+  | 
          | L1        |--+ - SAD3         (SL1)  | L1       |--+ --- 
          |            |L3|                    |           |L4| (L/F-SL2) 
          |         |  | (SL3)          SAD3- +----------+  | 
          |            |--+ ----                | L3       |--+ --- 
          |            |  v           (L/F-SL1)|           |  v 
          +---------+- + 新数据                +----------+->+ 新数据  
                      逻辑                                逻辑 
                      运算                                运算 

    (c)单屏结构:显示1,2,3区参加的     (d)单屏结构:显示1,2,3,4区参加的 
         二重合成限时方式(二)                二重合成限时方式 

[说明2]:三重合成显示方式是将三个显示区的内容经某一种或二种逻辑运算合成出新的显示 
    数据从而产生新的显示画面。该方式将以第一、第二、第三显示区参加的合成,合成方 
    式如下: 


             SAD3------   +---------------+ 
                          | L3              | 
             SAD2----  +---------------+  | 
                       |L2               |  | 
             SAD1-- +---------------+  |  | 
                    |L1                |  |--+ 
                    |                |  |  | 
                    |                |--+  | 
                    |                |  v  v 
                    +---------------+->+--+->新数据 
                                       逻辑 
                                       运算 

MX1,MX0....显示合成方式设置位。组合设置了4种合成显示方式: 

  ============================================================================== 
    MX1  MX0                 合成方式                      用途 
  ============================================================================== 
     0    0     L1 or L2 or L3 简单逻辑或合成       底线坐标和文本图形混合显示   
     0    1     (L1 xor L2) or L3 逻辑异或。或合成  负向字符显示,区域内闪烁底线 
     1    0     (L1 and L2) or L3 逻辑与。或合成    简单动画立体表达式 
     1    1        L1 > L2 > L3 优先叠加               简单动画立体表达式 
  ============================================================================== 
 [说明] 
   1。合成显示产生的结果仅改变显示画面而不改变各显示区的内容 
   2。优先叠加合成显示是三个显示区以L1覆盖L2、L2覆盖L3的方式逻辑或合成显示,当关 
       闭L1时,L2和L3与L1相同的显示部分(为’1’处)被关闭;当L2被关闭时,L3与L2相同显 
       示的部分(为’1’处)被关闭。 

DM1.......显示一区的显示属性位。DM1=0设置显示一区为文本显示属性,其数据均作为字 
        符代码处理;=1设置显示一区为图形显示属性,其数据均作为图形数据处理。 

DM2.......显示三区的显示属性位。DM2=0设置显示三区为文本显示属性,其数据均作为字 
        符代码处理;=1设置显示三区为图形显示属性,其数据均作为图形数据处理。 
*/ 

//点位移设置。A0=1..写指令/0...读写参数;/WR=0;/RD=1.后续参数1字节: 
#define HdotScr        0x5a 

/*该指令设置了以点为单位的显示画面的水平位移量。该指令的作用有二:1。在制作负向 
显示字符时,与’SYSTEM SET’参数’IV’结合使用。通过设置该指令可以产生做边界,使得行 
首字符有比较好的显示效果。2。在制作画面滚动显示效果时与’SCROOLL’指令结合产生水平 
向点滚动的效果。但要注意的是该指令控制在显示数据合成之后向驱动系统输出之处,故该 
指令所产生的滚动效果是针对所有参加显示的区,因此,要想使某一显示区产生点滚动而其 
他显示区不动是不可能的??(可以在调用本指令以前先关闭其他显示区?) 
附带参数: [ 0 0 0 0 0    D    ] 
D......水平点位移参数。D取值在0~7,当D取值由0->7方向递增时,显示画面呈现左移效果, 
    反之右移。 
[说明]:与SCROLL指令结合使用方法:显示左移时,首先使用HDOY SCR指令使点位移参数从 
0->7然后使用SCROLL指令将显示起始地址SAD加1,并同时将HDOT SCR参数清零。循环上述过 
程,将产生显示水平向左点位移的效果。显示右移时,首先使用HDOY SCR指令使点位移参数 
从7->0,然后使用SCROLL指令将显示起始地址SAD减1,并同时将HDOT SCR参数置7。循环上 
述过程,将产生显示水平向右点位移的效果。 
*/ 

//光标形状设置。A0=1..写指令/0...读写参数;/WR=0;/RD=1.后续参数2字节 
#define    CsrForm    0x5d 

/* 该指令设置了光标的显示形状。光标的显示形状有线状形式和块状形式两种。光标的形 
状是可以设置的。该指令所带的两个参数将实现对光标形状的设置。两参数功能如下: 
    P1      [ 0  0  0  0  0     CRX    ] 
CRX....光标形状水平方向点列数。CRX取值 0~7,对应实际点列1~8点, CRX<=FX. 


    P2      [ CM  0  0  0  0    CRY    ] 
CRY....光标形状垂直方向点行数。CRY取值范围 1~FH,对应实际点行1~16行,CRY=0或 
            CRY>FY无效 
CM.....光标形状选择位。=0为线状光标显示;=12为块状光标显示。 
[说明]:线状光标的形状由CRX确定其长度,由CRY确定其所占的显示行数,当CRY=FY时, 
光标显示底线形式。光标显示仅在文本方式下有效。 
*/ 

//Cgram首地址设置.A0=1..写指令/0...读写参数;/WR=0;/RD=1.后续参数2字节 
#define CgramAdr    0x5c 

/* 该指令设置了CGRAM在显示存储器内的起始地址SAG.从该地址SAG起的2K字节空间(M2=0) 
或4K字节空间(M2=1)为CGRAM区域。该指令带有两个参数: 
   P1    [  SAGL  ] 
   P2    [  SAGH  ] 
SAG.... CGRAM起始地址。SAGL为SAG的低8位,SAGH为SAG的高8位。 
[说明]SAG所指向对应的是字符代码0的字模首地址,所以对于CGRAM1的首地址应该是SAG+ 
0x80*8,CGRAM2区域的字符代码为0xE0~0xFF,但是由于控制部在CGRAM2的首地址上安置了异 
或0x40的电路,所以,CGRAM2的地址应按0xA0~0xBF计算,即CGRAM2的首地址为SAG+0xA0*8 
*/ 

//光标移动方向设置。A0=1;/WR=0;/RD=1.后续参数:无 
#define CsrDirR        0x4c 
#define CsrDirL        0x4d 
#define CsrDirU        0x4e 
#define CsrDirD        0x4f 

/* 该指令规定了光标指针CSR在计算机读写显示数据后自动修复的方向,从显示效果来说, 
就是光标移动的方向设置。该指令的两个参数位DR1,DR0: 
        =========================== 
          DR1 DR0   自动定位方向 
        =========================== 
           0   0    右 
           0   1    左 
           1   0    上 
           1   1    下 
        =========================== 

*/ 
//光标指针设置。A0=1..写指令/0...读写参数;/WR=0/1;/RD=1/0(指令/后续参数读写).后 
//续参数2字节 

#define    CsrW        0x46 

/* 该指令设置了光标指针CSR.该指针有两个功能:1。作为当前光标显示的位置;2。作为 
显示存储器当前的地址指针。2个参数:CSRL,CSRH 

[说明]:当光标指针指向有效显示区域之外时,光标将自动消失,但不影响显示数据的读写。 
光标指针在计算机的每次读写显示数据操作后,将根据最近设置的光标指针移动方向而自动 
修正。光标指针不受画面滚动操作的影响。 
*/ 

//读取光标指针。A0=1..写指令/0...读写参数;/WR=0;/RD=1.后续参数2字节 
#define    CsrR        0x47 

/* 该指令代码写入后,计算机将从SED1335等数据通道读出当前的光标指针值。光标指针读 
出的顺序是先CSRL再CSRH. 
*/ 

//数据写入设置。A0=1..写指令/0...读写参数;/WR=0;/RD=1.后续参数N字节 
#define    mWrite        0x42 

/*该指令写入后将允许计算机连续的向显示存储器内写入数据。写入的单元地址由光标指针 
CSR提供,写操作完成后光标指针自动根据所设置的光标指针移动方向进行修改。显示数据 
写入操作在计算机写入下一指令代码后结束。 
*/ 

//数据读取设置。A0=1..写指令/0...读写参数;/WR=0;/RD=1.后续参数N字节 
#define    mRead        0x43 

/*该指令写入将允许计算机连续地从显示存储器内读取数据。读取的单元地址由光标指针 
CSR提供读操作完成后,光标指针自动根据所设定的光标移动方向进行修改。显示数据读取 
操作在计算机写入下一个指令代码后结束。 
*/ 

//读状态位:A0=0;WR=1;RD=0.无指令无参数 


bit        wAttrib;            // 字符的写入方式:1为初次写入;0为接续写入 

// 程序参数定义,根据用户选择的LCM型号修改 
#define  	 Busy        0x40        // 忙状态标志位0b0100 0000 
#define    paraP9        0x28        // 相对于320 X 240 


#endif

⌨️ 快捷键说明

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