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

📄 lcd 240128 t6963c c51程序(1:主程序) .txt

📁 this a example of led 128x64
💻 TXT
📖 第 1 页 / 共 3 页
字号:
            wr_data(char_sequence_number+1); //写数据
            wr_cmd_0(LC_UNCHANGED_WR);     //写命令


            //写汉字右上角
            row-=1;col+=1;//右上角上一行,下一列
            char_addr_Pointer_Set(row,col);//设置Vram地址
            wr_data(char_sequence_number+2); //写数据
            wr_cmd_0(LC_UNCHANGED_WR);     //写命令

            //写汉字右下角
            row+=1;//右下角下一行
            char_addr_Pointer_Set(row,col);//设置Vram地址
            wr_data(char_sequence_number+3); //写数据
            wr_cmd_0(LC_UNCHANGED_WR);     //写命令

            row-=1; col+=1;                 //指向下一汉字位置
            if(col==30){row+=2;col=0;}
        }
    }
}

/**********************************
//= 函数原型: void ShowChar(uchar row,uchar col)
//= 功    能: 在指定行列反显一个字符8*16
//= 参    数: 行,列
//= 返 回 值:
//= 函数性质:公有函数
**********************************/
void negative_showchar(uchar col,uchar row,uchar n,bit attribute)
{
   uint Addr;
   uchar line,dat,i;
   row/=8;col/=8;
   dat=0;//不反显数据
   if (attribute)dat=0xff;//反显数据
   for(i=0;i<n;i++)
   {
//        for(line=0;line<16;line++)
       for(line=1;line<15;line++)
       {

         Addr=(uint)(row*8+line)*30 + col+i+grhome;//一row占8line,一line30个字节.一列1字节图
         wr_cmd_2(LC_ADD_POS,Addr);//设置白线开始地址
         wr_data(dat);//画一条白线
         wr_cmd_0(LC_UNCHANGED_WR);
       }
   }
}
/**********************************
//= 函数原型: void fill_CGRAM(void)
//= 功    能: 填充CGRAM数据
//= 参    数:
//= 返 回 值:
//= 函数性质:私有函数
**********************************/
void fill_CGRAM(void)
{
    uint i,char_sequence_number;
    uint hz_adder;
    uchar code *p;
    //处理ASCII点阵
    for (char_sequence_number=0;ASCII_SUB_INDEX[char_sequence_number]!='\0';char_sequence_number++)
    {
        for(i=0;ASCII_LIB_INDEX[i]!='\0';i++)//从总表中定位要显示字符的位置
        {
            if (ASCII_SUB_INDEX[char_sequence_number]==ASCII_LIB_INDEX[i])
            {
                break;
            }
        }
        
        if(ASCII_LIB_INDEX[i]=='\0'){i=1;}//字符不存在,则装载第一字符,非0个

        i=i*16;//每个ASCII字符16个字节
        p = &ASCII_DOT_LIB[i];

        wr_cmd_2(LC_ADD_POS,CGRAMSTART+char_sequence_number*16);//设置CGRAM开始地址
        wr_cmd_0(LC_AUT_WR);
        for(i=0;i<16;i++)
        {
            awr_data(*p++); // 写数据
        }
        wr_cmd_0(LC_AUT_OVR); // 自动写结束
    }

    hz_adder = CGRAMSTART+char_sequence_number*16;
    //处理汉字点阵
    for (char_sequence_number=0;HZ_SUB_INDEX[char_sequence_number]!='\0';char_sequence_number+=2)
    {
        for(i=0;HZ_LIB_INDEX[i]!='\0';i+=2)//从总表中定位要显示字符的位置
        {
            if ((HZ_SUB_INDEX[char_sequence_number]==HZ_LIB_INDEX[i])&&(HZ_SUB_INDEX[char_sequence_number+1]==HZ_LIB_INDEX[i+1]))
            {
                break;
            }
        }
        if(HZ_LIB_INDEX[i]=='\0'){i=0;}
        i=i*16;//每个hz占32个字节
        p = &HZ_DOT_LIB[i];

        wr_cmd_2(LC_ADD_POS,hz_adder+char_sequence_number*16);//设置CGRAM开始地址
        wr_cmd_0(LC_AUT_WR);
        for(i=0;i<32;i++)
        {
            awr_data(*p++); // 写数据
        }
        wr_cmd_0(LC_AUT_OVR); // 自动写结束
    }
}






