callds05.lst

来自「单片机C语言教程」· LST 代码 · 共 119 行

LST
119
字号
C51 COMPILER V8.02   CALLDS05                                                              08/10/2007 21:17:26 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE CALLDS05
OBJECT MODULE PLACED IN CALLDS05.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE CALLDS05.C BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /********************************************************************/
   2          /* 这是调用DS1305汇编程序(DS1305B.ASM)的C51程序,                  */
   3          /* 文件名CALLDS05.c                                                  */
   4          /* 功能: 运行此程序,可将DS1305的时钟日历(7 bytes) 和RAM(96 bytes)    */
   5          /* 读出并将新的时钟日历值和RAM值置入。本程序只可从RAM读出16个字节或  */
   6          /* 写入16个字节                                                       */
   7          /**********************************************************************/
   8          
   9          #include <reg52.h>                //单片机头文件
  10          #include <stdio.h>
  11          #include <math.h>
  12          #include <absacc.h>
  13          
  14          #define uchar unsigned char       //简化定义
  15          #define uint unsigned int
  16          void delay1(uint x);
  17          void fill60(void);
  18          void fill67(void);
  19          extern uchar  chai5;               //把全局变量chai5声明为外部变量 
  20          extern uchar  a_func3(uchar,uchar);//把a_func3 声明为外部函数
  21          uchar idata w1,w2,w3,w4,w5,w6,w7,w8,w9,wa,wb,wc,wd,we,wf,wg;
  22          
  23          void delay1(uint x)              //延时程序
  24          {
  25   1       uchar tw;
  26   1       while (x-->0){
  27   2       for (tw=0;tw<125;tw++){;}
  28   2       }
  29   1      }
  30          void fill60(void)           /* 准备初始日历时钟值*/
  31          {
  32   1            DBYTE[0x60]=0x00;
  33   1            DBYTE[0x61]=0x15;
  34   1            DBYTE[0x62]=0x10;
  35   1            DBYTE[0x63]=0x31;
  36   1            DBYTE[0x64]=0x12;
  37   1            DBYTE[0x65]=0x05;
  38   1            DBYTE[0x66]=0x01;
  39   1      }
  40          void fill67(void)           /* 准备初始RAM值*/
  41          {     DBYTE[0x60]=0x10;
  42   1            DBYTE[0x61]=0x12;
  43   1            DBYTE[0x62]=0x13;
  44   1            DBYTE[0x63]=0x14;
  45   1            DBYTE[0x64]=0x15;
  46   1            DBYTE[0x65]=0x16;
  47   1            DBYTE[0x66]=0x17;
  48   1            DBYTE[0x67]=0x18;
  49   1            DBYTE[0x68]=0x19;
  50   1            DBYTE[0x69]=0x22;
  51   1            DBYTE[0x6a]=0x33;
  52   1            DBYTE[0x6b]=0x44;
  53   1            DBYTE[0x6c]=0x55;
  54   1            DBYTE[0x6d]=0x66;
  55   1            DBYTE[0x6e]=0x88;
C51 COMPILER V8.02   CALLDS05                                                              08/10/2007 21:17:26 PAGE 2   

  56   1            DBYTE[0x6f]=0x77;
  57   1      }
  58          void main()                   //主程序
  59          {
  60   1        SP=0xdf;
  61   1        delay1(1);
  62   1        EA=0;
  63   1        chai5=a_func3(0x00,0x00);   /* 读DS1305日历时钟值 */
  64   1             w1=DBYTE[0x60];
  65   1             w2=DBYTE[0x61];
  66   1             w3=DBYTE[0x62];
  67   1             w4=DBYTE[0x63];
  68   1             w5=DBYTE[0x64];
  69   1             w6=DBYTE[0x66];
  70   1        chai5=a_func3(0x00,0xFF);    /*读DS1305 RAM值  */
  71   1             w1=DBYTE[0x60];
  72   1             w2=DBYTE[0x61];
  73   1             w3=DBYTE[0x62];
  74   1             w4=DBYTE[0x63];
  75   1             w5=DBYTE[0x64];
  76   1             w6=DBYTE[0x65];
  77   1             w7=DBYTE[0x66];
  78   1             w8=DBYTE[0x67];
  79   1             w9=DBYTE[0x68];
  80   1             wa=DBYTE[0x69];
  81   1             wb=DBYTE[0x6a];
  82   1             wc=DBYTE[0x6b];
  83   1             wd=DBYTE[0x6c];
  84   1             we=DBYTE[0x6d];
  85   1             wf=DBYTE[0x6e];
  86   1             wg=DBYTE[0x6f];
  87   1        fill60();                  /* 输入初始日历时钟值 */
  88   1        chai5=a_func3(0xFF,0x00);  /* 写DS1305日历时钟值*/
  89   1        fill67();                  /* 输入初始RAM值     */
  90   1        chai5=a_func3(0xFF,0xFF);  /* 写DS1305 RAM值    */
  91   1        while(1);
  92   1       }
  93          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    287    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =     16    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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