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

📄 byteone.lst

📁 本程序实现通过BDM方式访问MOTOROLA 9S12单片机EEPROM
💻 LST
字号:
C51 COMPILER V7.50   BYTEONE                                                               07/16/2008 08:39:33 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE BYTEONE
OBJECT MODULE PLACED IN byteone.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE byteone.c BROWSE DEBUG OBJECTEXTEND SRC(.\byteone.SRC)

line level    source

   1          #include <reg54.h>
   2          #include <series sub.h>
   3          #include <intrins.h>
   4          #include <delay subroutine.h>
   5          
   6          #define uchar unsigned char
   7          #define uint unsigned int
   8          
   9          //sbit CTRLDIR =   P3^3;
  10          //sbit CTRL    =   P3^4;
  11          
  12          sbit BDR=P1^5;
  13          sbit BDT=P3^5;
  14          sbit RST=P1^7;
  15          /*
  16          void delay(long delaytime)
  17          {
  18                  while(--delaytime) 
  19                          {
  20                          _nop_();
  21                          }
  22          }
  23          */
  24          void TrBit0(uchar bit0_vh,bit0_vl)
  25          {
  26   1      //      int bdmcycle;
  27   1              BDT=0;
  28   1              while(--bit0_vh)
  29   1              {
  30   2              _nop_();
  31   2              }
  32   1              
  33   1      //      for(bdmcycle=0;bdmcycle<bit0_vh;bdmcycle++)
  34   1      //      {       
  35   1      //              _nop_();        
  36   1      //      }       
  37   1      //      Timer_Delay(bit0_vh,bit0_vl);
  38   1              BDT=1;//sbi(PORTD,PD2);
  39   1              while(--bit0_vl)
  40   1              {
  41   2              _nop_();
  42   2              }
  43   1      
  44   1      //      for(bdmcycle=0;bdmcycle<bit0_vl;bdmcycle++)
  45   1      //      {       
  46   1      //              _nop_();        
  47   1      //      }
  48   1      //      Timer_Delay(0x3f,0x01); 
  49   1      }
  50          
  51          void TrBit1(uchar bit0_vh,bit0_vl)
  52          {               
  53   1      //      int bdmcycle;
  54   1              BDT=0;
  55   1              while(--bit0_vh)
C51 COMPILER V7.50   BYTEONE                                                               07/16/2008 08:39:33 PAGE 2   

  56   1              {
  57   2              
  58   2              }
  59   1              _nop_();
  60   1      //      for(bdmcycle=0;bdmcycle<bit0_vh;bdmcycle++)
  61   1      //      {       
  62   1      //              _nop_();        
  63   1      //      }       
  64   1      //      Timer_Delay(bit0_vh,bit0_vl);
  65   1              BDT=1;//sbi(PORTD,PD2);
  66   1              while(--bit0_vl)
  67   1              {
  68   2              _nop_();
  69   2              }
  70   1      
  71   1      //      for(bdmcycle=0;bdmcycle<bit0_vl;bdmcycle++)
  72   1      //      {       
  73   1      //              _nop_();        
  74   1      //      }
  75   1      //      Timer_Delay(0x3f,0x01);          
  76   1      }
  77          
  78          void Trbyte(uint tdata,uchar byte_v1,byte_v0)
  79          {
  80   1              int p;
  81   1              byte_v0=byte_v1*2;
  82   1              for(p=0;p<8;p++)
  83   1                      {
  84   2                      if(tdata&0x80)
  85   2                              {
  86   3                              TrBit1(byte_v1,byte_v1);
  87   3                              }
  88   2                      else
  89   2                              {
  90   3                              TrBit0(byte_v0,byte_v1);
  91   3                              }       
  92   2                      tdata<<=1;       
  93   2                      }
  94   1      }
  95          
  96           
  97          uchar RecByte(uchar byte_r)
  98          {
  99   1              int q;
 100   1              uchar bdmcycle;
 101   1              uchar rdata=0;
 102   1              for(q=0;q<8;q++)
 103   1              {
 104   2                      bdmcycle=byte_r;
 105   2                      BDT=0;//cbi(PORTD,PD2);
 106   2                      while(--bdmcycle)
 107   2                      {
 108   3                      //_nop_();
 109   3                      }       
 110   2                              
 111   2                      BDT=1;
 112   2                      _nop_();
 113   2                      _nop_();
 114   2                      _nop_();
 115   2                      _nop_();
 116   2                      _nop_();
 117   2                      _nop_();
C51 COMPILER V7.50   BYTEONE                                                               07/16/2008 08:39:33 PAGE 3   

 118   2      
 119   2                      if(BDR==1)
 120   2                              {
 121   3                              rdata|=(1<<0);
 122   3                              }
 123   2                      else
 124   2                              {                       
 125   3                              rdata&=~(1<<0);
 126   3                              }
 127   2                      if(q!=7)
 128   2                              {rdata<<=1;}
 129   2              //      BDR=1;
 130   2                      BDT=1;//sbi(PORTD,PD2);
 131   2                      bdmcycle=byte_r;
 132   2                      while(--bdmcycle)
 133   2                      {
 134   3                      //_nop_();
 135   3                      }
 136   2              }
 137   1              return(rdata);  
 138   1      }
 139          
 140          


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