头文件

 

#ifndef t6963c_h //防止在同一模块多次包含
   #define t6963c_h 1
   #ifdef t6963c_c
      #define ulong unsigned long
      #define uint unsigned int
      #define uchar unsigned char
      #i nclude <absacc.h>
      #i nclude <math.h>
      #i nclude <INTRINS.H>

      //显示内存分配
      //0000h-67ffh 文本区
      //6800h-77ffh 4K 图形区
      //7800h-7fffh 2k CGRAM区
      #define DISRAM_SIZE 0X7FFF  //设置显示ram的大小
      #define TXTSTART 0x0000      //设置文本区的起始地址
      #define GRSTART 0x6800       //设置图形区的起始地址
      #define CGRAMSTART 0x7800  //设置CGRAM的起始地址


      #define STX 0x02
      #define ETX 0x03
      #define BS 0x08
      #define CR 0x0D
      #define LF 0x0A
      #define SPACE 0x20
      #define TRUE 1
      #define FALSE 0
      #define HIGH 1
      #define LOW 0


      // T6963C 端口定义
      #define LCMDP XBYTE[0x8100] // 数据口
      #define LCMCP XBYTE[0x8101] // 命令口
      #define LCMRESET XBYTE[0x8300] // 复位口

      // T6963C 命令常数定义
      #define LC_CUR_POS 0x21 // 光标位置设置
      #define LC_CGR_OFFSET 0x22 // CGRAM偏置地址设置
      #define LC_ADD_POS 0x24 // 地址指针设置
      #define LC_TXT_HOME 0x40 // 文本区首址
      #define LC_TXT_AREA 0x41 // 文本区宽度
      #define LC_GRH_HOME 0x42 // 图形区首址
      #define LC_GRH_AREA 0x43 // 图形区宽度
      #define LC_MOD_OR 0x80 // 显示方式:逻辑“或”
      #define LC_MOD_XOR 0x81 // 显示方式:逻辑“异或”
      #define LC_MOD_AND 0x82 // 显示方式:逻辑“与”
      #define LC_MOD_TCH 0x83 // 显示方式:文本特征
      #define LC_DIS_SW 0x90 // 显示开关:D0=1/0:光标闪烁启用/禁用;
      // D1=1/0:光标显示启用/禁用;
      // D2=1/0:文本显示启用/禁用;
      // D3=1/0:图形显示启用/禁用;
      #define LC_CUR_SHP 0xA0 // 光标形状选择:0xA0-0xA7 表示光标占的行数
      #define LC_AUT_WR 0xB0 // 自动写设置
      #define LC_AUT_RD 0xB1 // 自动读设置
      #define LC_AUT_OVR 0xB2 // 自动读/写结束
      #define LC_INC_WR 0xC0 // 数据一次写,地址加1
      #define LC_INC_RD 0xC1 // 数据一次读,地址加1
      #define LC_DEC_WR 0xC2 // 数据一次写,地址减1
      #define LC_DEC_RD 0xC3 // 数据一次读,地址减1
      #define LC_UNCHANGED_WR 0xC4 // 数据一次写,地址不变
      #define LC_UNCHANGED_RD 0xC5 // 数据一次读,地址不变
      #define LC_SCN_RD 0xE0 // 屏读
      #define LC_SCN_CP 0xE8 // 屏拷贝
      #define LC_BIT_OP 0xF0 // 位操作:D0-D2:定义D0-D7 位;D3:1 置位;0:清除

