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

📄 tuxing.lst

📁 零基础单片机C语言设计全套教程
💻 LST
字号:
C51 COMPILER V8.08   TUXING                                                                08/27/2008 19:09:20 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;                              //建立数组指针
   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          0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,
  28          0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,
  29          0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,
  30          0x00,0x00,0x03,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xF0,0x00,
  31          0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  32          0x07,0xFF,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFC,0x00,0x00,0x00,
  33          0x00,0x00,0x00,0x00,0x07,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,
  34          0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,
  35          0x00,0x00,0x0F,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xC0,
  36          0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
  37          0x0F,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xE0,0x00,0x00,
  38          0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,
  39          0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xF8,0x80,0x00,0x00,0x00,
  40          0x00,0x00,0x1F,0xFF,0xFF,0xF8,0x80,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xF8,
  41          0x80,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xF8,0x80,0x00,0x00,0x00,0xFF,0x1C,
  42          0x0F,0xFF,0xFF,0xFC,0x80,0x00,0x00,0x07,0xFF,0x1F,0x0F,0xFF,0xFF,0xFC,0x80,0x06,
  43          0x00,0x3F,0xFF,0x1F,0x0F,0xFF,0xFF,0xFE,0x80,0x06,0x03,0xFF,0xFF,0x1F,0x07,0xFF,
  44          0xFF,0xFE,0x80,0x04,0x07,0xFF,0xFF,0x1F,0x07,0xFF,0xFF,0xFE,0xC0,0x1C,0x3F,0xFF,
  45          0xFF,0x1F,0x07,0xFF,0xFF,0xFE,0x60,0x30,0xFF,0xFF,0xFF,0x1F,0x07,0xFF,0xFF,0xFE,
  46          0x20,0xE1,0xFF,0xFF,0xFF,0x1F,0x07,0xFF,0xFF,0xFE,0x23,0x87,0xFF,0xFF,0xFF,0x1F,
  47          0x03,0xFF,0xFF,0xFF,0x26,0x1F,0xFF,0xFF,0xFF,0x1E,0x01,0xFF,0xFF,0xFF,0x24,0x3F,
  48          0xFF,0xFF,0xFF,0x1E,0x01,0xFF,0xFF,0xFF,0xFC,0xFF,0xFF,0xFF,0xFF,0x1E,0x00,0x3F,
  49          0xFF,0xFF,0xF8,0xFF,0xFF,0xFF,0xFF,0x1C,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  50          0xFF,0x18,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x10,0x07,0xFF,0xFF,0xFF,
  51          0xFF,0xFF,0xFF,0xFF,0xFF,0x10,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,
  52          0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,
  53          0xFF,0xFF,0xFE,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x00,0x7F,0xFF,
  54          0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  55          0xFC,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0xFF,0xFF,0xFF,0xFF,
C51 COMPILER V8.08   TUXING                                                                08/27/2008 19:09:20 PAGE 2   

  56          0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x00,
  57          0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,
  58          0xFF,0xFF,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0x00,0x00,0x7F,0xFF,
  59          0xF9,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x7F,0xFF,0xFB,0xFF,0xFF,0xFF,0xFB,0xC0,
  60          0x00,0x00,0x7F,0xFF,0xEF,0xFF,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x1F,0xFF,0x99,0xFB,
  61          0xFF,0xFF,0xFC,0x00,0x00,0x00,0x3F,0xFF,0xBB,0xFB,0xFF,0xFF,0xFE,0x00,0x00,0x00,
  62          0x3F,0xFF,0xF7,0x7B,0x9F,0xFF,0xFF,0x00,0x00,0x00,0x07,0xFE,0xCE,0x7B,0xDF,0xFF,
  63          0xFF,0x00,0x00,0x00,0x07,0xFF,0xDE,0x7B,0xDF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x1F,
  64          0xB8,0x62,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0x1E,0x30,0x02,0x7F,0xFF,0xFE,0x00,
  65          0x00,0x00,0x00,0x0F,0xE0,0x02,0x7F,0xFF,0xFF,0x00,0x00,0x00,0x00,0x07,0x80,0x02,
  66          0x7F,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x7F,0xFF,0xFF,0x00,0x00,0x00,
  67          0x00,0x00,0x00,0x03,0x7F,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x3F,0xFF,
  68          0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x3F,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,
  69          0x00,0x03,0x3F,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xBF,0xFF,0xE0,0x00,
  70          0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  71          0x00,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xC0,0x00,0x00,0x00
  72          };
  73          
  74          void WCOM(unsigned char dcode);         //指令操作子函数
  75          void Dat(unsigned char ddata);          //数据操作子函数
  76          void Imim();                                    //初始化子函数
  77          void EClearlcd();                               //扩充指令集清屏子函数
  78          void Tuxing();                          //图形显示子函数
  79          
  80          void main()
  81          {
  82   1       Imim();                                                //初始化
  83   1       EClearlcd();                                   //扩充指令集清屏
  84   1      
  85   1       z=64;                                          //图形数组的页,为实际点阵行数
  86   1       y=16;                                          //图形数组的列,为实际点阵列数除以8
  87   1       Column=0;                                      //起始点设定:为在液晶中显示的实际起始列
  88   1       Page=0;                                                //起始点设定:为在液晶中显示的实际起始行
  89   1       p2=Tu;                                         //图形数组
*** WARNING C182 IN LINE 89 OF TUXING.C: pointer to different objects
  90   1       Tuxing();                                              //蝴蝶图案
  91   1       while(1)
  92   1      {
  93   2      }
  94   1      }
  95          
  96          void WCOM(unsigned char dcode)          //写指令程序
  97          {
  98   1      unsigned char q;
  99   1       R_W=1;
 100   1       D_I=0;                                         //设置状态
 101   1      Loop:
 102   1       P1=0xFF;
 103   1       E=1;                                           //使能有效
 104   1       q=P1;                                          //将P1口状态读入
 105   1       E=0;                                           //关闭使能信号
 106   1       if(q&0x80)                                     //判断屏幕是否忙
 107   1       {
 108   2       goto Loop;                                     //若忙,循环等待
 109   2       }
 110   1       R_W=0;
 111   1       D_I=0;                                         //写数据指令
 112   1       P1= dcode;                                     //将数据送入P1口
 113   1       E=1;                                           //使能信号开
 114   1       E=0;                                           //使能信号关
 115   1      }
 116          
