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

📄 display.lst

📁 一个充电控制器的完整单片机程序
💻 LST
字号:
C51 COMPILER V7.20   DISPLAY                                                               06/20/2005 16:55:59 PAGE 1   


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

line level    source

   1          //-----------------
   2          //change value that display in lcd
   3          //-----------------
   4          #include <string.h>
   5          #include <ABSACC.H>
   6          #include <stdio.h>
   7          #include <INTRINS.h>
   8          #include <stdlib.h>
   9          #include <AT89X52.H>
  10          
  11          #include "CHARGER.H"
  12          
  13          //
  14          //----------------
  15          //main program
  16          ////--------------
  17          static unsigned char month_is(unsigned char *s)
  18          {
  19   1              unsigned char data i;
  20   1              code char *m[]={"Jan","Feb","Mar","Apr","May","Jun","Jnl","Aug","Sep","Oct","Nov","Dec"};
  21   1              for(i=0;;i++)if((m[i][0]==s[0])&&(m[i][1]==s[1])&&(m[i][2]==s[2]))return i+1;
  22   1      }
  23          static void     now_is(unsigned char *s)
  24          {
  25   1              code unsigned char *t[]={__DATE__,__TIME__};
  26   1      
  27   1              s[0]=1;
  28   1              s[1]=atoi(t[1]+3);
  29   1              s[2]=atoi(t[1]);
  30   1      
  31   1              s[3]=atoi(t[0]+4);
  32   1              s[4]=month_is(t[0]);
  33   1              s[5]=atoi(t[0]+8);
  34   1      }
  35          
  36          //---------------------
  37          //hardware reset flag
  38          unsigned char data bootflag _at_ 0x9;
  39          extern bit bdata boostflag;
  40          
  41          static void init(void)
  42          {
  43   1              unsigned int data i;
  44   1              unsigned char xdata *string;//[8];
  45   1      
  46   1              for(i=0;i<3;i++)
  47   1              {
  48   2                      delay(1000);//Waiting for all right
  49   2                      /*1*///init port of 51
  50   2                      RESET_DOG;
  51   2                      P8255D=0x80;//AoBoCo,8255 mode 0, all port output
  52   2                      P8255A=0xFF;
  53   2                      P8255B=0xFF;
  54   2              }
  55   1      /*2*///init lcd
C51 COMPILER V7.20   DISPLAY                                                               06/20/2005 16:55:59 PAGE 2   

  56   1        WC_LCD(SET8B);
  57   1        WC_LCD(SCR_TFF);
  58   1      /*3*///init history area to save
  59   1        RESET_DOG;
  60   1              if(bootflag!=0xAA)
  61   1              {
  62   2      
  63   2                      string=0xC000;
  64   2      
  65   2              RESET_DOG;
  66   2                      for(i=0;i<0x2000;i++)*string++=0;
  67   2              RESET_DOG;
  68   2      
  69   2                      init_history_buffer();
  70   2      
  71   2                      boostflag=1;
  72   2      
  73   2      /*4*///init system work point & rate
  74   2                      if(sys[11]<2230||sys[11]>3230){sys[11]=0;just=0;}
  75   2                      //如果存在系统设置,则不进行缺省设置
  76   2                      if(!(sys[7]==48||sys[7]==110||sys[7]==220||sys[7]==300))
  77   2                      {
  78   3                              init_rate_workpoint(DEFSYSV);
  79   3                              password=8952;
  80   3                      }
  81   2                      RESET_DOG;;
  82   2      
  83   2      /*5*///init realtimer
  84   2                      now_is(&XBYTE[0xC400]);
  85   2      //              setup12887(&XBYTE[0xC400]);
  86   2              RESET_DOG;
  87   2      
  88   2                      bootflag=0xAA;
  89   2              }
  90   1      
  91   1        start12887();
  92   1      /*7*///init interrupt
  93   1              EX0=1;  EX1=1;
  94   1              IT0=1;  IT1=1;//interrupt mode download side
  95   1      
  96   1      /*8*///init_timer0();//enable readkey,reset dog
  97   1        TMOD &= 0XF0;   
  98   1        TMOD |= 0X1;  //mode 1 max is 106.66666ms on 7.3728M
  99   1        TL0 = 0X00;    
 100   1        TH0 = 0X88;    //on 7.3728M,50ms(0x8800);
 101   1        ET0 = 1;       
 102   1        TF0 = 0;
 103   1        TR0 = 1; 
 104   1      
 105   1              EA=1;   
 106   1              keyrst(0);
 107   1              
 108   1              controlstate=0x20;//state display reset
 109   1      
 110   1        RESET_DOG;
 111   1      }
 112          
 113          //--------------
 114          extern code char *atstate;
 115          //-----------------------
 116          void main(void)
 117          {
C51 COMPILER V7.20   DISPLAY                                                               06/20/2005 16:55:59 PAGE 3   

 118   1              init();//check soft reset 
 119   1              init_serial();
 120   1              Wmodem(atstate);
 121   1        while(1)
 122   1        {
 123   2      //2005/4
 124   2      init_rate_workpoint(DEFSYSV); 
 125   2      //2005/4
 126   2              RESET_DOG;
 127   2          getadin();//get ad input
 128   2                      account();//account work data of today
 129   2                      control();//control extern switcher with battery volatage
 130   2                      firstscr();//display timer & battery volatage
 131   2          menu();//is menu enter
 132   2          save();//save history data per once day 
 133   2                      SetSys();//Set sysSet with data of recived
 134   2                      if(tlong&0x0FF==0)
 135   2                              Wmodem(atstate);//Period 256 Second
 136   2              }
 137   1      }
 138          
 139          
 140          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    640    ----
   CONSTANT SIZE    =    111    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       8
   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 + -