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

📄 vf3000.lst

📁 安防产品源程序 包括液晶芯片, c51单片机,通讯等 程序
💻 LST
字号:
C51 COMPILER V3.20,  SN-50203013  VF3000                                                   09/26/06  13:34:20  PAGE 1   


DOS C51 COMPILER V3.20, COMPILATION OF MODULE VF3000
OBJECT MODULE PLACED IN VF3000.OBJ
COMPILER INVOKED BY: F:\COMP51\BIN\C51.EXE VF3000.C DB OE SMALL ROM(LARGE) 

stmt level    source

   1          #define uchar unsigned char
   2          #define uint unsigned int
   3          #define ulong unsigned long
   4          #define nop _nop_()
   5          
   6          #pragma ROM(LARGE)
   7          #pragma RB(0)
   8          #pragma ot(5,SIZE)
   9          
  10          #include<reg52.h>
  11          #include<pub.h>
  12          #include<absacc.h>
  13          #include<intrins.h>
  14          #include <24c256h.h>
  15          #include <pcf8563.h>
  16          
  17          #include <EMrfc.h>
  18          
  19          
  20          uint data RecordNum;
  21          bit CommMark=0;
  22          bit E2promType;/*256则为0,512则为1*/
  23          /******************* lcddisp.c *****************/
  24          uchar DispBuff[4];
  25          
  26          uchar code DispCode[16]=
  27          {
  28            0xeb,0x0a,0xad,0x8f,0x4e,0xc7,0xe7,0x8a,0xef,0xcf, /*0~9*/
  29            0xee,0x67,0xe1,0x2f,0xe5,0xe4,                     /*A,b,C,d,E,F*/   
  30          //0x04,0x85,0xe1,0x8b,0xe5,0x64,0x1                  /*-,三,[,],E,r,_*/
  31          };
  32          void commInt() interrupt 4 using 1
  33          {
  34   1         CommMark=1;
  35   1         ES=0;
  36   1      }
  37          void wrLcdCode(uchar byte)
  38          {
  39   1         uchar i;
  40   1         
  41   1         LCDCS=0;
  42   1         LCDDA=1; LCDWR=0; LCDWR=1;
  43   1         LCDDA=0; LCDWR=0; LCDWR=1;
  44   1         LCDDA=0; LCDWR=0; LCDWR=1;
  45   1         
  46   1         for (i=0;i<8;i++)
  47   1            {
  48   2            if ( byte>=0x80 ) LCDDA=1;
  49   2            else LCDDA=0;
  50   2            LCDWR=0;LCDWR=1;
  51   2            byte<<=1;
  52   2            }
  53   1         LCDDA=0; LCDWR=0;LCDWR=1;   
  54   1         
  55   1         LCDDA=1;   
C51 COMPILER V3.20,  SN-50203013  VF3000                                                   09/26/06  13:34:20  PAGE 2   

  56   1         LCDCS=1;   
  57   1      }
  58          
  59          void wrLcdDisp()
  60          {
  61   1         uchar i,j;
  62   1         uchar byte;
  63   1         uchar addr;
  64   1         
  65   1         LCDCS=0;
  66   1         LCDDA=1; LCDWR=0; LCDWR=1;
  67   1         LCDDA=0; LCDWR=0; LCDWR=1;
  68   1         LCDDA=1; LCDWR=0; LCDWR=1;
  69   1         LCDDA=0; LCDWR=0; LCDWR=1;
  70   1         
  71   1         for ( i=0;i<5;i++ ) 
  72   1            {
  73   2            LCDDA=0; LCDWR=0; LCDWR=1;
  74   2            }
  75   1         for ( j=0;j<4;j++ )
  76   1            {
  77   2            byte=DispBuff[j];
  78   2            for ( i=0;i<8;i++ ) 
  79   2               {
  80   3               if ( byte>=0x80 ) LCDDA=1;
  81   3               else LCDDA=0;
  82   3               LCDWR=0; LCDWR=1;
  83   3               byte<<=1;
  84   3               }
  85   2            }   
  86   1         LCDDA=1;   
  87   1         LCDCS=1;
  88   1      }
  89          
  90          void dispChar(uchar loc, uchar byte)
  91          {
  92   1         DispBuff[loc]=DispCode[byte];
  93   1      }
  94          
  95          void clrDisp()
  96          {
  97   1         uchar i;
  98   1         DispBuff[0]=0;
  99   1         DispBuff[1]=0;
 100   1         DispBuff[2]=0;
 101   1         DispBuff[2]=0;
 102   1         
 103   1         wrLcdDisp();
 104   1      }
 105          
 106          void initDisp()
 107          {
 108   1         uchar data i;
 109   1         
 110   1         LCDCS=1; LCDWR=1; LCDRD=1; LCDDA=1;
 111   1         LCDCS=0; for ( i=0;i<10;i++ );
 112   1         LCDCS=1; for ( i=0;i<10;i++ );
 113   1         LCDCS=0; for ( i=0;i<10;i++ );
 114   1         LCDCS=1; for ( i=0;i<10;i++ );
 115   1         LCDCS=0; for ( i=0;i<10;i++ );
 116   1         LCDCS=1; for ( i=0;i<10;i++ );
 117   1         wrLcdCode(0x29); // initlcd
C51 COMPILER V3.20,  SN-50203013  VF3000                                                   09/26/06  13:34:20  PAGE 3   

 118   1         wrLcdCode(0x18);
 119   1         wrLcdCode(0x01);
 120   1         wrLcdCode(0x03);
 121   1      }
 122          /******************* lcddisp.c *****************/
 123          
 124          
 125          uchar WorkTime;
 126          
 127          uchar data recbuf[20];
 128          uchar data RecLen;
 129          
 130          void music()
 131          {
 132   1         uint i;
 133   1         
 134   1         for ( i=0;i<139*4;i++ )
 135   1            {
 136   2            Bell=1; TR0=0;TF0=0;TH0=0xff;TL0=0x91;TR0=1;
 137   2            while ( !TF0 ); TF0=0;
 138   2            Bell=0; TR0=0;TF0=0;TH0=0xff;TL0=0x91;TR0=1;
 139   2            while ( !TF0 ); TF0=0;
 140   2            }
 141   1         Bell = 1;   
 142   1      }
 143          
 144          /* 延时n个uS  */
 145          void delayNus(uint nus) 
 146          {
 147   1         TR0=0;/*先停止计数*/
 148   1         nus = 0xffff- nus;
 149   1         TF0=0; TL0=(uchar)nus; TH0=nus/0x100;
 150   1         TR0=1;
 151   1         while( !TF0 );
 152   1         TF0=0;
 153   1      }
 154          
 155          
 156          void delayN10ms(uchar t)
 157          {
 158   1         uchar i;
 159   1         for(i=0;i<t;i++) delayNus(10000);
 160   1      }
 161          
 162          void powerDown()
 163          {
 164   1         Shake=1;
 165   1       //  PowerEN=1;
 166   1        // Mod=1;
 167   1         SHD=1;
 168   1         PCON=0X2;
 169   1      }
 170          
 171          uchar TT1;
 172          void timer1() interrupt 3 using 2 // 50ms interrupt
 173          {				  /* WorkTime 每500ms 减一 */
 174   1        
 175   1        TH1=0x00;TL1=0;
 176   1        TT1--;
 177   1      }
 178          
 179          void dispClock()
