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

📄 keydeal.lst

📁 多功能智能充电器
💻 LST
字号:
C51 COMPILER V8.02   KEYDEAL                                                               05/20/2008 01:52:02 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE KEYDEAL
OBJECT MODULE PLACED IN keydeal.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE src\keydeal.c BROWSE DEBUG OBJECTEXTEND PRINT(.\keydeal.lst) OBJECT(keydeal
                    -.obj)

line level    source

   1          #include "reg5410.h"
   2          #include "head.h"
   3          
   4          
   5          
   6          
   7          extern void DispZimu(unsigned char x,unsigned char y,unsigned char how,unsigned char *stri);
   8          extern void DispShuzi(unsigned char x,unsigned char y,unsigned int n);   //8*16数字显示
   9          extern void DispShuzi0(unsigned char x,unsigned char y,unsigned int n);  //8*16数字显示
  10          extern void DispHanzi(unsigned char x,unsigned char y,unsigned char how,unsigned char *stri);
  11          extern void send_command(unsigned char command_data) ;
  12          extern void GetADCaiJiDL(unsigned int *ADData);
  13          extern void GetADCaiJiDY(unsigned int *ADData);
  14          extern unsigned char read(unsigned char ADDRH,unsigned char ADDRL);
  15          extern void write(unsigned char ADDRH,unsigned char *p,unsigned char k);
  16          
  17          extern unsigned int Sec;
  18          extern unsigned int Min;
  19                                                                                                                                                                                                                               
  20          void Disp_Page0(void);
  21          void Disp_Page1(void);
  22          void Disp_Page2(void);
  23          void Disp_Page3(void);
  24          
  25          void jiemian(void)
  26          {
  27   1              static unsigned char ti=0,page=0;
  28   1              unsigned int tmp=0;
  29   1              if(page==1)
  30   1              {
  31   2                       GetADCaiJiDL(&tmp);DispShuzi0(2,5,tmp);
  32   2                       GetADCaiJiDY(&tmp);DispShuzi0(1,5,tmp);
  33   2              }
  34   1              if(Mode==0||Up==0||Down==0)
  35   1              {
  36   2                      ti++;
  37   2                      if(ti>=30)
  38   2                      {
  39   3                              ti=0;
  40   3                              if(Mode==0)
  41   3                              {
  42   4                                      page++;
  43   4                                      if(page>=5)
  44   4                                              page=0;
  45   4                                      if(page==0)
  46   4                                              Disp_Page0();
  47   4                                      else if(page==1)
  48   4                                              Disp_Page1();
  49   4                                      else if(page==2)
  50   4                                              Disp_Page2();
  51   4                                      else if(page==3)
  52   4                                              Disp_Page3();           
  53   4                              }
  54   3                      }
C51 COMPILER V8.02   KEYDEAL                                                               05/20/2008 01:52:02 PAGE 2   

  55   2              }
  56   1              else ti=0;
  57   1      }
  58          
  59          void Disp_Page0(void)
  60          {               
  61   1              send_command(0x01);
  62   1              DispHanzi(1,1,5,"多功能智能");
  63   1              DispHanzi(2,1,5,"电池充电器");
  64   1      }
  65          
  66          void Disp_Page1(void)
  67          {
  68   1              unsigned int td=0;
  69   1              send_command(0x01);
  70   1              DispHanzi(0,0,4,"充电中。");
  71   1              DispHanzi(1,0,4,"充电电压");
  72   1                      DispZimu(1,7,1,"V");
  73   1              DispHanzi(2,0,4,"充电电流");
  74   1                      DispZimu(2,7,1,"A");
  75   1              DispHanzi(3,0,4,"充电时间");
  76   1              //      td=read(0x2a,0x00);Min=td*256+read(0x2a,0x01);
  77   1                              DispShuzi0(3,4,Min);
  78   1                      
  79   1              //      td=read(0x28,0x00);Sec=td*256+read(0x28,0x01);
  80   1                              DispShuzi0(3,6,Sec);
  81   1                              DispHanzi(3,5,1,"分");
  82   1                              DispHanzi(3,7,1,"秒");
  83   1      }       
  84          
  85          void Disp_Page2(void)
  86          {
  87   1              send_command(0x01);
  88   1              DispHanzi(0,0,4,"充电完成");
  89   1      }
  90          
  91          
  92          void Disp_Page3(void)
  93          {
  94   1              send_command(0x01);
  95   1              DispHanzi(0,0,5,"电池被移除" );
  96   1              DispHanzi(1,0,4,"充电中止");
  97   1      }
  98          
  99          void GetADCaiJiDL(unsigned int *ADData)
 100          {
 101   1              unsigned int i, j, Sum;
 102   1              ADC_CONTR=0x80|0x05;
 103   1              for(i=0; i<100; i++);
 104   1              Sum = 0;
 105   1              for(i=0; i<64; i++)
 106   1              {
 107   2                      ADC_CONTR|=0x08;
 108   2                      while((ADC_CONTR&0x10)==0x00);                  //等待变成flag=1
 109   2                      Sum = Sum + (ADC_DATA*4+ADC_LOW2);
 110   2                      for(j=0; j<100;j++);
 111   2              }
 112   1              *ADData = Sum / 64;
 113   1      }
 114          
 115          void GetADCaiJiDY(unsigned int *ADData)
 116          {
C51 COMPILER V8.02   KEYDEAL                                                               05/20/2008 01:52:02 PAGE 3   

 117   1              unsigned int i, j, Sum;
 118   1              ADC_CONTR=0x80|0x06;
 119   1              for(i=0; i<100; i++);
 120   1              Sum = 0;
 121   1              for(i=0; i<64; i++)
 122   1              {
 123   2                      ADC_CONTR|=0x08;
 124   2                      while((ADC_CONTR&0x10)==0x00);                  //等待变成flag=1
 125   2                      Sum = Sum + (ADC_DATA*4+ADC_LOW2);
 126   2                      for(j=0; j<100;j++);
 127   2              }
 128   1              *ADData = Sum / 64;
 129   1      }
 130          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    624    ----
   CONSTANT SIZE    =     97    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      2      10
   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 + -