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

📄 test.lst

📁 C51编写的DS1302时钟芯片驱动程序
💻 LST
字号:
C51 COMPILER V7.01  TEST                                                                   11/14/2007 11:43:08 PAGE 1   


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

stmt level    source

   1          /*********************************************************************************************/
   2          /*                                            SED1520                                        */
   3          /*********************************************************************************************/
   4          #include <reg52.h>
   5          /*===========================================================================================*/
   6          #define uchar unsigned char
   7          #define uint  unsigned int
   8          /*-------------------------------------------------------------------------------------------*/
   9          #define ctc0_tl 0xf8
  10          #define ctc0_th 0x4b
  11          #define ctc1_th 0xfa
  12          /*===========================================================================================*/
  13          sbit lamp=P3^5;           //signal lamp
  14          /*===========================================================================================*/
  15          uchar status=0;
  16          uchar count=0;
  17          uchar idata date[6];
  18          
  19          extern void reset_ds1302(void);
  20          extern void read_ds1302(uchar *);
  21          extern void write_ds1302(uchar *);
  22          /*********************************************************************************************/
  23          void send_data(uchar type)          //send data to GSM
  24          {
  25   1         TI=0;
  26   1         SBUF=type;
  27   1         do
  28   1         {}
  29   1         while (TI==0);
  30   1         TI=0;
  31   1      }
  32          /*========================================================================================================
             -*/
  33          void send_string(uchar *address)    //send string to GSM
  34          {
  35   1         while ((*address>=0x0a)&&(*address<0x80)) 
  36   1         {
  37   2            send_data(*address);
  38   2            address++;
  39   2         }
  40   1         send_data('\r');
  41   1         send_data('\n');
  42   1      }
  43          /*========================================================================================================
             -*/
  44          void ctc0() interrupt 1 using 1     //50mS/loop(verified) 
  45          {
  46   1           TR0=0;                  
  47   1           TL0=ctc0_tl;
  48   1           TH0=ctc0_th;
  49   1           TR0=1;
  50   1           /*==============================================================================*/
  51   1           count++;
  52   1      }
  53          /*===========================================================================================*/
C51 COMPILER V7.01  TEST                                                                   11/14/2007 11:43:08 PAGE 2   

  54          void cut_reset()       //all interrupt reset
  55          {
  56   1            EA=0;         
  57   1            TMOD=0X21;       //ctc1 is 9600bps,ctc0 is mod1(16bits)
  58   1            TL0=ctc0_tl;    
  59   1            TH0=ctc0_th;     //ctc0 start value(50mS)
  60   1            TH1=ctc1_th;     //9600bps(11.0592MHz)
  61   1            TCON=0x50;       //ctc0 and ctc1 start work,int0 is edge trigger
  62   1            SCON=0x50;       //UART is 8bits(mod1),receive allow.
  63   1            PCON=0x80;       //SMOD=1
  64   1            ET0=1;           //open ctc0 interrupt
  65   1            EA=1;            //open all interrupt
  66   1      }
  67          /*********************************************************************************************/
  68          main()
  69          {
  70   1         uchar idata sum[20]="2000.12.18 21:16:37\0";
  71   1       
  72   1         status=0;
  73   1         reset_ds1302();
  74   1         cut_reset();
  75   1         date[0]=26;date[1]=59;date[2]=23;date[3]=31;date[4]=12;date[5]=9;      //2009.12.31 23:59:26
  76   1         write_ds1302(date);
  77   1         /*========================================================================================*/
  78   1         while(1)
  79   1         {              uint ii;
  80   2             if (count>=20)
  81   2             {
  82   3                read_ds1302(date);
  83   3                sum[17]=date[0]/10+0x30;sum[18]=date[0]%10+0x30;  //second
  84   3                sum[14]=date[1]/10+0x30;sum[15]=date[1]%10+0x30;  //minute
  85   3                sum[11]=date[2]/10+0x30;sum[12]=date[2]%10+0x30;  //hour
  86   3                sum[8]=date[3]/10+0x30;sum[9]=date[3]%10+0x30;    //day
  87   3                sum[5]=date[4]/10+0x30;sum[6]=date[4]%10+0x30;    //month
  88   3      
  89   3                        ii= date[5]+2000;
  90   3      
  91   3                sum[0]=ii/1000+0x30;ii%=1000;
  92   3                sum[1]=ii/100+0x30;ii%=100;
  93   3                sum[2]=ii/10+0x30;ii%=10;
  94   3                sum[3]=ii+0x30;
  95   3      
  96   3                send_string(sum);
  97   3                count=0;
  98   3                lamp=~lamp;
  99   3             }
 100   2             /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
 101   2         }
 102   1      }
 103          /*********************************************************************************************/
 104          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    410    ----
   CONSTANT SIZE    =     20    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      2       2
   IDATA SIZE       =      6      20
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.

C51 COMPILER V7.01  TEST                                                                   11/14/2007 11:43:08 PAGE 3   


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

⌨️ 快捷键说明

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