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

📄 1302.lst

📁 DS1302的驱动程序。主程序用C语言编写
💻 LST
字号:
C51 COMPILER V7.06   1302                                                                  05/30/2008 10:15:00 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE 1302
OBJECT MODULE PLACED IN 1302.OBJ
COMPILER INVOKED BY: D:\Program Files\Keil\C51\BIN\C51.EXE 1302.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /******************************************************
   2          ** Copyright (C), 1988-1999, Gxzjy.Djx.Dzjys       ****
   3          ** File name: DS1302                               ****
   4          ** Author: mingxin  Version:  1.1V  Date:2005.11.4 ****
   5          ** Description:  what is use DS1302  ,The main is to **
   6          **         set the time to 1302 and display the time **
   7          ** Function List: display(),init_ds1302(),main()         **
   8          **                write1302_byte(),read1302_byte()   **
   9          ** Others:  when program runing  you will have see   **
  10                                  the  LED show "hh.mm.ss" six number      **
  11          ******************************************************/
  12          
  13          #include "reg51.h"
  14          #define uchar unsigned char
  15          #define uint unsigned int
  16          #define disport P0
  17          
  18          code uchar disp_data[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
  19          uchar disp[6]={1,2,3,4,5,6};
  20          
  21          void delay(uchar x);
  22          void display();
  23          
  24          void init_ds1302();
  25          void write1302_byte(uchar add,uchar dat);
  26          uchar read1302_byte(uchar add);
  27          
  28          main()
  29          {       
  30   1              uchar k;
  31   1                      init_ds1302();          
  32   1              while(1)
  33   1              {
  34   2                      k=read1302_byte(0x85);  //read hour
  35   2                      disp[0]=k&0x30;disp[0]>>=4;
  36   2                      disp[1]=k&0x0f;
  37   2                      k=read1302_byte(0x83);  //read min
  38   2                      disp[2]=k&0x70;disp[2]>>=4;
  39   2                      disp[3]=k&0x0f; 
  40   2                      k=read1302_byte(0x81);  //read sec
  41   2                      disp[4]=k&0x70;disp[4]>>=4;
  42   2                      disp[5]=k&0x0f;
  43   2                      display();
  44   2              }
  45   1      }
  46          void init_ds1302()
  47          {
  48   1              write1302_byte(0x8e,0x00);
  49   1              write1302_byte(0x80,0x45);      //write sec
  50   1              write1302_byte(0x82,0x41);      //write min
  51   1              write1302_byte(0x84,0x11);      //write hour
  52   1      }
  53          void display()
  54          {
  55   1              uchar i,j=0x01;
C51 COMPILER V7.06   1302                                                                  05/30/2008 10:15:00 PAGE 2   

  56   1              uchar *k;
  57   1              k=&disp_data;
  58   1      
  59   1              disport=0;
  60   1              for(i=0;i<6;i++)
  61   1              {
  62   2                      if ((i==3)|(i==1))
  63   2                              disport=*(k+disp[i])|0x80;
  64   2                      else
  65   2                              disport=*(k+disp[i]);
  66   2                      P1=j;
  67   2                      j=j<<1;
  68   2                      delay(3);
  69   2              }
  70   1              delay(3);
  71   1              disport=0;
  72   1      }
  73          void delay(uchar x)
  74          {
  75   1              uchar i,j;
  76   1              for(j=0;j<x;j++)
  77   1              for(i=0;i<120;i++)
  78   1              {;}
  79   1      }


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