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

📄 main.lst

📁 8563实时时钟
💻 LST
字号:
C51 COMPILER V8.05a   MAIN                                                                 05/08/2009 21:03:45 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /*******************************************************************
   2                                                          PCF8653实验程序
   3          程序说明:向PCF8653中写入初始时间值:2008年1月5日,星期三,15点18分56
   4                            秒后,在从其中读出数据后通过串口通信发送到显示装置进行显示
   5          *******************************************************************/
   6          #include <INIF.h>
   7          #include <I2C.h>
   8          #include <lcd1602.h>
   9          uchar xdata Time_Data[16]={0};
  10          void JDQ1();
  11          void JDQ2();
  12          long jj;
  13          main()
  14          {
  15   1              uchar p[7]={0x56,0x18,0x15,0x05,0x02,0x01,0x08};
  16   1              //2008 年1 月5 日星期三 15 点 18 分56 秒<倒序>
  17   1              //uchar m[3]={0x19,0x15,0x05};
  18   1              uchar m[1]={0x19};
  19   1              uchar n[2]={0x80,60};
  20   1              uchar afing;
  21   1              uchar clear=0x00;
  22   1              uchar kaizhong=0x03;
  23   1              uchar q[7];
  24   1              uchar i;
  25   1              
  26   1              bit bp;
  27   1              for(i=0;i<7;i++)
  28   1              {
  29   2                      bp=ISendStr(PCF8563,SUBADDR+i,p+i,1);  //向PCF8563各时钟寄存器写入初始数据
  30   2              }
  31   1              ISendStr(PCF8563,SUBADDRb,m,1);
  32   1              IRcvStr(PCF8563,SUBADDRc,&kaizhong,1);
  33   1              lcd1602init();  //液晶初始化
  34   1              SDA = 1;
  35   1              SCL = 1;
  36   1              PORT = 0x03;            //8155的A,B口作为输出,C为输入口
  37   1              lcd_clear( );   //液晶清屏
  38   1              while(1)
  39   1              {
  40   2                      //读PCF8563各时钟寄存器
  41   2                      for(i=0;i<7;i++)
  42   2                      { 
  43   3                              bp=IRcvStr(PCF8563,SUBADDR+i,q+i,1);
  44   3                      }
  45   2                      //屏蔽无效位 
  46   2                      q[0]&=0x7F;//second
  47   2                      q[1]&=0x7F;//minute
  48   2                      q[2]&=0x3F;//hour
  49   2                      q[3]&=0x3F;//day
  50   2                      q[4]&=0x07;//week
  51   2                      q[5]&=0x1F;//month
  52   2                      q[6]&=0xFF;//year
  53   2                      //送显示器显示 
  54   2                      Time_Data[0]  = q[6]/16+'0';
  55   2                      Time_Data[1]  = q[6]%16+'0';
C51 COMPILER V8.05a   MAIN                                                                 05/08/2009 21:03:45 PAGE 2   

  56   2                      Time_Data[2]  = q[5]/16+'0';
  57   2                      Time_Data[3]  = q[5]%16+'0';
  58   2                      Time_Data[4]  = q[3]/16+'0';
  59   2                      Time_Data[5]  = q[3]%16+'0';
  60   2                      Time_Data[6]  = ' ';
  61   2                      Time_Data[7]  = q[4]%16+'1';
  62   2                      Time_Data[8]  = ' ';
  63   2                      Time_Data[9]  = q[2]/16+'0';
  64   2                      Time_Data[10] = q[2]%16+'0';
  65   2                      Time_Data[11] = q[1]/16+'0';
  66   2                      Time_Data[12] = q[1]%16+'0';
  67   2                      Time_Data[13] = q[0]/16+'0';
  68   2                      Time_Data[14] = q[0]%16+'0';
  69   2                      IRcvStr(PCF8563,SUBADDRc,&afing,1);
  70   2                      if(afing&0x08)
  71   2                      {
  72   3                      //lcd_string(Time_Data,1);
  73   3                      JDQ1();
  74   3                      ISendStr(PCF8563,SUBADDRc,&clear,1);
  75   3                      ISendStr(PCF8563,SUBADDRd,n,2);
  76   3                      }
  77   2                      if(afing&0x04)
  78   2                      {
  79   3                      //lcd_string(Time_Data,1);
  80   3                      JDQ2();
  81   3                      ISendStr(PCF8563,SUBADDRc,&clear,1);
  82   3                      ISendStr(PCF8563,SUBADDRd,n,2);
  83   3                      }
  84   2                      lcd_string(Time_Data,2);
  85   2              }
  86   1      }
  87           void JDQ1()
  88          {
  89   1              P1_4=0;                  //继电器导通
  90   1      
  91   1      }
  92           void JDQ2()
  93          {
  94   1              P1_4=1;
  95   1              for(jj=0;jj<10000;jj++);
  96   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    491    ----
   CONSTANT SIZE    =     10    ----
   XDATA SIZE       =     16    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      4      21
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       1
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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