C51 COMPILER V3.20,  SN-50203013  VF3000                                                   09/26/06  13:34:20  PAGE 4   

 180          {
 181   1         getClock();
 182   1         
 183   1         dispChar(0,Clock.Hour/16); 
 184   1         DispBuff[0]|=0x10;
 185   1         dispChar(1,Clock.Hour%16);
 186   1         dispChar(2,Clock.Min/16);  dispChar(3,Clock.Min%16);
 187   1         wrLcdDisp();
 188   1      }
 189          
 190          void main()
 191          {
 192   1         uchar StartTime;
 193   1         uchar i=0;
 194   1         uchar ii;
 195   1      
 196   1         Shake=0;
 197   1         initDisp();  
 198   1         clrDisp(); 
 199   1         
 200   1         TMOD=0x11; TR1=1; //ET1=1;
 201   1         IT0=0; //low level triggered --Wakeup
 202   1         RI=0;
 203   1         init24c256();
 204   1         initPCF8563();
 205   1         dispClock(); 
 206   1         ES=1;  
 207   1         EA=1;
 208   1        // Mod=0; 
 209   1         while (i<100)
 210   1            {
 211   2            SHD=0;
 212   2            if(rfEM()==1)
 213   2               {
 214   3               SHD=1;
 215   3               music();
 216   3               wr24c256(0x29, 0x55);
 217   3               ii=rd24c256(0x29);
 218   3               dispChar(0, ii/16);
 219   3               dispChar(1, ii%16);
 220   3                wrLcdDisp();
 221   3               powerDown();
 222   3               }
 223   2            else ;
 224   2            SHD=1;
 225   2            if(i==1)  
 226   2               {
 227   3             //  wr24c256(0x7fef, 0x12);
 228   3               ii=rd24c256(0xffef);
 229   3               
 230   3               clrDisp();
 231   3               dispChar(1,ii/16);
 232   3               dispChar(2,ii%16);
 233   3                wrLcdDisp();
 234   3               }
 235   2            //powerDown();
 236   2            TT1=8;TH1=0x00;TL1=0;ET1=1;
 237   2            while(TT1>0){PCON=1;}
 238   2            ET1=0;
 239   2            i++;      
 240   2        
 241   2            if ( CommMark ) 
C51 COMPILER V3.20,  SN-50203013  VF3000                                                   09/26/06  13:34:20  PAGE 5   

 242   2               {
 243   3             //  initComm();
 244   3             //  commHandle();
 245   3               powerDown();
 246   3               }
 247   2            else;
 248   2            }
 249   1      }


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


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

⌨️ 快捷键说明

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