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

📄 11111111111.lst

📁 液晶MGLS2401128TA的控制程序
💻 LST
字号:
C51 COMPILER V7.08   11111111111                                                           08/26/2005 16:36:41 PAGE 1   


C51 COMPILER V7.08, COMPILATION OF MODULE 11111111111
OBJECT MODULE PLACED IN 11111111111.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 11111111111.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include  <reg51.h>
   2          #include  <stdio.h>
   3          #include  <math.h>
   4          #include  <absacc.h>
   5          #define  LCMDW  XBYTE[0xf3ff]   /*定义数据口*/
   6          #define  LCMCW  XBYTE[0xfbff]    
   7          #define uint  unsigned   int
   8          #define uchar  unsigned  char
   9          sbit LED=P3^4;
  10          uchar code  hzcode[8][16]={0x00,0x40,0x37,0x10,0x83,0x60,0x2F,0x08,  
  11          
  12          0x13,0x22,0xE3,0x22,0x23,0x22,0x22,0x22,
  13          0x40,0x48,0xFC,0x40,0xF8,0x40,0xFE,0x08,
  14          0xFC,0x08,0xF8,0x08,0xF8,0x08,0x28,0x10,
  15          0x04,0x04,0x08,0x08,0x18,0x29,0x4A,0x08,    /* 华       代码为01*/
  16          0x09,0x01,0xFF,0x01,0x01,0x01,0x01,0x01,
  17          0x40,0x48,0x58,0x60,0xC0,0x40,0x44,0x44,
  18          0x3C,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,
  19          0x01,0x01,0x01,0x01,0x01,0xFF,0x01,0x02,    /* 大            代码为02*/
  20          0x02,0x02,0x04,0x04,0x08,0x10,0x60,0x00,
  21          0x00,0x00,0x00,0x00,0x04,0xFE,0x00,0x80,
  22          0x80,0x40,0x40,0x20,0x10,0x0E,0x04,0x00,
  23          0x22,0x11,0x11,0x00,0x7F,0x40,0x80,0x1F,    /* 学                 代码为03*/
  24          0x00,0x01,0xFF,0x01,0x01,0x01,0x05,0x02,
  25          0x08,0x08,0x10,0x20,0xFE,0x02,0x04,0xE0,
  26          0x40,0x84,0xFE,0x00,0x00,0x00,0x00,0x00};
  27          void  fnChkST01(void)          
  28          {
  29   1      uchar i;
  30   1      for(i=16;i>0;i--)
  31   1        {
  32   2         if((LCMCW & 0x03)==0x03)
  33   2             break;
  34   2        }
  35   1      }
  36          
  37          void  fnChkST3(void)            
  38          {
  39   1      uchar i;
  40   1      for(i=16;i>0;i--)
  41   1        {
  42   2         if((LCMCW & 0x08)==0x08)
  43   2             break;
  44   2        }
  45   1      }
  46          
  47          void fnCmd0(uchar uCmd)      
  48          {
  49   1        fnChkST01();
  50   1        LCMCW=uCmd;
  51   1      }
  52          void  fnCmd1(uchar uCmd, uchar uPar1) 
  53          {
  54   1        fnChkST01();
  55   1        LCMDW=uPar1;
C51 COMPILER V7.08   11111111111                                                           08/26/2005 16:36:41 PAGE 2   

  56   1        fnCmd0(uCmd);
  57   1      }
  58          
  59          void  fnCmd2(uchar uCmd, uchar uPar1,uchar uPar2)  
  60          {
  61   1        fnChkST01();
  62   1        LCMDW=uPar1;
  63   1        fnCmd1(uCmd,uPar2);
  64   1      }
  65          void cls_graph(void)   
  66          {
  67   1        uchar i,j;
  68   1        fnCmd2(0x24,0x00,0x20);   
  69   1        fnCmd0(0xB0);               
  70   1        for(i=0;i<128;i++)
  71   1         {
  72   2           for(j=0;j<30;j++)
  73   2           {fnChkST3();
  74   3            LCMDW=0x00;
  75   3           }
  76   2         }
  77   1        fnCmd0(0xB2);               
  78   1      }
  79          
  80          void cls_text(void)     
  81          {
  82   1        uchar i,j;
  83   1        fnCmd2(0x24,0x00,0x20);   /*set address  pointer*/
  84   1        fnCmd0(0xB0);               /*data auto write */
  85   1        for(i=0;i<16;i++)
  86   1         {
  87   2           for(j=0;j<30;j++)
  88   2           {
  89   3            fnChkST3();
  90   3            LCMDW=0x0F;
  91   3           }
  92   2         }
  93   1        fnCmd0(0xB2);                /* end data auto write */
  94   1      }
  95          
  96          void fnLCMInit(void)
  97          {
  98   1        fnCmd2(0x40,0x00,0x00);
  99   1        fnCmd2(0x41,20,0x00);
 100   1        fnCmd2(0x42,0x00,0x20);
 101   1        fnCmd2(0x43,30,0x00);
 102   1        fnCmd0(0xA0|0x01);
 103   1        fnCmd0(0x80);
 104   1        fnCmd0(0x90|0x0F);
 105   1      }
 106          
 107          void fnsetpos(uchar line,uchar lie)       
 108          
 109          { uint ipos;
 110   1        ipos=line*20+lie;
 111   1        fnCmd2(0x24,ipos & 0xFF,ipos/256);
 112   1      }
 113          
 114          void fnshowHZ(uchar line,uchar lie ,uchar hzdaima)   
 115          
 116          
 117            {
C51 COMPILER V7.08   11111111111                                                           08/26/2005 16:36:41 PAGE 3   

 118   1          uchar i;
 119   1          uint   startaddr;
 120   1          startaddr=line*0x20+lie;
 121   1          for(i=0;i<16;i++)
 122   1          {
 123   2            fnCmd2(0x24,startaddr & 0xff,startaddr/256);   
 124   2            fnCmd1(0xc0,hzcode[hzdaima*2][i]);                       
 125   2            fnCmd1(0xc4,hzcode[hzdaima*2+1][i]);                    
 126   2            startaddr=startaddr+0x20;                              
 127   2          }
 128   1        }
 129          main()
 130          { 
 131   1         uchar code tab[11]=
 132   1      {0x37,0x45,0x4c,0x43,0x4f,0x4d,0x45,0x00,0x39,0x4f,0x55};
 133   1      LED=0;  
 134   1      fnLCMInit();
 135   1        cls_text();
 136   1        cls_graph();
 137   1        
 138   1        for(; ;)
 139   1         {  uint i;
 140   2            
 141   2            uint      Line;
 142   2            uint      Lie;
 143   2            uchar     HZDaim;
 144   2            fnsetpos(0x00,0x00);   
 145   2            fnCmd0(0xB0);
 146   2            for(i=0;i<11;i++)
 147   2             { 
 148   3               fnChkST3();
 149   3               
 150   3               LCMDW=tab[i];
 151   3             }
 152   2            fnCmd0(0xB2);
 153   2            
 154   2            
 155   2              Line=0x0a;            
 156   2              Lie=0x17;
 157   2              HZDaim=0x00;
 158   2      
 159   2               fnshowHZ(Line,Lie,  HZDaim);  
 160   2                       LED=1;
 161   2         }
 162   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    411    ----
   CONSTANT SIZE    =    139    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       9
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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