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

📄 demo.lst

📁 字符液晶驱动C程序! 控制器为HD44780 or KS0066等兼容IC
💻 LST
字号:
C51 COMPILER V3.20,  SN-50203013  DEMO                                                     03/11/03  16:10:51  PAGE 1   


DOS C51 COMPILER V3.20, COMPILATION OF MODULE DEMO
OBJECT MODULE PLACED IN F:\WHR_SOFT\PYSOFT\HD44780\CHD44780\DEMO.OBJ
COMPILER INVOKED BY: C:\WAVE\P51\C51.EXE F:\WHR_SOFT\PYSOFT\HD44780\CHD44780\DEMO.C DB SB OE

stmt level    source

   1          #include <reg51.h>
   2          #include <math.h>
   3          #include <absacc.h>
   4          /* 直接访问方式地址定义,根据用户平台接口修改 */
   5          #define  cwadd XBYTE[0x0000] /* 写指令代码地址 */
   6          #define  cradd XBYTE[0x0200] /* 写显示数据地址 */
   7          #define  dwadd XBYTE[0x0100] /* 读显示数据地址 */
   8          #define  dradd XBYTE[0x0300] /* 读忙状态地址 */
   9          /*  定义标志位  */
  10          sbit ACC_7=ACC^7;
  11          /* 设为全局变量 */
  12          unsigned int com,dat;
  13          /*-----------光标移动演示用字库-----------*/
  14          unsigned int  TABCL[18]={0x43,0x75,0x72,0x73,0x6f,0x72,0x20,0x4c,0x65,0x66,0x74,0x20,0x53,0x63,0x72,0x6f,0
             -x6c,0x6c};
  15          /*-----------画面滚动演示用字库----------*/
  16          unsigned int  TABL[11]={0x4c,0x65,0x66,0x74,0x20,0x53,0x63,0x72,0x6f,0x6c,0x6c};
  17          /*-----------建立自定义演示用字符库-----------*/
  18          code  unsigned int CGTAB[9][8]={0x08,0x0f,0x12,0x0f,0x0a,0x1f,0x02,0x02,   /* "↓"代码=0 */
  19                                          0x0f,0x09,0x0f,0x09,0x0f,0x09,0x11,0x00,   /* "月"代码=1 */
  20                                          0x1f,0x11,0x11,0x1f,0x11,0x11,0x1f,0x00,   /* "日"代码=2 */
  21                                          0x11,0x0a,0x04,0x1f,0x04,0x1f,0x04,0x00,   /* "¥"代码=3 */
  22                                          0x0e,0x00,0x1f,0x0a,0x0a,0x0a,0x13,0x00,   /* "元"代码=4 */
  23                                          0x18,0x18,0x07,0x08,0x08,0x08,0x07,0x00,   /* "℃"代码=5 */
  24                                          0x04,0x0a,0x15,0x04,0x04,0x04,0x04,0x00,   /* "↑"代码=6 */
  25                                          0x17,0x15,0x15,0x15,0x15,0x15,0x17,0x00,   /* "10"代码=7 */
  26                                          0x04,0x04,0x04,0x04,0x15,0x0a,0x04,0x00 }; /* "↓"代码=8 */
  27          /*-----------自定义字符显示用字库-----------*/
  28          code  unsigned int TABDY[4][9]={0x4d,0x44,0x4c,0x53,0x34,0x30,0x32,0x36,0x36,
  29                                          0x20,0x03,0x32,0x35,0x35,0x2e,0x30,0x30,0x04,
  30                                          0x31,0x39,0x39,0x37,0x00,0x37,0x01,0x31,0x02,
  31                                          0x20,0x54,0x3d,0x33,0x35,0x05,0x06,0x20,0x07};
  32          
  33          /******************/
  34          void main()
  35            {
  36   1        unsigned int i,j,k,comp;
  37   1         int_1();   /* 调初始化函数  */
*** WARNING 206 IN LINE 37 OF F:\WHR_SOFT\PYSOFT\HD44780\CHD44780\DEMO.C: 'int_1': missing function-prototype
  38   1         SCROLL();   /* 调滚动演示函数 */
*** WARNING 206 IN LINE 38 OF F:\WHR_SOFT\PYSOFT\HD44780\CHD44780\DEMO.C: 'SCROLL': missing function-prototype
  39   1         CL_ENTER(); /* 调光标移动函数 */
*** WARNING 206 IN LINE 39 OF F:\WHR_SOFT\PYSOFT\HD44780\CHD44780\DEMO.C: 'CL_ENTER': missing function-prototype
  40   1         L_ENTER();  /* 调画面滚动函数 */
*** WARNING 206 IN LINE 40 OF F:\WHR_SOFT\PYSOFT\HD44780\CHD44780\DEMO.C: 'L_ENTER': missing function-prototype
  41   1         HOME();     /* 调回归原始位函数 */
*** WARNING 206 IN LINE 41 OF F:\WHR_SOFT\PYSOFT\HD44780\CHD44780\DEMO.C: 'HOME': missing function-prototype
  42   1      /*----------修改错误显示演示段----------*/
  43   1         com=0x80;  /* 设置DDRAM地址 */
  44   1           PR1();   /* 调写指令函数  */
*** WARNING 206 IN LINE 44 OF F:\WHR_SOFT\PYSOFT\HD44780\CHD44780\DEMO.C: 'PR1': missing function-prototype
  45   1           for(i=0;i<12;i++)
  46   1             {
  47   2               dat=RDTAB[i];  /* 取字符代码 */
*** ERROR 202 IN LINE 47 OF F:\WHR_SOFT\PYSOFT\HD44780\CHD44780\DEMO.C: 'RDTAB': undefined identifier
C51 COMPILER V3.20,  SN-50203013  DEMO                                                     03/11/03  16:10:51  PAGE 2   

  48   2               PR2();  /* 调写数据函数  */
*** WARNING 206 IN LINE 48 OF F:\WHR_SOFT\PYSOFT\HD44780\CHD44780\DEMO.C: 'PR2': missing function-prototype
  49   2             }
  50   1           DA_READ();  /* 调修改错误显示函数 */
*** WARNING 206 IN LINE 50 OF F:\WHR_SOFT\PYSOFT\HD44780\CHD44780\DEMO.C: 'DA_READ': missing function-prototype
  51   1      /*---------自定义字符显示段------------*/
  52   1           com=0x80;  /* 设置DDRAM地址 */
  53   1           PR1();     /* 调写指令函数  */
  54   1           for(i=0;i<4;i++)
  55   1             {
  56   2               for(j=0;j<8;j++)
  57   2                 {
  58   3                   dat=TABDY[i][j];  /* 取字符代码 */
  59   3                   PR2();  /* 调写数据函数  */
  60   3                 }
  61   2             }
  62   1      /*------------CGRAM显示段--------------*/
  63   1      
  64   1           CGRAM(); /* 调自定义字符库函数 */
*** WARNING 206 IN LINE 64 OF F:\WHR_SOFT\PYSOFT\HD44780\CHD44780\DEMO.C: 'CGRAM': missing function-prototype
  65   1           com=0x80;  /* 设置DDRAM地址 */
  66   1           PR1();   /* 调写指令函数  */
  67   1         for(i=0;i<9;i++)
  68   1           {
  69   2             dat=i; /* 取字符代码 */
  70   2             PR2(); /* 调写数据函数  */
  71   2           }
  72   1        }
  73          /*******************/
  74          /*    初始化函数   */
  75          /*******************/
  76          int_1()
  77            {
  78   1          unsigned int i,j;
  79   1          for(j=0;j<3;j++)
  80   1            {
  81   2              cwadd=0x30;   /*  工作方式设置指令代码  */
  82   2              for(i=0;i<100;i++)  /*  延时大于等于4.1μs(100可根据需要调整)  */
  83   2               {}
  84   2             }
  85   1          cwadd=0x38; /*  设置工作方式(8位总线)  */
  86   1          com=0x01;   /*  清屏  */
  87   1          PR1();      /*  调写指令函数  */
  88   1          com=0x06;   /*  设置输入方式  */
  89   1          PR1();      /*  调写指令函数  */
  90   1          com=0x0f;   /*  设置显示方式  */
  91   1          PR1();      /*  调写指令函数  */
  92   1        }
  93          /*********************/
  94          /*    光标移动函数   */
  95          /*********************/
  96          CL_ENTER()
  97            {
  98   1         unsigned int i,j;
  99   1          com=0x04;  /*  输入方式(0x04画面不动光标左移,0x06画面不动光标右移)  */
 100   1          PR1();     /*  调写指令函数  */
 101   1          com=0x90;  /*  设置DDRAM地址 */
 102   1          PR1();     /*  调写指令函数  */
 103   1          for(i=0;i<18;i++)
 104   1            {
 105   2              dat=TABCL[i];  /*  取字符代码  */
 106   2              PR2();         /*  调写数据函数  */
C51 COMPILER V3.20,  SN-50203013  DEMO                                                     03/11/03  16:10:51  PAGE 3   

 107   2              for(j=0;j<100;j++)  /*  延时(100可根据需要调整)*/
 108   2                {}
 109   2            }
 110   1         }
 111          /*******************/
 112          /*   画面滚动函数  */
 113          /*******************/
 114          L_ENTER()
 115            {
 116   1          unsigned int i,j;
 117   1          com=0x05;   /*  输入方式(com=0x05画面右移,com=0x07画面左移)  */
 118   1          PR1();      /*  调写指令函数  */
 119   1          com=0x80;   /*  设置DDRAM地址 */
 120   1          PR1();      /*  调写指令函数  */
 121   1          for(i=0;i<11;i++)
 122   1            {
 123   2              dat=TABL[i];  /*  取字符代码  */
 124   2              PR2();        /*  调写数据函数  */
 125   2              for(j=0;j<100;j++)   /*  延时(100可根据需要调整)*/
 126   2                {}
 127   2            }
 128   1        }
 129          /*********************/
 130          /*    滚动演示函数   */
 131          /*********************/
 132          SCROLL()
 133            {
 134   1          unsigned int i,j;
 135   1          com=0x80;   /*  设置DDRAM地址 */
 136   1          PR1();      /*  调写指令函数  */
 137   1          for(i=0;i<128;i++)
 138   1            {
 139   2              dat=0x21;  /* 字符代码设置 */
 140   2              PR2();     /*  调写数据函数  */
 141   2              for(j=0;j<100;j++)  /*  延时(100可根据需要调整)*/
 142   2                {}
 143   2            }
 144   1          com=0x90;   /*  设置DDRAM地址 */
 145   1          PR1();      /*  调写指令函数  */
 146   1          for(i=0;i<8;i++)
 147   1            {
 148   2              for(j=0;j<100;j++)  /* 延时(100可根据需要调整) */
 149   2                {}
 150   2              com=0x10;  /* com=0x10 光标左移一次,com=0x14 光标右移一次 */
 151   2              PR1();   /*  调写指令函数  */
 152   2            }
 153   1            com=0x90; /*  设置DDRAM地址 */
 154   1            PR1();    /*  调写指令函数  */
 155   1          for(i=0;i<8;i++)
 156   1            {
 157   2             for(j=0;j<100;j++)  /* 延时(100可根据需要调整) */
 158   2                {}
 159   2             com=0x18;  /* com=0x18画面左移一次,com=0x1c画面右移一次*/
 160   2             PR1();  /*  调写指令函数  */
 161   2            }
 162   1        }
 163          /***********************/
 164          /*    回归原始位函数   */
 165          /***********************/
 166          HOME()
 167            {
 168   1          com=0x02;  /* 设置归home位指令代码 */
C51 COMPILER V3.20,  SN-50203013  DEMO                                                     03/11/03  16:10:51  PAGE 4   

 169   1          PR1();     /*  调写指令函数  */
 170   1        }
 171          /**************************/
 172          /*     建立自定义函数     */
 173          /**************************/
 174          CGRAM()
 175            {
 176   1         unsigned char i,j;
 177   1         com=0x40;    /* 设置CGRAM地址 */
 178   1         PR1();       /*  调写指令函数  */
 179   1         for(i=0;i<9;i++)
 180   1           {
 181   2           for(j=0;j<8;j++)
 182   2              {
 183   3               dat=CGTAB[i][j];  /* 取字模 */
 184   3               PR2();   /*  调写数据函数  */
 185   3              }
 186   2           }
 187   1        }
 188           /********************/
 189           /*  读BF和AC值函数  */
 190           /********************/
 191           PR0()
 192             {
 193   1           com=cradd;
 194   1         }
 195          /*******************/
 196          /*    写指令函数   */
 197          /*******************/
 198          PR1()
 199            {
 200   1          busy(); /* 调判忙函数 */
*** WARNING 206 IN LINE 200 OF F:\WHR_SOFT\PYSOFT\HD44780\CHD44780\DEMO.C: 'busy': missing function-prototype
 201   1          cwadd=com;  /* 写指令 */
 202   1        }
 203          /*******************/
 204          /*    写数据函数   */
 205          /*******************/
 206          PR2()
 207            {
 208   1          busy();  /* 调判忙函数 */
 209   1          dwadd=dat; /*  写数据  */
 210   1        }
 211          /*******************/
 212          /*    读数据函数   */
 213          /*******************/
 214          PR3()
 215            {
 216   1          busy();  /* 调判忙函数 */
 217   1          dat=dradd; /*  读数据  */
 218   1        }
 219          /*****************/
 220          /*    判忙函数   */
 221          /*****************/
 222          busy()
 223            {
 224   1          do
 225   1            {
 226   2              ACC=cradd;        /*  读状态字  */
 227   2            }
 228   1          while (ACC_7==1);     /*  判“忙”标志  */
 229   1        }
C51 COMPILER V3.20,  SN-50203013  DEMO                                                     03/11/03  16:10:51  PAGE 5   


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

⌨️ 快捷键说明

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