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

📄 tuxing.lst

📁 51单片机开发与应用技术详解(珍藏版)PPT及源码
💻 LST
字号:
C51 COMPILER V8.08   TUXING                                                                04/04/2008 10:25:38 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE TUXING
OBJECT MODULE PLACED IN Tuxing.OBJ
COMPILER INVOKED BY: C:\Program Files\keil\C51\BIN\C51.EXE Tuxing.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include<reg52.h>
   2          #include<stdio.h>
   3          
   4          unsigned data i;
   5          unsigned char q;
   6          unsigned char *p2,*pp;                           //建立数组指针
   7          unsigned char wbyte;
   8          unsigned char Column;                           //定义列
   9          unsigned char Page;                                     //定义页
  10          
  11          sbit E=P3^2;                                    //读写使能信号,1有效
  12          sbit R_W=P3^1;                          //读写选择信号;1为读选通,0为写选通
  13          sbit RS=P3^0;
  14          sbit D_I=P3^0;                                  //数据指令选择信号;1为数据操作,0为写指令或读状态
  15          
  16          unsigned char data j;
  17          unsigned char data k;           
  18          
  19          /********************扩充指令集画图********************/
  20          unsigned char data z;//图形数组的页,为实际点阵行数
  21          unsigned char data y;//图形数组的列,为实际点阵列数除以8
  22          unsigned char data Column;//起始点设定:为在液晶中显示的实际起始列
  23          unsigned char data Page;//起始点设定:为在液晶中显示的实际起始行
  24          
  25          char code Tu[64][16]=                   //图形数组,龙的标志
  26          {
  27          0xFF,0xFE,0xFE,0x80,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x01,0x7F,0x7F,0xFF,
  28          0xE9,0x6E,0xEE,0x80,0x00,0x00,0x70,0x00,0x80,0x00,0x00,0x00,0x01,0x77,0x69,0x69,
  29          0x96,0x96,0xEE,0x80,0x00,0x00,0x70,0x07,0x80,0x00,0x00,0x00,0x01,0x77,0x76,0x97,
  30          0xE9,0x6E,0xE0,0x80,0x00,0x00,0xE6,0x1E,0x00,0x00,0x00,0x00,0x01,0x07,0x69,0x69,
  31          0x96,0x96,0xFF,0x80,0x00,0x01,0xE8,0x78,0x00,0x00,0x00,0x00,0x01,0xFF,0x76,0x97,
  32          0xE9,0x6E,0xFF,0x80,0x00,0x07,0xF7,0xFF,0xFF,0x80,0x00,0x00,0x01,0xFF,0x69,0x69,
  33          0x96,0x96,0x00,0x80,0x00,0x0F,0xFF,0xFF,0xF8,0x00,0x00,0x00,0x01,0x00,0x76,0x97,
  34          0xE9,0x6F,0xFE,0x80,0x00,0x1F,0xF7,0xFF,0xF0,0x00,0x00,0x00,0x01,0x7F,0xE9,0x69,
  35          0x96,0x97,0xFE,0x80,0x00,0xFF,0xFF,0x0F,0xF8,0x00,0x00,0x00,0x01,0x7F,0xF6,0x97,
  36          0xE9,0x6E,0x0E,0x80,0x01,0xFF,0xFE,0xF6,0xFF,0x80,0x00,0x00,0x01,0x70,0x69,0x69,
  37          0x96,0x96,0xEE,0x80,0x07,0xFF,0xF7,0xFF,0x1F,0xF8,0x00,0x00,0x01,0x77,0x76,0x97,
  38          0xE9,0x6E,0xEE,0x80,0xFF,0xFF,0xF0,0x1E,0xFF,0xFE,0x00,0x00,0x01,0x77,0x69,0x69,
  39          0x96,0x96,0xFE,0x81,0xFF,0x1F,0xF8,0x01,0xF7,0xE1,0x00,0x00,0x01,0x7F,0x76,0x97,
  40          0xE9,0x6E,0x00,0x81,0xFE,0x1F,0xFF,0x00,0x97,0xF0,0x78,0x00,0x01,0x00,0x69,0x69,
  41          0x96,0x97,0xFF,0x80,0x00,0x78,0x00,0x00,0x79,0xF8,0x68,0x00,0x01,0xFF,0xF6,0x97,
  42          0xE9,0x6F,0xFF,0x80,0x00,0x70,0x00,0x00,0x71,0xFE,0x7E,0x00,0x01,0xFF,0xE9,0x69,
  43          0x96,0x96,0x00,0x80,0x00,0x70,0x00,0x00,0x1F,0xFE,0x7F,0x00,0x01,0x00,0x76,0x97,
  44          0xE9,0x6E,0xFE,0x80,0x00,0x70,0x00,0x00,0x1E,0xFE,0x97,0x80,0x01,0x7F,0x69,0x69,
  45          0x96,0x96,0xEE,0x80,0x01,0xF0,0x00,0x00,0x0E,0xF8,0xFF,0xE0,0x01,0x77,0x76,0x97,
  46          0xE9,0x6E,0xEE,0x80,0x00,0xF0,0x00,0x00,0x1E,0xFF,0x9F,0xF0,0x01,0x77,0x69,0x69,
  47          0x96,0x96,0xE0,0x80,0x00,0x60,0x00,0x00,0x1E,0xEF,0xF9,0xF0,0x01,0x07,0x76,0x97,
  48          0xE9,0x6E,0xFF,0x80,0x00,0x00,0x00,0x00,0x16,0xFF,0x99,0xF8,0x01,0xFF,0x69,0x69,
  49          0x96,0x96,0xFF,0x80,0x00,0x00,0x00,0x00,0x79,0xFF,0x79,0xFE,0x01,0xFF,0x76,0x97,
  50          0xE9,0x6E,0x00,0x80,0x00,0x00,0x00,0x00,0x7F,0xF9,0xFF,0xFE,0x01,0x00,0x69,0x69,
  51          0x96,0x97,0xFE,0x80,0x00,0x00,0x00,0x01,0xE7,0xF9,0x7F,0xEF,0x01,0x7F,0xF6,0x97,
  52          0xE9,0x6F,0xFE,0x80,0x00,0x00,0x00,0x01,0xEF,0xF8,0x07,0x87,0x01,0x7F,0xE9,0x69,
  53          0x96,0x96,0x0E,0x80,0x00,0x00,0x00,0x1F,0x7F,0x98,0x07,0x01,0x01,0x70,0x76,0x97,
  54          0xE9,0x6E,0xEE,0x80,0x00,0x00,0x00,0xFE,0xFF,0x90,0x00,0x00,0x81,0x77,0x69,0x69,
  55          0x96,0x96,0xEE,0x80,0x00,0x00,0x01,0xF7,0xFF,0x10,0x00,0x00,0x01,0x77,0x76,0x97,
C51 COMPILER V8.08   TUXING                                                                04/04/2008 10:25:38 PAGE 2   

  56          0xE9,0x6E,0xFE,0x80,0x00,0x00,0x1E,0xFF,0xFE,0x00,0x80,0x00,0x01,0x7F,0x69,0x69,
  57          0x96,0x96,0x00,0x80,0x00,0x00,0x7F,0x7F,0xEE,0x1F,0xFE,0x00,0x01,0x00,0x76,0x97,
  58          0xE9,0x6F,0xFF,0x80,0x00,0x00,0x8E,0xFF,0xE8,0x1F,0xFF,0x00,0x01,0xFF,0xE9,0x69,
  59          0x96,0x97,0xFF,0x80,0x00,0x01,0xF9,0xF9,0xE8,0xFF,0xEF,0x00,0x01,0xFF,0xF6,0x97,
  60          0xE9,0x6E,0x00,0x80,0x00,0x06,0xF7,0xF9,0x87,0xF0,0x01,0xE0,0x01,0x00,0x69,0x69,
  61          0x96,0x96,0xFE,0x80,0x00,0x0F,0x6F,0xF9,0x8F,0xE0,0x00,0xE0,0x01,0x7F,0x76,0x97,
  62          0xE9,0x6E,0xEE,0x80,0x00,0x1F,0x9F,0x11,0x0F,0x80,0x00,0x70,0x01,0x77,0x69,0x69,
  63          0x96,0x96,0xEE,0x80,0x00,0x7F,0xFF,0x71,0x0F,0x00,0x01,0x91,0x01,0x77,0x76,0x97,
  64          0xE9,0x6E,0xE0,0x80,0x00,0x16,0x7F,0x10,0x1F,0x80,0x00,0xFE,0x01,0x07,0x69,0x69,
  65          0x96,0x96,0xFF,0x80,0x00,0xFF,0xFF,0x60,0x1F,0xE0,0x00,0x7E,0x01,0xFF,0x76,0x97,
  66          0xE9,0x6E,0xFF,0x80,0x00,0xFE,0xFF,0x00,0x1F,0xFF,0x80,0x1E,0x01,0xFF,0x69,0x69,
  67          0x96,0x96,0x00,0x80,0x00,0xFF,0xEF,0x00,0x0F,0xFF,0xF8,0x18,0x01,0x00,0x76,0x97,
  68          0xE9,0x6F,0xFE,0x80,0x00,0x96,0xE7,0x00,0x07,0xFF,0xFE,0x0E,0x01,0x7F,0xE9,0x69,
  69          0x96,0x97,0xFE,0x80,0x01,0xF9,0xE1,0x00,0x00,0xFF,0xFF,0x08,0x01,0x7F,0xF6,0x97,
  70          0xE9,0x6E,0x0E,0x80,0x01,0xF9,0xF1,0x00,0x00,0x1F,0xFF,0x00,0x01,0x70,0x69,0x69,
  71          0x96,0x96,0xEE,0x80,0x01,0xF9,0xF8,0x00,0x00,0x09,0xFF,0x80,0x01,0x77,0x76,0x97,
  72          0xE9,0x6E,0xEE,0x80,0x01,0xF9,0xF8,0x00,0x00,0x07,0xFF,0x80,0x01,0x77,0x69,0x69,
  73          0x96,0x96,0xFE,0x80,0x01,0x01,0xF8,0x00,0x00,0x01,0xFF,0xE0,0x01,0x7F,0x76,0x97,
  74          0xE9,0x6E,0x00,0x80,0x01,0xF9,0x8E,0x00,0x00,0x00,0xFF,0x80,0x01,0x00,0x69,0x69,
  75          0x96,0x97,0xFF,0x80,0x01,0xF9,0xE6,0x00,0x00,0x00,0x7F,0xE0,0x01,0xFF,0xF6,0x97,
  76          0xE9,0x6F,0xFF,0x80,0x00,0xFE,0xF0,0x00,0x00,0x06,0x1F,0xE0,0x01,0xFF,0xE9,0x69,
  77          0x96,0x96,0x00,0x80,0x00,0xF8,0xF8,0x00,0x00,0x07,0xFF,0xE0,0x01,0x00,0x76,0x97,
  78          0xE9,0x6E,0xFE,0x80,0x00,0x96,0xFF,0x80,0x00,0x01,0xFF,0x80,0x01,0x7F,0x69,0x69,
  79          0x96,0x96,0xEE,0x80,0x00,0x7F,0xF9,0x60,0x00,0x01,0xFF,0x80,0x01,0x77,0x76,0x97,
  80          0xE9,0x6E,0xEE,0x80,0x00,0x7F,0x78,0x00,0x00,0x18,0xFF,0x80,0x01,0x77,0x69,0x69,
  81          0x96,0x96,0xE0,0x80,0x00,0x79,0x7E,0x7F,0x01,0x10,0xFF,0x00,0x01,0x07,0x76,0x97,
  82          0xE9,0x6E,0xFF,0x80,0x00,0x1F,0x9F,0xFE,0x1E,0x70,0xFF,0x00,0x01,0xFF,0x69,0x69,
  83          0x96,0x96,0xFF,0x80,0x00,0x0F,0xEF,0xE0,0x78,0x79,0xFF,0x00,0x01,0xFF,0x76,0x97,
  84          0xE9,0x6E,0x00,0x80,0x00,0x07,0x87,0xE1,0xF8,0xFF,0xFE,0x00,0x01,0x00,0x69,0x69,
  85          0x96,0x97,0xFE,0x80,0x00,0x01,0xF9,0xFF,0xF9,0xFF,0xF8,0x00,0x01,0x7F,0xF6,0x97,
  86          0xE9,0x6F,0xFE,0x80,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xF0,0x00,0x01,0x7F,0xE9,0x69,
  87          0x96,0x96,0x0E,0x80,0x00,0x00,0x6F,0x7F,0xFF,0xFF,0xE0,0x00,0x01,0x70,0x76,0x97,
  88          0xE9,0x6E,0xEE,0x80,0x00,0x00,0x1F,0x87,0xFF,0xFF,0x00,0x00,0x01,0x77,0x69,0x69,
  89          0x96,0x96,0xEE,0x80,0x00,0x00,0x0F,0xF8,0xFF,0xF8,0x00,0x00,0x01,0x77,0x76,0x97,
  90          0xFF,0xFE,0xFE,0x80,0x00,0x00,0x00,0x0E,0x70,0x00,0x00,0x00,0x01,0x7F,0x7F,0xFF,
  91          };
  92          
  93          void WCOM(unsigned char d)                      //写指令程序
  94          {
  95   1       R_W=1;
  96   1       D_I=0;                                         //设置状态
  97   1      Loop:
  98   1       P1=0xFF;
  99   1       E=1;                                           //使能有效
 100   1       q=P1;                                          //将p1口状态读入
 101   1       E=0;                                           //关闭使能信号
 102   1       if(q&0x80)                                     //判断屏幕是否忙
 103   1       {
 104   2       goto Loop;                                     //若忙,循环等待
 105   2       }
 106   1       R_W=0;
 107   1       D_I=0;                                         //写数据指令
 108   1       P1=d;                                          //将数据送入p1口
 109   1       E=1;                                           //使能信号开
 110   1       E=0;                                           //使能信号关
 111   1      }
 112          
 113          void Dat(unsigned char d)
 114          {
 115   1       R_W=1;
 116   1       D_I=0;                                         //读状态指令
 117   1      Loop:
C51 COMPILER V8.08   TUXING                                                                04/04/2008 10:25:38 PAGE 3   

 118   1       P1=0xFF;
 119   1       E=1;                                           //使能
 120   1       q=P1;
 121   1       E=0;
 122   1       if(q&0x80)
 123   1       {
 124   2       goto Loop;
 125   2       }                                                      //判忙
 126   1       D_I=1;                                         //送数据指令
 127   1       R_W=0;
 128   1       P1=d;
 129   1       E=1;                                           //使能信号开
 130   1       E=0;                                           //使能信号关
 131   1      }
 132          
 133          void Clearlcd()
 134          {
 135   1       D_I=0;
 136   1       R_W=0;
 137   1       P1=0x01;
 138   1       WCOM(0x01);                                    //清除显示
 139   1      }
 140          
 141          void Imim()
 142          {
 143   1       P0=0xff;
 144   1       P1=0xff;
 145   1       P2=0xff;
 146   1       P3=0xff;
 147   1       E=0;
 148   1      WCOM(0x38);                                     //功能设定
 149   1       WCOM(0x08);                                    //关显示指令
 150   1       WCOM(0x06);                                    //游标右移
 151   1       Clearlcd();                                    //清屏
 152   1       WCOM(0x0c);                                    //开显示指令
 153   1      }
 154          
 155          
 156          
 157          void Tuxing()
 158          {
 159   1       unsigned char data v;
 160   1       unsigned char data w;
 161   1       unsigned char data x;
 162   1       unsigned char data h;
 163   1       WCOM(0x34);                                    //功能设定
 164   1       WCOM(0x36);                                    //扩充功能设定
 165   1       pp=p2;
 166   1       pp=pp+16*y*2;
 167   1       for(h=0;h<z/2;h++)                     //页循环
 168   1       {
 169   2        v=Column|0x80;
 170   2        w=Page|0x80;
 171   2        WCOM(w);                                      //送入起始页地址
 172   2        WCOM(v);                                      //送入起始列地址
 173   2        Page++;                                       //准备对下一页进行操作
 174   2        for(x=0;x<2*y;x++)                    //列循环
 175   2         {
 176   3          if(x<y)
 177   3          {
 178   4           wbyte=*p2;
 179   4           Dat(wbyte);                                //循环送入图形数据
C51 COMPILER V8.08   TUXING                                                                04/04/2008 10:25:38 PAGE 4   

 180   4           p2=p2+1;
 181   4          }
 182   3          else
 183   3           {
 184   4            wbyte=*pp;
 185   4            Dat(wbyte);                               //循环送入图形数据
 186   4            pp=pp+1;
 187   4           }
 188   3         }
 189   2        }
 190   1      }
 191          
 192          void Clearlcd1()
 193          {
 194   1        unsigned char data Disp_Page;
 195   1        unsigned char data i;
 196   1        unsigned char data j;
 197   1        for(i=0;i<64;i++)                             //共32页
 198   1        {
 199   2         Disp_Page=i|0x80;                    //设置页地址
 200   2         WCOM(Disp_Page);                     //送入页地址
 201   2         WCOM(0x80);                          //送入起始列地址
 202   2         for(j=0;j<32;j++)
 203   2         {
 204   3          Dat(0x00);                                  //清屏
 205   3         }
 206   2        }
 207   1      }
 208          
 209          
 210          /********************主程序********************/
 211          void main()
 212          {
 213   1       Imim();                                                //初始化
 214   1       Clearlcd1();                                   //扩充指令集清屏
 215   1      
 216   1       p2=Tu;
*** WARNING C182 IN LINE 216 OF TUXING.C: pointer to different objects
 217   1      z=64;                                           //图形数组的页,为实际点阵行数
 218   1       y=16;                                          //图形数组的列,为实际点阵列数除以8
 219   1       Column=0;                                      //起始点设定:为在液晶中显示的实际起始列
 220   1       Page=0;                                                //起始点设定:为在液晶中显示的实际起始行
 221   1       Tuxing();                                              //龙的图形
 222   1       while(1)
 223   1      {
 224   2      }
 225   1      }
 226          
 227          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    328    ----
   CONSTANT SIZE    =   1024    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     16       2
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  1 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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