//字母点阵库索引
uchar code ASCII_LIB_INDEX[]={" -/%.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZmin"};
//字母点阵定义
uchar code ASCII_DOT_LIB[]=
{
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // - -
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // ---
    0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,

    0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x06,  // -/-
    0x0C,0x18,0x30,0x60,0xC0,0x80,0x00,0x00,

    0x00,0x00,0x00,0x00,0x00,0x00,0xC2,0xC6,  // -%-
    0x0C,0x18,0x30,0x60,0xC6,0x86,0x00,0x00,

    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // -.-
    0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,

    0x00,0x00,0x00,0x00,0x7C,0xC6,0xC6,0xCE,  // -0-
    0xD6,0xD6,0xE6,0xC6,0xC6,0x7C,0x00,0x00,

    0x00,0x00,0x00,0x00,0x18,0x38,0x78,0x18,  // -1-
    0x18,0x18,0x18,0x18,0x18,0x7E,0x00,0x00,

    0x00,0x00,0x00,0x00,0x7C,0xC6,0x06,0x0C,  // -2-
    0x18,0x30,0x60,0xC0,0xC6,0xFE,0x00,0x00,

    0x00,0x00,0x00,0x00,0x7C,0xC6,0x06,0x06,  // -3-
    0x3C,0x06,0x06,0x06,0xC6,0x7C,0x00,0x00,

    0x00,0x00,0x00,0x00,0x0C,0x1C,0x3C,0x6C,  // -4-
    0xCC,0xFE,0x0C,0x0C,0x0C,0x1E,0x00,0x00,

    0x00,0x00,0x00,0x00,0xFE,0xC0,0xC0,0xC0,  // -5-
    0xFC,0x0E,0x06,0x06,0xC6,0x7C,0x00,0x00,

    0x00,0x00,0x00,0x00,0x38,0x60,0xC0,0xC0,  // -6-
    0xFC,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,

    0x00,0x00,0x00,0x00,0xFE,0xC6,0x06,0x06,  // -7-
    0x0C,0x18,0x30,0x30,0x30,0x30,0x00,0x00,

    0x00,0x00,0x00,0x00,0x7C,0xC6,0xC6,0xC6,  // -8-
    0x7C,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,

    0x00,0x00,0x00,0x00,0x7C,0xC6,0xC6,0xC6,  // -9-
    0x7E,0x06,0x06,0x06,0x0C,0x78,0x00,0x00,

    0x00,0x00,0x00,0x00,0x10,0x38,0x6C,0xC6,  // -A-
    0xC6,0xFE,0xC6,0xC6,0xC6,0xC6,0x00,0x00,

    0x00,0x00,0x00,0x00,0xFC,0x66,0x66,0x66,  // -B-
    0x7C,0x66,0x66,0x66,0x66,0xFC,0x00,0x00,

    0x00,0x00,0x00,0x00,0x3C,0x66,0xC2,0xC0,  // -C-
    0xC0,0xC0,0xC0,0xC2,0x66,0x3C,0x00,0x00,

    0x00,0x00,0x00,0x00,0xF8,0x6C,0x66,0x66,  // -D-
    0x66,0x66,0x66,0x66,0x6C,0xF8,0x00,0x00,

    0x00,0x00,0x00,0x00,0xFE,0x66,0x62,0x68,  // -E-
    0x78,0x68,0x60,0x62,0x66,0xFE,0x00,0x00,

    0x00,0x00,0x00,0x00,0xFE,0x66,0x62,0x68,  // -F-
    0x78,0x68,0x60,0x60,0x60,0xF0,0x00,0x00,

    0x00,0x00,0x00,0x00,0x3C,0x66,0xC2,0xC0,  // -G-
    0xC0,0xDE,0xC6,0xC6,0x66,0x3A,0x00,0x00,

    0x00,0x00,0x00,0x00,0xC6,0xC6,0xC6,0xC6,  // -H-
    0xFE,0xC6,0xC6,0xC6,0xC6,0xC6,0x00,0x00,

    0x00,0x00,0x00,0x00,0x3C,0x18,0x18,0x18,  // -I-
    0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,

    0x00,0x00,0x00,0x00,0x1E,0x0C,0x0C,0x0C,  // -J-
    0x0C,0x0C,0xCC,0xCC,0xCC,0x78,0x00,0x00,

    0x00,0x00,0x00,0x00,0xE6,0x66,0x6C,0x6C,  // -K-
    0x78,0x78,0x6C,0x66,0x66,0xE6,0x00,0x00,

    0x00,0x00,0x00,0x00,0xF0,0x60,0x60,0x60,  // -L-
    0x60,0x60,0x60,0x62,0x66,0xFE,0x00,0x00,

    0x00,0x00,0x00,0x00,0xC6,0xEE,0xFE,0xFE,  // -M-
    0xD6,0xC6,0xC6,0xC6,0xC6,0xC6,0x00,0x00,

    0x00,0x00,0x00,0x00,0xC6,0xE6,0xF6,0xFE,  // -N-
    0xDE,0xCE,0xC6,0xC6,0xC6,0xC6,0x00,0x00,

    0x00,0x00,0x00,0x00,0x38,0x6C,0xC6,0xC6,  // -O-
    0xC6,0xC6,0xC6,0xC6,0x6C,0x38,0x00,0x00,

    0x00,0x00,0x00,0x00,0xFC,0x66,0x66,0x66,  // -P-
    0x7C,0x60,0x60,0x60,0x60,0xF0,0x00,0x00,

    0x00,0x00,0x00,0x00,0x7C,0xC6,0xC6,0xC6,  // -Q-
    0xC6,0xC6,0xC6,0xD6,0xDE,0x7C,0x0C,0x0E,

    0x00,0x00,0x00,0x00,0xFC,0x66,0x66,0x66,  // -R-
    0x7C,0x6C,0x66,0x66,0x66,0xE6,0x00,0x00,

    0x00,0x00,0x00,0x00,0x7C,0xC6,0xC6,0x60,  // -S-
    0x38,0x0C,0x06,0xC6,0xC6,0x7C,0x00,0x00,

    0x00,0x00,0x00,0x00,0x7E,0x7E,0x5A,0x18,  // -T-
    0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,

    0x00,0x00,0x00,0x00,0xC6,0xC6,0xC6,0xC6,  // -U-
    0xC6,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,

    0x00,0x00,0x00,0x00,0xC6,0xC6,0xC6,0xC6,  // -V-
    0xC6,0xC6,0xC6,0x6C,0x38,0x10,0x00,0x00,

    0x00,0x00,0x00,0x00,0xC6,0xC6,0xC6,0xC6,  // -W-
    0xC6,0xD6,0xD6,0xFE,0x6C,0x6C,0x00,0x00,

    0x00,0x00,0x00,0x00,0xC6,0xC6,0x6C,0x6C,  // -X-
    0x38,0x38,0x6C,0x6C,0xC6,0xC6,0x00,0x00,

    0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,  // -Y-
    0x3C,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,

    0x00,0x00,0x00,0x00,0xFE,0xC6,0x86,0x0C,  // -Z-
    0x18,0x30,0x60,0xC2,0xC6,0xFE,0x00,0x00,

    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xEC,  // -m-
    0xFE,0xD6,0xD6,0xD6,0xD6,0xD6,0x00,0x00,

    0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x38,  // -i-
    0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,

    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xDC,  // -n-
    0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00
};

