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

📄 t6963c.lst

📁 含多种常用液晶驱动芯片和点阵驱动程序样例,有很好的参考价值,本人特意会集上传
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V6.14  T6963C                                                                 07/20/2001 09:36:51 PAGE 1   


C51 COMPILER V6.14, COMPILATION OF MODULE T6963C
OBJECT MODULE PLACED IN .\T6963C.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE .\T6963C.c LARGE DEBUG OBJECTEXTEND

stmt level    source

   1          /************************************************************************************/
   2          /* LCM(MGLS-240128TA)显示程序														*/
   3          /* MCU 型号: Winbond W78E58-24														*/
   4          /* 时钟频率: 22.1184 MHz															*/
   5          /* 接口方式: 直接接口(挂总线)														*/
   6          /* 开发环境: Keil C51 V6.14															*/
   7          /* 开发日期: 2001.06.12-															*/
   8          /* 程序编写: Youth																	*/
   9          /************************************************************************************/
  10          #include <absacc.h>
  11          #include <reg52.h>
  12          #include <stdarg.h>
  13          #include <stdio.h>
  14          
  15          #define ulong		unsigned long
  16          #define uint		unsigned int
  17          #define uchar		unsigned char
  18          
  19          #define STX			0x02
  20          #define ETX			0x03
  21          #define EOT			0x04
  22          #define ENQ			0x05
  23          #define BS			0x08
  24          #define CR			0x0D
  25          #define LF			0x0A
  26          #define DLE			0x10
  27          #define ETB			0x17
  28          #define SPACE		0x20
  29          #define COMMA		0x2C
  30                          	
  31          #define TRUE		1
  32          #define FALSE		0
  33                          	
  34          #define HIGH		1
  35          #define LOW			0
  36          
  37          // T6963C 端口定义
  38          #define LCMDW		XBYTE[0x5000]		// 数据口
  39          #define LCMCW		XBYTE[0x5002]		// 命令口
  40          
  41          // T6963C 命令定义
  42          #define LC_CUR_POS	0x21		// 光标位置设置
  43          #define LC_CGR_POS	0x22		// CGRAM偏置地址设置
  44          #define LC_ADD_POS	0x24		// 地址指针位置
  45          #define LC_TXT_STP	0x40		// 文本区首址
  46          #define LC_TXT_WID	0x41		// 文本区宽度
  47          #define LC_GRH_STP	0x42		// 图形区首址
  48          #define LC_GRH_WID	0x43		// 图形区宽度
  49          #define LC_MOD_OR	0x80		// 显示方式:逻辑“或”
  50          #define LC_MOD_XOR	0x81		// 显示方式:逻辑“异或”
  51          #define LC_MOD_AND	0x82		// 显示方式:逻辑“与”
  52          #define LC_MOD_TCH	0x83		// 显示方式:文本特征
  53          #define LC_DIS_SW	0x90		// 显示开关:D0=1/0:光标闪烁启用/禁用;
  54          								// 			 D1=1/0:光标显示启用/禁用;
  55          								// 			 D2=1/0:文本显示启用/禁用;
