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

📄 12864f.lst

📁 lcd t6963 汇编 51 lcd t6963 汇编 51
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.50   12864F                                                                10/08/2005 23:26:42 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE 12864F
OBJECT MODULE PLACED IN 12864f.OBJ
COMPILER INVOKED BY: D:\keil7.50full\C51\BIN\C51.EXE 12864f.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <reg52.h>
   2          
   3          #define uchar unsigned char
   4          #define uint unsigned int
   5          
   6          sbit CD=P1^2;
   7          sbit Wr=P1^0;
   8          sbit Rd=P1^1;
   9          sbit RST=P1^3;
  10          #define LcdDataPort P0
  11          
  12          unsigned char BUSY() 
  13          {
  14   1       unsigned char dat;
  15   1       CD=1;Rd=1;Wr=1;
  16   1       LcdDataPort=0xff;
  17   1       Rd=0;
  18   1       dat=LcdDataPort;
  19   1       Rd=1;
  20   1       return(dat);
  21   1      }
  22          
  23          /*
  24          //指令,数据 读写状态检查
  25          #define RWCheck() { unsigned char sta; do{ sta=XBYTE[ComPort] & 0x03; } while(sta!=0x03); }
  26          */
  27          
  28          //指令,数据 读写状态检查
  29          void RWCheck()   {  while (( BUSY()&0x03)!=0x03) ; }
  30          //数据自动读 状态检查
  31          void AutoRCheck() {  while (( BUSY()&0x04)!=0x04) ;} 
  32          //数据自动写 状态检查
  33          void AutoWCheck() { while (( BUSY()&0x08)!=0x08) ; }
  34          
  35          // 向数据口发Data
  36          void  OutPortData(unsigned char dat) 
  37          {
  38   1       RWCheck();
  39   1       CD=0;
  40   1       Wr=0;
  41   1       LcdDataPort=dat;
  42   1       Wr=1;
  43   1       CD=1;
  44   1      }
  45          // 向数据口发Data
  46          /*
  47          #define OutPortData(dat ) { RWCheck(); XBYTE[LcdDataPort]=dat; }
  48          */
  49          
  50          //写有 1 个参数命令
  51          void OutPortCom1(unsigned char command) 
  52          {
  53   1       RWCheck();
  54   1       CD=1;
  55   1       Wr=0;
C51 COMPILER V7.50   12864F                                                                10/08/2005 23:26:42 PAGE 2   

  56   1       LcdDataPort=command;
  57   1       Wr=1;
  58   1      }
  59          /*
  60          #define OutPortCom1(command) { RWCheck(); XBYTE[ComPort]= command; }
  61          */
  62          //写有 2个参数命令
  63          #define OutPortCom2(dat, command) { OutPortData(dat); OutPortCom1(command); }
  64          //写有 3 个参数命令
  65          #define OutPortCom3(data1, data2, command) { OutPortData(data1); OutPortData(data2); OutPortCom1(command);
             -}
  66          
  67          
  68          
  69          void ClearScreen()
  70          {
  71   1        unsigned int i;   // 清显示 RAM 区 0000h--2000h (8k)
  72   1        OutPortCom3(0x00,0x00,0x24); //设置指针地址0000H
  73   1        OutPortCom1(0xb0); //设置自动写状态
  74   1        for(i=0x00;i<0x2000;i++) OutPortData(0x00); // data=0;
  75   1        OutPortCom1(0xb2); // 自动写结束
  76   1      }
  77          
  78          /* lcd初始化 */
  79          void LcdInit(void)
  80          { 
  81   1       OutPortCom3(0x00,0x00,0x40);  /*文本首址*/
  82   1       OutPortCom3(0x10,0x00,0x41); /*文本区域*/  //每行显示16个字符
  83   1      
  84   1       OutPortCom3(0x00,0x01,0x42); /*图形首址*/
  85   1       OutPortCom3(0x10,0x00,0x43); /*图形区域*/
  86   1       OutPortCom1(0x81); /*显示方式*/
  87   1       OutPortCom1(0x9c); /*显示开关*/
  88   1       OutPortCom1(0xa0); /*光标形状*/
  89   1       
  90   1       ClearScreen();
  91   1      }
  92          
  93          
  94          /* 设定图形x,y值*/
  95          void AddPointer(unsigned char x,unsigned char y)
  96          { 
  97   1        unsigned int z;
  98   1          z=y*16+x+256;
  99   1        OutPortCom3(z&0xff,z/256,0x24);
 100   1      }
 101          
 102          
 103          //文本显示一个字符,x水平偏移量(0~15)16列,8行;y垂直偏移量(0~7)
 104          void ShowChar(uchar x,uchar y,uchar dat)
 105          {
 106   1      
 107   1        OutPortCom3(16*y+x,0,0x24);
 108   1        OutPortCom2(dat-0x20, 0xc0);
 109   1      }
 110          
 111          // 显示16*16点阵汉字,x列地址,分16列,y行地址,分7行
 112          void ShowHZ(uchar x,uchar y,uchar *hzcode) 
 113          {
 114   1         unsigned char i,j;
 115   1         x=x&0x0f,y=y&0x07;
 116   1         for (i=0;i<16;i++) 
C51 COMPILER V7.50   12864F                                                                10/08/2005 23:26:42 PAGE 3   

 117   1            {
 118   2              for (j=0;j<2;j++)  
 119   2                    {
 120   3                  AddPointer(j+x,y*8+i);
 121   3                  OutPortCom2(hzcode[i*2+j], 0xc0);            
 122   3                }
 123   2            }       
 124   1      }
 125          //反显一个汉字
 126          void RvShowHZ(uchar x,uchar y,uchar *hzcode) 
 127          {
 128   1         unsigned char i,j;
 129   1         x=x&0x0f,y=y&0x07;
 130   1         for (i=0;i<16;i++) 
 131   1            {
 132   2              for (j=0;j<2;j++)  
 133   2                    {
 134   3                  AddPointer(j+x,y*8+i);
 135   3                  OutPortCom2(~hzcode[i*2+j], 0xc0);            
 136   3                }
 137   2            }       
 138   1      }
 139          
 140          //以屏中心为中心,显示一个宽度为width,高度为high的图象,width,high都应该为8的整数倍
 141          void ShowPicture(uchar width,uchar high,uchar code *picture)
 142          { uchar i,j;
 143   1          for (i=0;i<high;i++)  //i 从上到下
 144   1            {
 145   2              for (j=0;j<width/8;j++)  //从左到右显示
 146   2                    {
 147   3                  AddPointer(j+(128-width)/16,(64-high)/2+i);
 148   3                  OutPortCom2(~picture[i*(width/8)+j], 0xc0);            
 149   3                }
 150   2             }        
 151   1      }   
 152          //取模方式,从左到右,(左高位),从上到下
 153          unsigned char hz_guo[32] = {
 154          0x00,0x04,0x7f,0xfe,0x40,0x24,0x5f,0xf4,0x41,0x04,0x41,0x04,0x41,0x44,0x4f,0xe4,
 155          0x41,0x04,0x41,0x44,0x41,0x24,0x41,0x04,0x5f,0xf4,0x40,0x04,0x7f,0xfc,0x40,0x04
 156          };
 157          
 158          
 159          unsigned char code bmp_pig1[]={
 160          /*--  调入了一幅图像:C:\Documents and Settings\zhaochao288\桌面\picture\207.bmp  --*/
 161          /*--  宽度x高度=112x40  --*/
 162          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 163          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 164          0x00,0x01,0x3F,0xC0,0x80,0x42,0x04,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 165          0x8A,0x1F,0xFC,0x42,0x04,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x80,
 166          0x01,0xFF,0xDE,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x2A,0x87,0xF0,0xA2,
 167          0x0A,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xBF,0x84,0x10,0xA2,0x0A,0x88,
 168          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x1F,0xFC,0xA2,0x0A,0xF8,0x00,0x00,
 169          0x00,0x00,0x00,0x00,0x00,0x00,0x9F,0x90,0x05,0x2F,0xCA,0xA4,0x00,0x00,0x00,0x00,
 170          0x00,0x00,0x00,0x01,0x80,0x03,0xE1,0xA8,0x4A,0xA8,0x00,0x00,0x00,0x00,0x00,0x00,
 171          0x00,0x00,0xBF,0xC2,0x24,0x48,0x44,0x90,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 172          0x92,0x84,0x24,0xA8,0x4A,0xA8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA6,0x58,
 173          0x3D,0x0F,0xD0,0xC4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 174          0x00,0x00,0x00,0x00,0x00,0x1C,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 175          0x00,0x00,0x00,0x23,0x08,0x37,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 176          0x00,0x40,0x10,0x08,0x40,0x00,0xFF,0x90,0x10,0x08,0x00,0x00,0x00,0x00,0x00,0x81,
 177          0x86,0x10,0x40,0x00,0x08,0x08,0x10,0xFF,0x86,0x00,0x00,0x00,0x01,0x02,0x49,0x40,
 178          0x40,0x00,0x7F,0x0B,0xFC,0x08,0x0F,0x00,0x00,0x00,0x01,0x08,0x00,0x40,0x20,0x00,
C51 COMPILER V7.50   12864F                                                                10/08/2005 23:26:42 PAGE 4   

 179          0x10,0x00,0x10,0x49,0x0F,0x00,0x00,0x00,0x02,0x08,0x00,0x20,0x20,0x01,0xFF,0xDD,
 180          0x10,0x2A,0x0F,0x00,0x00,0x00,0x04,0x31,0x83,0x20,0x20,0x00,0x20,0x04,0x91,0xFF,
 181          0xC6,0x00,0x00,0x00,0x04,0x52,0x44,0x90,0x20,0x00,0x7F,0x04,0x90,0x1C,0x06,0x00,
 182          0x00,0x00,0x09,0xA4,0x28,0x4C,0x10,0x00,0xA1,0x04,0x10,0x2A,0x00,0x00,0x00,0x00,
 183          0x0E,0x44,0xE9,0xC3,0x90,0x01,0x3F,0x04,0x70,0x49,0x06,0x00,0x00,0x00,0x00,0x82,
 184          0xC5,0x81,0x70,0x00,0x21,0x0A,0x01,0x88,0xC6,0x00,0x00,0x00,0x01,0x01,0x83,0x00,
 185          0x80,0x00,0x3F,0x11,0xFC,0x08,0x00,0x00,0x00,0x00,0x01,0x0C,0x70,0x00,0x80,0x00,
 186          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x13,0x87,0x10,0x40,0x00,0x00,0x00,
 187          0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x20,0x78,0xA0,0x40,0x00,0x00,0x00,0x00,0x00,
 188          0x00,0x00,0x00,0x00,0x02,0x20,0x00,0x60,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 189          0x00,0x00,0x02,0x21,0x80,0x60,0x40,0x00,0x00,0x71,0xEE,0x3C,0x00,0x00,0x00,0x00,
 190          0x01,0x11,0x98,0x90,0x80,0x00,0x00,0x8E,0x31,0xC6,0x00,0x00,0x00,0x00,0x01,0x08,
 191          0x18,0x80,0x80,0x00,0x01,0x24,0x24,0x83,0x00,0x00,0x00,0x00,0x00,0x96,0x01,0x01,
 192          0x00,0x00,0x01,0x40,0x28,0x03,0x00,0x00,0x00,0x00,0x00,0x49,0x86,0x03,0x00,0x00,
 193          0x01,0x40,0x28,0x03,0x00,0x00,0x00,0x00,0x00,0x34,0x78,0x8C,0x00,0x00,0x01,0x00,
 194          0x20,0x03,0x00,0x00,0x00,0x00,0x00,0x0E,0x01,0x30,0x00,0x00,0x00,0x80,0x30,0x06,
 195          0x00,0x00,0x00,0x00,0x00,0x71,0x87,0xCE,0x00,0x00,0x00,0x40,0x68,0x0C,0x00,0x00,
 196          0x00,0x00,0x00,0xE0,0x78,0x07,0x00,0x00,0x00,0x20,0xC4,0x18,0x00,0x00,0x00,0x00,
 197          };
 198          unsigned char code bmp_girl[]={
 199          
 200          /*--  调入了一幅图像:C:\Documents and Settings\zhaochao288\桌面\picture\test1.bmp  --*/
 201          /*--  宽度x高度=96x48  --*/
 202          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x82,0x80,
 203          0x00,0x00,0x00,0x02,0x10,0x00,0x0F,0xFB,0x00,0x02,0x42,0x80,0x00,0x00,0x00,0x19,
 204          0x18,0x00,0x0B,0xFF,0x00,0x02,0xC2,0x80,0x00,0x00,0x00,0x21,0xFF,0x00,0x0F,0xFF,
 205          0x00,0x3B,0xC1,0x80,0x00,0x00,0x00,0x57,0xFF,0xE0,0x0F,0xFF,0x00,0x45,0xB9,0x80,
 206          0x80,0x00,0x00,0x8F,0xFF,0xF1,0x0F,0xFF,0x00,0x82,0x44,0xA0,0x80,0x00,0x01,0x1E,

⌨️ 快捷键说明

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