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

📄 smallfunction.lst

📁 一个以前开发的实际应用的交通灯控制器程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V7.50   SMALLFUNCTION                                                         04/03/2007 10:38:52 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE SMALLFUNCTION
OBJECT MODULE PLACED IN SmallFunction.obj
COMPILER INVOKED BY: E:\Keil\C51\BIN\C51.EXE IIC[Ultral]\SmallFunction.c BROWSE DEBUG OBJECTEXTEND PRINT(.\SmallFunction
                    -.lst) OBJECT(SmallFunction.obj)

line level    source

   1          #include "iic.h" 
   2          //////////////
   3          //2007-3-26 20:01
   4          
   5          void PrintNum(unsigned char x,unsigned char y,unsigned int dat)
   6          {//3位数,不消隐
*** WARNING C235 IN LINE 6 OF IIC[ULTRAL]\SMALLFUNCTION.C: parameter 3: different types
   7   1      //2007-3-26 20:09
   8   1              unsigned char xdata i;
   9   1              while(dat>=1000)
  10   1                      dat-=1000;
  11   1              i=0;
  12   1              while(dat>=100)
  13   1              {
  14   2                      dat-=100;
  15   2                      i++;
  16   2              }
  17   1              LcdChar(x,y,NUM_H);
  18   1              LcdAddChar(NUM_L+i);
  19   1              i=0;
  20   1              while(dat>=10)
  21   1              {
  22   2                      dat-=10;
  23   2                      i++;
  24   2              }
  25   1              LcdChar(x,y+1,NUM_H);
  26   1              LcdAddChar(NUM_L+i);
  27   1              LcdChar(x,y+2,NUM_H);
  28   1              LcdAddChar(NUM_L+dat);
  29   1      }
  30          
  31          void PrintNum2(unsigned char x,unsigned char y,unsigned int dat)
  32          {//3位数,大于1000消隐
*** WARNING C235 IN LINE 32 OF IIC[ULTRAL]\SMALLFUNCTION.C: parameter 3: different types
  33   1      //2007-3-27 9:35
  34   1              unsigned char xdata i,k;
  35   1              LcdChar(x,y,0x20);//灭
  36   1              for(i=0;i<5;i++)
  37   1                      LcdAddChar(0x20);
  38   1              if(dat>=1000)
  39   1                      return;
  40   1              i=0;
  41   1              k=0;
  42   1              while(dat>=100)
  43   1              {
  44   2                      dat-=100;
  45   2                      i++;
  46   2              }
  47   1              if(i)
  48   1              {
  49   2                      LcdChar(x,y,NUM_H);
  50   2                      LcdAddChar(NUM_L+i);
  51   2                      k=1;
  52   2              }
C51 COMPILER V7.50   SMALLFUNCTION                                                         04/03/2007 10:38:52 PAGE 2   

  53   1              i=0;
  54   1              while(dat>=10)
  55   1              {
  56   2                      dat-=10;
  57   2                      i++;
  58   2              }
  59   1              if(i||k)
  60   1              {
  61   2                      LcdChar(x,y+1,NUM_H);
  62   2                      LcdAddChar(NUM_L+i);
  63   2                      k=1;
  64   2              }
  65   1              LcdChar(x,y+2,NUM_H);
  66   1              LcdAddChar(NUM_L+dat);  
  67   1              
  68   1      }
  69          
  70          unsigned int Get44Key(unsigned char x,unsigned char y)
  71          {
  72   1      //2007-3-27 9:35
  73   1              unsigned char kv,i,k;
  74   1              unsigned int kt;
  75   1              kt=1000;//1000为取消值
  76   1              k=10;//
  77   1              i=0;
  78   1              LcdCur(x,y);
  79   1              kv=KEY_NOKEY;
  80   1              while(1)
  81   1              {//需加入自动切换代码
  82   2                      while(kv==KEY_NOKEY)
  83   2                      {
  84   3                              kv=GetKey();
  85   3                              if(SecondFlag)
  86   3                              {
  87   4                                      SecondCheck();
  88   4                                      AutoLockCnt--;
  89   4                                      SecondFlag=0;
  90   4                                      if(AutoLockCnt<SYS_AUTO_LOCK_TIME)
  91   4                                      {
  92   5                                              DeskTopFlag=1;
  93   5                                              PswLock=1;
*** ERROR C202 IN LINE 93 OF IIC[ULTRAL]\SMALLFUNCTION.C: 'PswLock': undefined identifier
  94   5                                              return(1000);
  95   5                                      }
  96   4                              }
  97   3                      }
  98   2                      AutoLockCnt=SYS_LCD_OFF_TIME;
  99   2      
 100   2                      switch(kv) 
 101   2                      {
 102   3                              case KEY_NUM0:
 103   3                                      k=0;
 104   3                                      break;
 105   3                              case KEY_NUM1:
 106   3                                      k=1;
 107   3                                      break;
 108   3                              case KEY_NUM2:
 109   3                                      k=2;
 110   3                                      break;
 111   3                              case KEY_NUM3:
 112   3                                      k=3;
 113   3                                      break;
C51 COMPILER V7.50   SMALLFUNCTION                                                         04/03/2007 10:38:52 PAGE 3   

 114   3                              case KEY_NUM4:
 115   3                                      k=4;
 116   3                                      break;
 117   3                              case KEY_NUM5:
 118   3                                      k=5;
 119   3                                      break;
 120   3                              case KEY_NUM6:
 121   3                                      k=6;
 122   3                                      break;
 123   3                              case KEY_NUM7:
 124   3                                      k=7;
 125   3                                      break;
 126   3                              case KEY_NUM8:
 127   3                                      k=8;
 128   3                                      break;
 129   3                              case KEY_NUM9:
 130   3                                      k=9;
 131   3                                      break;
 132   3                              case KEY_BKSPACE://退格
 133   3                                      k=10;
 134   3                                      if(i>1)
 135   3                                      {
 136   4                                              kt/=10;
 137   4                                              i--;
 138   4                                      }
 139   3                                      else if (i==1)
 140   3                                      {
 141   4                                              kt=NUM_CANCEL;
*** ERROR C202 IN LINE 141 OF IIC[ULTRAL]\SMALLFUNCTION.C: 'NUM_CANCEL': undefined identifier
 142   4                                              i=0;
 143   4                                      }
 144   3                                      PrintNum2(x,y,kt);
 145   3                                      break;
 146   3                              case KEY_CANCEL:
 147   3                              case KEY_MENU://相当于取消
 148   3                                      LcdCurOff();
 149   3                                      return(1000);
 150   3                              case KEY_ENTER:
 151   3                                      LcdCurOff();
 152   3                                      return(kt);
 153   3                              default:
 154   3                                      k=10;
 155   3                      }
 156   2                      if(k==10)
 157   2                              continue;//无效继续循环
 158   2                      if(i>=3)
 159   2                              continue;
 160   2                      if(kt==NUM_CANCEL)
*** ERROR C202 IN LINE 160 OF IIC[ULTRAL]\SMALLFUNCTION.C: 'NUM_CANCEL': undefined identifier
 161   2                              kt=k;
 162   2                      else
 163   2                      {
 164   3                              kt=kt*10;
 165   3                              kt+=k;
 166   3                      }
 167   2                      PrintNum2(x,y,kt);
 168   2                      i++;
 169   2                      LcdCur(x,y+i);//光标
 170   2                      k=10;
 171   2              }       
 172   1      }
 173          
