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

📄 dd.lst

📁 与320*240相连的DS1302时钟程序
💻 LST
字号:
C51 COMPILER V8.08   DD                                                                    04/20/2009 20:03:18 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE DD
OBJECT MODULE PLACED IN DD.OBJ
COMPILER INVOKED BY: D:\keil\C51\BIN\C51.EXE DD.C BROWSE DEBUG OBJECTEXTEND

line level    source

   1             #include "c8051f340.h"
   2             #include "intrins.h"
   3             #define  NOP  _nop_()
   4             #define  uchar   unsigned char
   5             sbit    SCLK=P2^2;
   6             sbit    IO=P2^1;
   7             sbit    RSTB=P2^0;
   8           
   9           
  10           
  11             void  delay(uchar i)
  12             { 
  13   1          
  14   1           while (i--);
  15   1              }
  16          
  17          //*****************************RESET  FUNCTION///////////////
  18             void reset()
  19             {
  20   1          SCLK=0;
  21   1          RSTB=0;
  22   1              NOP;
  23   1              NOP;
  24   1              NOP;
  25   1              RSTB=1;
  26   1         }
  27          //***************************BYTE  WRITE************//
  28             void  wbyte(uchar w_byte)
  29             {
  30   1              uchar i;
  31   1              for(i=0;i<8;++i)
  32   1                 { 
  33   2                  IO=0;
  34   2                  if(w_byte&0x01) IO=1;
  35   2                      SCLK=0;
  36   2                  delay(10);
  37   2                      SCLK=1;
  38   2              delay(10);
  39   2                      w_byte>>=1;
  40   2             }
  41   1         }
  42          //***********************        BYTE READ******************//
  43             uchar rbyte()
  44             {
  45   1             uchar i;
  46   1                 uchar R_BYTE;
  47   1                 uchar TMPBYTE;
  48   1             R_BYTE=0X00;
  49   1                 IO=1;
  50   1                 for(i=0;i<8;++i)
  51   1                 {
  52   2                   SCLK=1;
  53   2               delay(10);
  54   2                       TMPBYTE=(uchar)IO;
  55   2                       SCLK=0;
C51 COMPILER V8.08   DD                                                                    04/20/2009 20:03:18 PAGE 2   

  56   2                       TMPBYTE<<=7;
  57   2                       R_BYTE>>=1;
  58   2                       R_BYTE|=TMPBYTE;
  59   2                 }
  60   1                 return(R_BYTE);
  61   1         }
  62          
  63          uchar time_data[8]={0,0,0,0,0,0,0,0};//sec,min,hrs,dte,mon,day,yr
  64          uchar time_diplay[14]={0x31,0x35,0x38,0x32,0x39,0x33,0x34,0x33,0x32,0x37,0x31};
  65          
  66          //*********************时间初始校准与初始化**************************************
  67            void time_int_DS1302()      //24小时模式
  68            {     
  69   1          uchar time[8]={0,0,0x12,1,1,1,0,0};//sec,min,hrs,dte,mon,day,yr
  70   1          uchar i;
  71   1          reset();
  72   1          wbyte(0x8e);//写保护控制寄存器
  73   1          wbyte(0);//允许写入
  74   1          reset();
  75   1          wbyte(0x90); //涓流充电控制寄存器
  76   1          wbyte(0);    //禁止充电
  77   1          reset();
  78   1          wbyte(0xbe);           //2000年1月1日12点0分0秒 星期一
  79   1          for(i=0;i<8;i++) wbyte(time[i]);    
  80   1          reset();
  81   1        }
  82          
  83          
  84          //****************************************************************************
  85          //****************DS1302显示数据         ASCII码数字转化           ***********************/
  86          //******************************************************************************
  87          
  88           void  display_xlat()
  89           {      
  90   1          uchar i,j=0,num1,num2;
  91   1          for(i=0;i<7;i++)
  92   1               {  
  93   2                num1=time_data[i]&0x0F;
  94   2                num2=time_data[i];
  95   2                num2>>=4;
  96   2                time_diplay[j]=num1+0x30;
  97   2                time_diplay[j+1]=num2+0x30;
  98   2                j+=2;
  99   2               }
 100   1              
 101   1        }
 102          
 103           //**********************时间显示***************************************
 104            void  time_display_DS1302()
 105           {  uchar i;
 106   1          reset();
 107   1          wbyte(0xbf); //burst read          
 108   1          for(i=0;i<8;i++) time_data[i]=rbyte();    
 109   1      
 110   1          reset();
 111   1              display_xlat();
 112   1        }
 113          
 114          
 115          
 116          
 117          
C51 COMPILER V8.08   DD                                                                    04/20/2009 20:03:18 PAGE 3   

 118          


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