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

📄 main.lst

📁 93C46 三线读写程序 请大家试用,谢谢大家
💻 LST
字号:
C51 COMPILER V7.06   MAIN                                                                  04/25/2007 23:21:01 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c ROM(COMPACT) BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include "DS1302.h"
   2          #include <AT89X51.H>
   3          #include "intrins.h"
   4          
   5          sbit led  = P2^0;
   6          
   7          #define uchar unsigned char
   8          #define uint unsigned int
   9          typedef  unsigned  char   BYTE;
  10          typedef  unsigned  char   byte;
  11          typedef  unsigned  int    word;
  12          
  13          void int_0();       //外部中断0
  14          ////////////////////////////////////////
  15          ///////////////////////////////////////
  16          sbit CS = P1^0;
  17          sbit SK = P1^1;
  18          sbit DI = P1^5;  /* 注意 DI/DO 是连在一起的 */
  19          sbit DO = P1^5;
  20          
  21            void WriteEnabled()
  22            {
  23   1             bit  tp;
  24   1             BYTE jj;
  25   1        
  26   1             CS=0;
  27   1             SK=0;
  28   1             DI=0;
  29   1             CS=1;   
  30   1        
  31   1             DI=1; SK=1; DI=0; SK=0; // START 
  32   1             DI=0; SK=1; DI=0; SK=0;
  33   1             DI=0; SK=1; DI=0; SK=0;
  34   1             DI=1; SK=1; DI=0; SK=0;
  35   1             DI=1; SK=1; DI=0; SK=0;
  36   1        
  37   1             for(jj=1;jj<=5;jj++)  //skh
  38   1             {
  39   2                  tp=0;
  40   2                  DI=0x00;
  41   2                  SK=1;
  42   2                  DI=0;
  43   2                  SK=0;
  44   2             }
  45   1             CS=0;
  46   1        }
  47            void WriteChar(BYTE addr, BYTE value)
  48            {
  49   1             BYTE i;  
  50   1             CS = 1;
  51   1             
  52   1             SK=0; DI=1; _nop_(); SK=1;
  53   1             SK=0; DI=0; _nop_(); SK=1;
  54   1             SK=0; DI=1; _nop_(); SK=1;
  55   1             SK=0;
C51 COMPILER V7.06   MAIN                                                                  04/25/2007 23:21:01 PAGE 2   

  56   1        
  57   1             for( i=0;i<7;i++ )
  58   1             {
  59   2                  SK=0;
  60   2                  DI = (addr & 0x40) == 0x40; 
  61   2                  _nop_();
  62   2                  SK = 1;
  63   2                  addr <<= 1;         
  64   2             }
  65   1             SK = 0;
  66   1             
  67   1             for( i=0;i<8;i++ )
  68   1             {
  69   2                  SK=0;
  70   2                  DI = (value & 0x80) == 0x80; /*    时钟为低时写数据    */
  71   2                  _nop_();
  72   2                  SK = 1;
  73   2                  
  74   2                  value <<= 1;         /*    移位操作会将数据交给C    */
  75   2             }
  76   1             SK = 0;       
  77   1             CS = 0;       
  78   1             return ;
  79   1        }
  80            BYTE ReadChar(BYTE addr)
  81            {
  82   1             BYTE i;
  83   1             BYTE Result;   
  84   1             
  85   1             CS = 1;  
  86   1             SK=0; DI=1; _nop_(); SK=1;
  87   1             SK=0; DI=1; _nop_(); SK=1;
  88   1             SK=0; DI=0; _nop_(); SK=1;
  89   1             SK=0;
  90   1        
  91   1             for( i=0;i<7;i++ )
  92   1             {
  93   2                  DI = ((addr & 0x40) == 0x40);
  94   2                  SK = 1;
  95   2                  _nop_();_nop_();
  96   2                  SK = 0;
  97   2                  addr <<= 1;  
  98   2             }
  99   1             Result = 0;
 100   1             DO = 1;
 101   1             SK = 0;     
 102   1             for( i=0;i<8;i++ )
 103   1             {
 104   2                  Result <<= 1;
 105   2        
 106   2                  SK = 1;
 107   2                  _nop_();_nop_();
 108   2                  Result |= (BYTE) DO;
 109   2                  SK = 0;
 110   2             }
 111   1             SK = 0;  
 112   1             CS = 0;  
 113   1             return Result;
 114   1        }
 115          //////////////////////////////////////////
 116          //////////////////////////////////////////
 117          
C51 COMPILER V7.06   MAIN                                                                  04/25/2007 23:21:01 PAGE 3   

 118          /*void Delay1ms(unsigned int count)
 119          {
 120                  unsigned int i,j;
 121                  for(i=0;i<count;i++)
 122                  for(j=0;j<120;j++);
 123          }*/
 124          void delay1(unsigned int num)
 125                  {while(num!=0){num=num-1;}
 126   1              }
 127          void t0(void)interrupt  0 
 128          {
 129   1              BYTE aaa;
 130   1      
 131   1              aaa = ReadChar(8);      
 132   1              led=~led;
 133   1      }
 134          main()
 135          {
 136   1              BYTE bbb;
 137   1      /*              //led =0;       
 138   1                      //delay1(30000);
 139   1                      //led =1;       
 140   1                      //delay1(30000);
 141   1                              }*/
 142   1              EA=1;                   //开启0号中断
 143   1              EX0=1;
 144   1              IT0=1;
 145   1      
 146   1              bbb = ReadChar(6);
 147   1              WriteEnabled();
 148   1              WriteChar(8, 0x30);
 149   1              while(1)
 150   1                      {
 151   2                      }
 152   1      }


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


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

⌨️ 快捷键说明

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