C51 COMPILER V8.08   TUXING                                                                08/27/2008 19:09:20 PAGE 3   

 117          
 118          void Dat(unsigned char ddata)
 119          {
 120   1      unsigned char q;
 121   1       R_W=1;
 122   1       D_I=0;                                         //读状态指令
 123   1      Loop:
 124   1       P1=0xFF;
 125   1       E=1;                                           //使能
 126   1       q=P1;
 127   1       E=0;
 128   1       if(q&0x80)                                     //判忙
 129   1       {
 130   2       goto Loop;
 131   2       }
 132   1       D_I=1;                                         //送数据指令
 133   1       R_W=0;
 134   1       P1= ddata;                                     //写入数据
 135   1       E=1;                                           //使能信号开
 136   1       E=0;                                           //使能信号关
 137   1      }
 138          
 139          
 140          void Clearlcd()
 141          {
 142   1       D_I=0;
 143   1       R_W=0;
 144   1       P1=0x01;
 145   1       WCOM(0x01);                                    //清除显示
 146   1      }
 147          
 148          void Imim()
 149          {
 150   1       P0=0xFF;                                       //初始化单片机端口
 151   1       P1=0xFF;
 152   1       P2=0xFF;
 153   1       P3=0xFF;
 154   1       E=0;
 155   1      WCOM(0x38);                                     //功能设定
 156   1       WCOM(0x08);                                    //关显示指令
 157   1       WCOM(0x06);                                    //游标右移
 158   1       Clearlcd();                                    //清屏
 159   1       WCOM(0x0c);                                    //开显示指令
 160   1      }
 161          
 162          
 163          
 164          
 165          void Tuxing()
 166          {
 167   1       unsigned char data v;
 168   1       unsigned char data w;
 169   1       unsigned char data x;
 170   1       unsigned char data h;
 171   1      unsigned char *pp;                              //图形数组指针
 172   1      
 173   1       WCOM(0x34);                                    //功能设定
 174   1       WCOM(0x36);                                    //扩充功能设定
 175   1       pp=p2;
 176   1       pp=pp+16*y*2;
 177   1       for(h=0;h<z/2;h++)                     //页循环
 178   1       {
C51 COMPILER V8.08   TUXING                                                                08/27/2008 19:09:20 PAGE 4   

 179   2        v=Column|0x80;
 180   2        w=Page|0x80;
 181   2        WCOM(w);                                      //送入起始页地址
 182   2        WCOM(v);                                      //送入起始列地址
 183   2        Page++;                                       //准备对下一页进行操作
 184   2        for(x=0;x<2*y;x++)                    //列循环
 185   2         {
 186   3          if(x<y)
 187   3          {
 188   4           wbyte=*p2;
 189   4           Dat(wbyte);                                //循环送入图形数据
 190   4           p2=p2+1;
 191   4          }
 192   3          else
 193   3           {
 194   4            wbyte=*pp;
 195   4            Dat(wbyte);                               //循环送入图形数据
 196   4            pp=pp+1;
 197   4           }
 198   3         }
 199   2        }
 200   1      }
 201          
 202          
 203          void EClearlcd()
 204          {
 205   1        unsigned char data Disp_Page;
 206   1        unsigned char data i;
 207   1        unsigned char data j;
 208   1        for(i=0;i<64;i++)                             //共32页
 209   1        {
 210   2         Disp_Page=i|0x80;                    //设置页地址
 211   2         WCOM(Disp_Page);                     //送入页地址
 212   2         WCOM(0x80);                          //送入起始列地址
 213   2         for(j=0;j<32;j++)
 214   2         {
 215   3          Dat(0x00);                                  //清屏
 216   3         }
 217   2        }
 218   1      }
 219          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    324    ----
   CONSTANT SIZE    =   1024    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     13       5
   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 + -