C51 COMPILER V7.50   SMALLFUNCTION                                                         04/03/2007 10:38:52 PAGE 4   

 174          unsigned char Get256Key(unsigned char x,unsigned char y)
 175          {
 176   1              unsigned int xdata t;
 177   1              t=Get44Key(x,y);
 178   1              if(t>255)//取消则返回255
 179   1                      return(255);
 180   1              x=(unsigned char)(t & 0xff);
 181   1              return(x);
 182   1      }
 183          
 184          unsigned char GetBoolKey(unsigned char x,unsigned char y,unsigned char bl)
 185          {
 186   1              unsigned char xdata i,k,ik;
 187   1              i=bl;
 188   1      
 189   1              k=Line[x];
*** ERROR C202 IN LINE 189 OF IIC[ULTRAL]\SMALLFUNCTION.C: 'Line': undefined identifier
 190   1              ik=k+y;
 191   1              WriteCmd(0x0f);//开下标
 192   1              if(bl)
 193   1                      LcdCnString(x,y,"是");
 194   1              else
 195   1                      LcdCnString(x,y,"否");
 196   1              WriteCmd(ik);//1xxx,xxxx 设定DDRAM 7位地址xxx,xxxx到地址计数器AC
 197   1      
 198   1              while(1)
 199   1              {       
 200   2                      k=GetKey();
 201   2                      if(k==KEY_NOKEY)
 202   2                              continue;
 203   2                      if(k==KEY_CANCEL)
 204   2                      {
 205   3                              WriteCmd(0x0c);//关下标
 206   3                              return i;//取消
 207   3                      }
 208   2      
 209   2                      if(k==KEY_ENTER)
 210   2                      {
 211   3                              WriteCmd(0x0c);//关下标
 212   3                              return bl;
 213   3                      }
 214   2                      bl=!bl;
 215   2                      if(bl)
 216   2                      {
 217   3                              LcdCnString(x,y,"是");
 218   3                              WriteCmd(ik);
 219   3                      }
 220   2                      else
 221   2                      {
 222   3                              LcdCnString(x,y,"否");
 223   3                              WriteCmd(ik);
 224   3                      }
 225   2              }
 226   1      }
 227          
 228          void GetPassword(unsigned char x,unsigned char y)
 229          {
 230   1      //2007-4-2 19:43
 231   1      //输入:无,返回:AppBuf[0],AppBuf[1]
 232   1              unsigned char kv,i,k;
 233   1              unsigned int kt,kt1;
 234   1              kt=0;//1000为取消值
C51 COMPILER V7.50   SMALLFUNCTION                                                         04/03/2007 10:38:52 PAGE 5   

 235   1              kt1=0;
 236   1              k=10;//
 237   1              i=0;
 238   1              LcdCur(x,y);
 239   1              kv=KEY_NOKEY;
 240   1              while(1)
 241   1              {//需加入自动切换代码
 242   2                      while(kv==KEY_NOKEY)
 243   2                      {
 244   3                              kv=GetKey();
 245   3                              if(SecondFlag)
 246   3                              {
 247   4                                      SecondCheck();
 248   4                                      AutoLockCnt--;
 249   4                                      SecondFlag=0;
 250   4                                      if(AutoLockCnt<SYS_AUTO_LOCK_TIME)
 251   4                                      {
 252   5                                              DeskTopFlag=1;
 253   5                                              PswLock=1;
*** ERROR C202 IN LINE 253 OF IIC[ULTRAL]\SMALLFUNCTION.C: 'PswLock': undefined identifier
 254   5                                              AppBuf[0]=0xff;
*** ERROR C202 IN LINE 254 OF IIC[ULTRAL]\SMALLFUNCTION.C: 'AppBuf': undefined identifier
 255   5                                              AppBuf[1]=0xff;
*** ERROR C202 IN LINE 255 OF IIC[ULTRAL]\SMALLFUNCTION.C: 'AppBuf': undefined identifier
 256   5                                              LcdCurOff();
 257   5                                              return;
 258   5                                      }

⌨️ 快捷键说明

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