C51 COMPILER V6.14  T6963C                                                                 07/20/2001 09:36:51 PAGE 2   

  56          								// 			 D3=1/0:图形显示启用/禁用;
  57          #define LC_CUR_SHP	0xA0		// 光标形状选择:0xA0-0xA7表示光标占的行数
  58          #define LC_AUT_WR	0xB0		// 自动写设置
  59          #define LC_AUT_RD	0xB1		// 自动读设置
  60          #define LC_AUT_OVR	0xB2		// 自动读/写结束
  61          #define LC_INC_WR	0xC0		// 数据一次写,地址加1
  62          #define LC_INC_RD	0xC1		// 数据一次读,地址加1
  63          #define LC_DEC_WR	0xC2		// 数据一次写,地址减1
  64          #define LC_DEC_RD	0xC3		// 数据一次读,地址减1
  65          #define LC_NOC_WR	0xC4		// 数据一次写,地址不变
  66          #define LC_NOC_RD	0xC5		// 数据一次读,地址不变
  67          #define LC_SCN_RD	0xE0		// 屏读
  68          #define LC_SCN_CP	0xE8		// 屏拷贝
  69          #define LC_BIT_OP	0xF0		// 位操作:D0-D2:定义D0-D7位;D3:1置位;0:清除
  70          
  71          code uchar const uPowArr[]  = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
  72          
  73          // ASCII 字模宽度及高度定义
  74          #define ASC_CHR_WIDTH		 8
  75          #define ASC_CHR_HEIGHT		12
  76          // ASCII 字模,显示为8*16
  77          char code ASC_MSK[96*12] = {
  78          // Terminal9;  此字体下对应的点阵为:宽x高=8x12
  79          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,	// < 0x20时,打印此字
  80          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,	// ' '
  81          0x00,0x0C,0x1E,0x1E,0x1E,0x0C,0x0C,0x00,0x0C,0x0C,0x00,0x00,	// '!'
  82          0x00,0x66,0x66,0x66,0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00,	// '"'
  83          0x00,0x36,0x36,0x7F,0x36,0x36,0x36,0x7F,0x36,0x36,0x00,0x00,	// '#'
  84          0x0C,0x0C,0x3E,0x03,0x03,0x1E,0x30,0x30,0x1F,0x0C,0x0C,0x00,	// '$'
  85          0x00,0x00,0x00,0x23,0x33,0x18,0x0C,0x06,0x33,0x31,0x00,0x00,	// '%'
  86          0x00,0x0E,0x1B,0x1B,0x0E,0x5F,0x7B,0x33,0x3B,0x6E,0x00,0x00,	// '&'
  87          0x00,0x0C,0x0C,0x0C,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,	// '''
  88          0x00,0x30,0x18,0x0C,0x06,0x06,0x06,0x0C,0x18,0x30,0x00,0x00,	// '('
  89          0x00,0x06,0x0C,0x18,0x30,0x30,0x30,0x18,0x0C,0x06,0x00,0x00,	// ')'
  90          0x00,0x00,0x00,0x66,0x3C,0xFF,0x3C,0x66,0x00,0x00,0x00,0x00,	// '*'
  91          0x00,0x00,0x00,0x18,0x18,0x7E,0x18,0x18,0x00,0x00,0x00,0x00,	// '+'
  92          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x06,0x00,	// ','
  93          0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,	// '-'
  94          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x00,0x00,	// '.'
  95          0x00,0x00,0x40,0x60,0x30,0x18,0x0C,0x06,0x03,0x01,0x00,0x00,	// '/'
  96          0x00,0x3E,0x63,0x73,0x7B,0x6B,0x6F,0x67,0x63,0x3E,0x00,0x00,	// '0'
  97          0x00,0x08,0x0C,0x0F,0x0C,0x0C,0x0C,0x0C,0x0C,0x3F,0x00,0x00,	// '1'
  98          0x00,0x1E,0x33,0x33,0x30,0x18,0x0C,0x06,0x33,0x3F,0x00,0x00,	// '2'
  99          0x00,0x1E,0x33,0x30,0x30,0x1C,0x30,0x30,0x33,0x1E,0x00,0x00,	// '3'
 100          0x00,0x30,0x38,0x3C,0x36,0x33,0x7F,0x30,0x30,0x78,0x00,0x00,	// '4'
 101          0x00,0x3F,0x03,0x03,0x03,0x1F,0x30,0x30,0x33,0x1E,0x00,0x00,	// '5'
 102          0x00,0x1C,0x06,0x03,0x03,0x1F,0x33,0x33,0x33,0x1E,0x00,0x00,	// '6'
 103          0x00,0x7F,0x63,0x63,0x60,0x30,0x18,0x0C,0x0C,0x0C,0x00,0x00,	// '7'
 104          0x00,0x1E,0x33,0x33,0x37,0x1E,0x3B,0x33,0x33,0x1E,0x00,0x00,	// '8'
 105          0x00,0x1E,0x33,0x33,0x33,0x3E,0x18,0x18,0x0C,0x0E,0x00,0x00,	// '9'
 106          0x00,0x00,0x00,0x1C,0x1C,0x00,0x00,0x1C,0x1C,0x00,0x00,0x00,	// ':'
 107          0x00,0x00,0x00,0x1C,0x1C,0x00,0x00,0x1C,0x1C,0x18,0x0C,0x00,	// ';'
 108          0x00,0x30,0x18,0x0C,0x06,0x03,0x06,0x0C,0x18,0x30,0x00,0x00,	// '<'
 109          0x00,0x00,0x00,0x00,0x7E,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,	// '='
 110          0x00,0x06,0x0C,0x18,0x30,0x60,0x30,0x18,0x0C,0x06,0x00,0x00,	// '>'
 111          0x00,0x1E,0x33,0x30,0x18,0x0C,0x0C,0x00,0x0C,0x0C,0x00,0x00,	// '?'
 112          0x00,0x3E,0x63,0x63,0x7B,0x7B,0x7B,0x03,0x03,0x3E,0x00,0x00,	// '@'
 113          0x00,0x0C,0x1E,0x33,0x33,0x33,0x3F,0x33,0x33,0x33,0x00,0x00,	// 'A'
 114          0x00,0x3F,0x66,0x66,0x66,0x3E,0x66,0x66,0x66,0x3F,0x00,0x00,	// 'B'
 115          0x00,0x3C,0x66,0x63,0x03,0x03,0x03,0x63,0x66,0x3C,0x00,0x00,	// 'C'
 116          0x00,0x1F,0x36,0x66,0x66,0x66,0x66,0x66,0x36,0x1F,0x00,0x00,	// 'D'
 117          0x00,0x7F,0x46,0x06,0x26,0x3E,0x26,0x06,0x46,0x7F,0x00,0x00,	// 'E'
C51 COMPILER V6.14  T6963C                                                                 07/20/2001 09:36:51 PAGE 3   

 118          0x00,0x7F,0x66,0x46,0x26,0x3E,0x26,0x06,0x06,0x0F,0x00,0x00,	// 'F'
 119          0x00,0x3C,0x66,0x63,0x03,0x03,0x73,0x63,0x66,0x7C,0x00,0x00,	// 'G'
 120          0x00,0x33,0x33,0x33,0x33,0x3F,0x33,0x33,0x33,0x33,0x00,0x00,	// 'H'
 121          0x00,0x1E,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x1E,0x00,0x00,	// 'I'
 122          0x00,0x78,0x30,0x30,0x30,0x30,0x33,0x33,0x33,0x1E,0x00,0x00,	// 'J'
 123          0x00,0x67,0x66,0x36,0x36,0x1E,0x36,0x36,0x66,0x67,0x00,0x00,	// 'K'
 124          0x00,0x0F,0x06,0x06,0x06,0x06,0x46,0x66,0x66,0x7F,0x00,0x00,	// 'L'
 125          0x00,0x63,0x77,0x7F,0x7F,0x6B,0x63,0x63,0x63,0x63,0x00,0x00,	// 'M'
 126          0x00,0x63,0x63,0x67,0x6F,0x7F,0x7B,0x73,0x63,0x63,0x00,0x00,	// 'N'
 127          0x00,0x1C,0x36,0x63,0x63,0x63,0x63,0x63,0x36,0x1C,0x00,0x00,	// 'O'
 128          0x00,0x3F,0x66,0x66,0x66,0x3E,0x06,0x06,0x06,0x0F,0x00,0x00,	// 'P'
 129          0x00,0x1C,0x36,0x63,0x63,0x63,0x73,0x7B,0x3E,0x30,0x78,0x00,	// 'Q'
 130          0x00,0x3F,0x66,0x66,0x66,0x3E,0x36,0x66,0x66,0x67,0x00,0x00,	// 'R'
 131          0x00,0x1E,0x33,0x33,0x03,0x0E,0x18,0x33,0x33,0x1E,0x00,0x00,	// 'S'
 132          0x00,0x3F,0x2D,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x1E,0x00,0x00,	// 'T'
 133          0x00,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x1E,0x00,0x00,	// 'U'
 134          0x00,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x1E,0x0C,0x00,0x00,	// 'V'
 135          0x00,0x63,0x63,0x63,0x63,0x6B,0x6B,0x36,0x36,0x36,0x00,0x00,	// 'W'
 136          0x00,0x33,0x33,0x33,0x1E,0x0C,0x1E,0x33,0x33,0x33,0x00,0x00,	// 'X'
 137          0x00,0x33,0x33,0x33,0x33,0x1E,0x0C,0x0C,0x0C,0x1E,0x00,0x00,	// 'Y'
 138          0x00,0x7F,0x73,0x19,0x18,0x0C,0x06,0x46,0x63,0x7F,0x00,0x00,	// 'Z'
 139          0x00,0x3C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x3C,0x00,0x00,	// '['
 140          0x00,0x00,0x01,0x03,0x06,0x0C,0x18,0x30,0x60,0x40,0x00,0x00,	// '\'
 141          0x00,0x3C,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x3C,0x00,0x00,	// ']'
 142          0x08,0x1C,0x36,0x63,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,	// '^'
 143          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,	// '_'
 144          0x0C,0x0C,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,	// '`'
 145          0x00,0x00,0x00,0x00,0x1E,0x30,0x3E,0x33,0x33,0x6E,0x00,0x00,	// 'a'
 146          0x00,0x07,0x06,0x06,0x3E,0x66,0x66,0x66,0x66,0x3B,0x00,0x00,	// 'b'
 147          0x00,0x00,0x00,0x00,0x1E,0x33,0x03,0x03,0x33,0x1E,0x00,0x00,	// 'c'
 148          0x00,0x38,0x30,0x30,0x3E,0x33,0x33,0x33,0x33,0x6E,0x00,0x00,	// 'd'
 149          0x00,0x00,0x00,0x00,0x1E,0x33,0x3F,0x03,0x33,0x1E,0x00,0x00,	// 'e'
 150          0x00,0x1C,0x36,0x06,0x06,0x1F,0x06,0x06,0x06,0x0F,0x00,0x00,	// 'f'
 151          0x00,0x00,0x00,0x00,0x6E,0x33,0x33,0x33,0x3E,0x30,0x33,0x1E,	// 'g'
 152          0x00,0x07,0x06,0x06,0x36,0x6E,0x66,0x66,0x66,0x67,0x00,0x00,	// 'h'
 153          0x00,0x18,0x18,0x00,0x1E,0x18,0x18,0x18,0x18,0x7E,0x00,0x00,	// 'i'
 154          0x00,0x30,0x30,0x00,0x3C,0x30,0x30,0x30,0x30,0x33,0x33,0x1E,	// 'j'
 155          0x00,0x07,0x06,0x06,0x66,0x36,0x1E,0x36,0x66,0x67,0x00,0x00,	// 'k'
 156          0x00,0x1E,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x7E,0x00,0x00,	// 'l'
 157          0x00,0x00,0x00,0x00,0x3F,0x6B,0x6B,0x6B,0x6B,0x63,0x00,0x00,	// 'm'
 158          0x00,0x00,0x00,0x00,0x1F,0x33,0x33,0x33,0x33,0x33,0x00,0x00,	// 'n'
 159          0x00,0x00,0x00,0x00,0x1E,0x33,0x33,0x33,0x33,0x1E,0x00,0x00,	// 'o'
 160          0x00,0x00,0x00,0x00,0x3B,0x66,0x66,0x66,0x66,0x3E,0x06,0x0F,	// 'p'
 161          0x00,0x00,0x00,0x00,0x6E,0x33,0x33,0x33,0x33,0x3E,0x30,0x78,	// 'q'
 162          0x00,0x00,0x00,0x00,0x37,0x76,0x6E,0x06,0x06,0x0F,0x00,0x00,	// 'r'
 163          0x00,0x00,0x00,0x00,0x1E,0x33,0x06,0x18,0x33,0x1E,0x00,0x00,	// 's'
 164          0x00,0x00,0x04,0x06,0x3F,0x06,0x06,0x06,0x36,0x1C,0x00,0x00,	// 't'
 165          0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x33,0x33,0x6E,0x00,0x00,	// 'u'
 166          0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x33,0x1E,0x0C,0x00,0x00,	// 'v'
 167          0x00,0x00,0x00,0x00,0x63,0x63,0x6B,0x6B,0x36,0x36,0x00,0x00,	// 'w'
 168          0x00,0x00,0x00,0x00,0x63,0x36,0x1C,0x1C,0x36,0x63,0x00,0x00,	// 'x'
 169          0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x3C,0x30,0x18,0x0F,	// 'y'
 170          0x00,0x00,0x00,0x00,0x3F,0x31,0x18,0x06,0x23,0x3F,0x00,0x00,	// 'z'
 171          0x00,0x38,0x0C,0x0C,0x06,0x03,0x06,0x0C,0x0C,0x38,0x00,0x00,	// '{'
 172          0x00,0x18,0x18,0x18,0x18,0x00,0x18,0x18,0x18,0x18,0x00,0x00,	// '|'
 173          0x00,0x07,0x0C,0x0C,0x18,0x30,0x18,0x0C,0x0C,0x07,0x00,0x00,	// '}'
 174          0x00,0xCE,0x5B,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,	// '~'
 175          };
 176          
 177          typedef struct typFNT_GB16	// 汉字字模显示数据结构
 178          {
 179          	char Index[2];
C51 COMPILER V6.14  T6963C                                                                 07/20/2001 09:36:51 PAGE 4   

 180          	char Msk[32];
 181          };
 182          struct typFNT_GB16 xdata GB_16[] = {	// 显示为16*16
 183          "中",0x01,0x00,0x01,0x00,0x21,0x08,0x3F,0xFC,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x3F,0xF8,0
             -x21,0x08,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,
 184          "文",0x02,0x00,0x01,0x00,0x01,0x00,0xFF,0xFE,0x08,0x20,0x08,0x20,0x08,0x20,0x04,0x40,0x04,0x40,0x02,0x80,0
             -x01,0x00,0x02,0x80,0x04,0x60,0x18,0x1E,0xE0,0x08,0x00,0x00,
 185          "测",0x40,0x02,0x27,0xC2,0x24,0x42,0x84,0x52,0x45,0x52,0x55,0x52,0x15,0x52,0x25,0x52,0x25,0x52,0x25,0x52,0
             -xC5,0x52,0x41,0x02,0x42,0x82,0x42,0x42,0x44,0x4A,0x48,0x04,
 186          "试",0x00,0x20,0x40,0x28,0x20,0x24,0x30,0x24,0x27,0xFE,0x00,0x20,0xE0,0x20,0x27,0xE0,0x21,0x20,0x21,0x10,0
             -x21,0x10,0x21,0x0A,0x29,0xCA,0x36,0x06,0x20,0x02,0x00,0x00,
 187          };
 188          
 189          uchar gCurRow,gCurCol;	// 当前行、列存储,行高16点,列宽8点
 190          
 191          uchar fnGetRow(void)
 192          {
 193   1      	return gCurRow;
 194   1      }
 195          
 196          uchar fnGetCol(void)
 197          {
 198   1      	return gCurCol;
 199   1      }
 200          
 201          uchar fnST01(void)		// 状态位STA1,STA0判断(读写指令和读写数据)
 202          {
 203   1      	uchar i;
 204   1      	
 205   1      	for(i=10;i>0;i--)
 206   1      	{
 207   2      		if((LCMCW & 0x03) == 0x03)
 208   2      			break;
 209   2      	}
 210   1      	return i;	// 若返回零,说明错误
 211   1      }
 212          
 213          uchar fnST2(void)		// 状态位ST2判断(数据自动读状态)
 214          {
 215   1      	uchar i;
 216   1      	
 217   1      	for(i=10;i>0;i--)
 218   1      	{
 219   2      		if((LCMCW & 0x04) == 0x04)
 220   2      			break;
 221   2      	}
 222   1      	return i;	// 若返回零,说明错误
 223   1      }
 224          
 225          uchar fnST3(void)		// 状态位ST3判断(数据自动写状态)
 226          {
 227   1      	uchar i;
 228   1      	
 229   1      	for(i=10;i>0;i--)
 230   1      	{
 231   2      		if((LCMCW & 0x08) == 0x08)
 232   2      			break;
 233   2      	}
 234   1      	return i;	// 若返回零,说明错误
 235   1      }

⌨️ 快捷键说明

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