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

📄 8583.lst

📁 时钟芯片PCF8583的应用
💻 LST
字号:
C51 COMPILER V8.08   8583                                                                  09/07/2008 20:10:55 PAGE 1   


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

line level    source

   1          #include<reg51.h>
   2          #include<intrins.h>
   3          #include"lcdapi.h"
   4          #define nop4() _nop_();_nop_();_nop_();_nop_();  
   5          #define nop5() _nop_();_nop_();_nop_();_nop_();_nop_();
   6          #define rAdd 0xa1
   7          #define wAdd 0xa0
   8          
   9          typedef unsigned char uchar;
  10          sbit VSCL = P3^6;
  11          sbit VSDA = P3^7;
  12          uchar bdata rechar;
  13          sbit  one = rechar^0;
  14          
  15          void AckIIC()
  16          {
  17   1              VSDA = 0;
  18   1              VSCL = 1;
  19   1              nop4();
  20   1              VSCL = 0;
  21   1              VSDA = 1;
  22   1      }
  23          
  24          void StartIIC()
  25          {
  26   1              VSDA = 1;//hi
  27   1              VSCL = 1;
  28   1              nop4();
  29   1              VSDA = 0;//low
  30   1              nop4();
  31   1              VSCL = 0;
  32   1      }
  33          
  34          void StopIIC()
  35          {
  36   1              VSDA = 0;
  37   1              VSCL = 1;
  38   1              nop4();
  39   1              VSDA = 1;
  40   1              nop5();
  41   1              VSDA = 0;
  42   1              VSCL = 0;
  43   1      }
  44          
  45          bit CheckAckIIC()
  46          {
  47   1              bit flag;//有效为真
  48   1              VSDA = 1;//prepare to read 
  49   1              VSCL = 1;//
  50   1              flag = ~VSDA;//low ia avalible
  51   1              VSCL = 0;
  52   1              return flag;
  53   1              
  54   1      }
  55          
C51 COMPILER V8.08   8583                                                                  09/07/2008 20:10:55 PAGE 2   

  56          void SendByteIIC(char schar)
  57          {
  58   1              unsigned char data i;
  59   1              for(i = 8;i!=0;--i)
  60   1              {
  61   2                      schar = schar<<1;
  62   2                      VSDA = CY;
  63   2                      VSCL = 1;
  64   2                      nop4();
  65   2                      VSCL = 0;
  66   2                      VSDA = 0;
  67   2              }
  68   1      }
  69          
  70          void WriteByteEE(uchar addr,uchar wChar)
  71          {
  72   1              StartIIC();
  73   1              SendByteIIC(wAdd);
  74   1              CheckAckIIC();
  75   1              SendByteIIC(addr);
  76   1              CheckAckIIC();
  77   1              SendByteIIC(wChar);
  78   1              CheckAckIIC();
  79   1              StopIIC();
  80   1      }
  81          
  82          void ReadByteIIC(uchar data * rchar)
  83          {
  84   1              uchar i;
  85   1              for(i = 8; i ;i --)
  86   1              {
  87   2                      rechar =  rechar<<1;
  88   2                      VSDA = 1;
  89   2                      VSCL = 1;    //make the data useful
  90   2              _nop_();
  91   2              _nop_();
  92   2                      one = VSDA; 
  93   2              VSCL = 0;
  94   2              }
  95   1          *rchar = rechar;
  96   1      }
  97          
  98          void ReadByteEE(uchar addr,uchar data * rchar)
  99          {
 100   1              StartIIC();
 101   1              SendByteIIC(wAdd);
 102   1              CheckAckIIC();
 103   1              SendByteIIC(addr);
 104   1              CheckAckIIC();
 105   1              StartIIC();
 106   1              SendByteIIC(rAdd);
 107   1              CheckAckIIC();
 108   1              ReadByteIIC(rchar);
 109   1              StopIIC();
 110   1      }
 111          
 112          void main(){
 113   1          uchar rchar;
 114   1              uchar data time[16]= "时时分分秒秒    ";
 115   1              init_lcd();
 116   1          
 117   1          WriteByteEE(4,0x00);
C51 COMPILER V8.08   8583                                                                  09/07/2008 20:10:55 PAGE 3   

 118   1          WriteByteEE(3,0x00);
 119   1          WriteByteEE(2,0x00);
 120   1          
 121   1              while(1)
 122   1              {
 123   2                  ReadByteEE(4,&rchar);
 124   2                  time[2] = ((rchar >> 4) & 0x03) + 0x30;
 125   2                  time[3] = (rchar & 0x0F) + 0x30;
 126   2                  
 127   2                      ReadByteEE(3,&rchar);
 128   2                      time[6] = (rchar >> 4) + 0x30;
 129   2                      time[7] = (rchar & 0x0F) + 0x30;
 130   2                      
 131   2                      ReadByteEE(2,&rchar);
 132   2                      time[10] = (rchar >> 4) + 0x30;
 133   2                      time[11] = (rchar & 0x0F) + 0x30;
 134   2                      
 135   2                      DisLineCN(0x80,time);
 136   2              }
 137   1          
 138   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    294    ----
   CONSTANT SIZE    =     16    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1      17
   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 + -