uchar code HZ_LIB_INDEX[]={"电子织物强力机常一纺仪话新续刘玉宏\
设置试验检索统计帮助上下页确定拉速返隔距样宽\
度次数测力量程强伸长时间断裂率最大小平均回\
第去皮剔除中当前联"};

uchar code HZ_DOT_LIB[]=
{
//-- 电 --
      0x00,0x00,
      0x01,0x01,0x1F,0x11,0x11,0x1F,0x11,0x11,
      0x1F,0x01,0x01,0x00,0x00,0x00,0x00,0x00,
      0x00,0x10,0xF8,0x10,
      0x10,0xF0,0x10,0x10,0xF0,0x04,0x04,0xFC,
      0x00,0x00,
//-- 子 --
      0x00,0x00,
      0x0F,0x00,0x00,0x00,0x00,0x1F,0x00,0x00,
      0x00,0x00,0x04,0x03,0x00,0x00,0x00,0x00,
      0xF0,0x20,0x40,0x80,
      0x88,0xFC,0x80,0x80,0x80,0x80,0x80,0x80,
      0x00,0x00,
//-- 织 --
      0x00,0x00,
      0x08,0x08,0x12,0x14,0x3C,0x08,0x10,0x3C,
      0x00,0x0D,0x32,0x04,0x00,0x00,0x00,0x00,
      0x00,0xF8,0x88,0x88,
      0x88,0xF8,0x88,0x00,0x90,0x08,0x04,0x04,
      0x00,0x00,
//-- 物 --
      0x00,0x00,
      0x08,0x08,0x28,0x3D,0x2A,0x28,0x0E,0x39,
      0x0A,0x08,0x0B,0x08,0x00,0x00,0x00,0x00,
      0x80,0x80,0xFC,0x54,
      0x54,0x54,0xA4,0x28,0x48,0x88,0x48,0x30,
      0x00,0x00,
//-- 强 --
      0x00,0x00,
      0x3D,0x05,0x05,0x3D,0x20,0x21,0x3D,0x05,
      0x05,0x04,0x2B,0x10,0x00,0x00,0x00,0x00,
      0xF8,0x08,0x08,0xF8,
      0x40,0xF8,0x48,0xF8,0x40,0x48,0xFC,0x04,
      0x00,0x00,
//-- 力 --
      0x00,0x00,
      0x01,0x01,0x01,0x1F,0x01,0x01,0x01,0x01,
      0x02,0x04,0x08,0x30,0x00,0x00,0x00,0x00,
      0x00,0x00,0x08,0xFC,
      0x08,0x08,0x08,0x08,0x08,0x08,0x50,0x20,
      0x00,0x00,
//-- 机 --
      0x00,0x00,
      0x08,0x08,0x3E,0x08,0x18,0x1C,0x2A,0x28,
      0x08,0x08,0x09,0x0A,0x00,0x00,0x00,0x00,
      0x10,0xF8,0x90,0x90,
      0x90,0x90,0x90,0x90,0x90,0x94,0x14,0x0C,
      0x00,0x00,
//-- 常 --
      0x00,0x00,
      0x09,0x05,0x1F,0x10,0x27,0x04,0x07,0x01,
      0x0F,0x09,0x09,0x01,0x00,0x00,0x00,0x00,
      0x20,0x40,0xFC,0x04,
      0xE8,0x20,0xE0,0x00,0xF0,0x10,0x30,0x00,
      0x00,0x00,
//-- 一 --
      0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,
      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,0x00,0x00,
      0x08,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,
      0x00,0x00,
//-- 纺 --
      0x00,0x00,
      0x08,0x08,0x12,0x15,0x3C,0x08,0x10,0x3E,
      0x00,0x0C,0x31,0x02,0x00,0x00,0x00,0x00,
      0x40,0x20,0x08,0xFC,
      0x40,0x78,0x48,0x48,0x88,0x88,0x28,0x10,
      0x00,0x00,
//-- 仪 --
      0x00,0x00,
      0x04,0x04,0x08,0x0A,0x19,0x29,0x08,0x08,
      0x08,0x08,0x09,0x0A,0x00,0x00,0x00,0x00,
      0x80,0x48,0x48,0x10,
      0x10,0x10,0xA0,0x40,0x40,0xA0,0x10,0x0C,
      0x00,0x00,
//-- 话 --
      0x00,0x00,
      0x10,0x0B,0x08,0x00,0x3B,0x08,0x09,0x09,
      0x09,0x0D,0x09,0x01,0x00,0x00,0x00,0x00,
      0x38,0xC0,0x40,0x48,
      0xFC,0x40,0xF8,0x08,0x08,0x08,0xF8,0x08,
      0x00,0x00,
/*新   CD0C2 */
0x00,0x00,
0x10,0xFD,0x49,0x29,0xFF,0x11,0x7D,0x11,
0x59,0x55,0x92,0x34,0x00,0x00,0x00,0x00,
0x30,0xC0,0x00,0x00,
0xF0,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
0x00,0x00,

/*续   CD0F8 */
0x00,0x00,
0x21,0x27,0x41,0x5F,0xE4,0x22,0x44,0xF2,
0x0F,0x31,0xC2,0x1C,0x00,0x00,0x00,0x00,
0x00,0xE0,0x00,0xF0,
0x10,0x80,0x80,0x80,0xF0,0x00,0xC0,0x20,
0x00,0x00,

/*刘   CC1F5 */
0x00,0x00,

⌨️ 快捷键说明

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