www.pudn.com > smd380_program.rar > smd380.LST


C51 COMPILER V7.50   SMD380                                                                03/07/2008 14:30:01 PAGE 1    
 
 
C51 COMPILER V7.50, COMPILATION OF MODULE SMD380 
OBJECT MODULE PLACED IN smd380.OBJ 
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE smd380.c BROWSE DEBUG OBJECTEXTEND 
 
line level    source 
 
   1           
   2                                                             
   3           
   4          #include  
   5          #include  
   6          #include    
   7           
   8           
   9                                                                           
  10          typedef    unsigned char Byte;                      
  11          typedef    bit  bool; 
  12          typedef    signed int  sint; 
  13          typedef    unsigned  int Word; 
  14          typedef    unsigned  int uint; 
  15          typedef    signed long slong; 
  16           
  17           
  18           
  19          #define uchar   unsigned char    
  20          #define uint    unsigned int 
  21           
  22          #define Nop_() _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); 
  23           
  24           
  25           
  26           
  27           
  28           
  29           
  30           
  31          //SMD380 
  32           
  33          sbit    CSB_380 =       P2^5; 
  34          sbit    SCK_380 =       P0^4; 
  35          sbit    SDO_380 =       P3^0; 
  36          sbit    SDI_380 =       P3^1; 
  37           
  38           
  39           
  40           
  41           
  42          typedef union  
  43          { unsigned int i; 
  44            float f; 
  45          } value; 
  46           
  47           
  48          //---------------------------------------------------------------------------------- 
  49          // modul-var 
  50          //---------------------------------------------------------------------------------- 
  51          enum {TEMP,HUMI}; 
  52           
  53          value humi_val,temp_val; 
  54          value humi_val_buf,temp_val_buf; 
  55           
C51 COMPILER V7.50   SMD380                                                                03/07/2008 14:30:01 PAGE 2    
 
  56           
  57          const float code pi=3.1415926; 
  58          float dew_point; 
  59           
  60                                                                                   
  61          #define noACK 0 
  62          #define ACK   1 
  63                                      //adr  command  r/w 
  64          #define STATUS_REG_W 0x06   //000   0011    0 
  65          #define STATUS_REG_R 0x07   //000   0011    1 
  66          #define MEASURE_TEMP 0x03   //000   0001    1 
  67          #define MEASURE_HUMI 0x05   //000   0010    1 
  68          #define RESET        0x1e   //000   1111    0 
  69           
  70           
  71           
  72          idata float angle; 
  73           
  74          idata unsigned int heading,heading_buff; 
  75          idata unsigned int OffsetAngle; 
  76          idata unsigned int OffsetAngleBuf; 
  77          idata unsigned char ModuleStatus=0; 
  78          idata unsigned char cnt1=0,cnt2; 
  79          idata unsigned char     CharTmp1; 
  80           
  81          idata   unsigned        char    smd380_add,smd380_data,smd380_buff[18]; 
  82           
  83           
  84           
  85                                             
  86           
  87          void  Delay10us(Word  n);  
  88           
  89           
  90           
  91           
  92           
  93           
  94           
  95                   
  96          /*-----------------------延时-----------------------*/ 
  97           
  98          void Delay10us(Word n) //delay n 10us 
  99          { 
 100   1      Word t,cnt; 
 101   1              for(t=0;t0x7f) 
 207   2                         {                     
 208   3                                       smd380_buff[3]=0x100-smd380_buff[3]; 
 209   3                                       acce_bit=0; 
 210   3                         } 
 211   2                              x_value=smd380_buff[3]*8; 
 212   2                              x_value=x_value/1024.000; 
 213   2                              angle_x=asin(x_value)*180.0/pi; //angle_x为角度值,acce_bit=1角度为正,acce_bit=0角度为负 
 214   2       
 215   2       
 216   2                              for(z=0;z<2;z++) 
 217   2                              {                                  
 218   3                                      Delay10us(2);   
 219   3                              }                 
 220   2       
 221   2                              smd380_data=0; 
 222   2                              i=0; 
 223   2               } 
 224   1       
 225   1       
 226   1       
 227   1      } 
 
 
MODULE INFORMATION:   STATIC OVERLAYABLE 
   CODE SIZE        =    346    ---- 
   CONSTANT SIZE    =      4    ---- 
   XDATA SIZE       =   ----    ---- 
   PDATA SIZE       =   ----    ---- 
   DATA SIZE        =     20      15 
   IDATA SIZE       =     36       3 
   BIT SIZE         =   ----       1 
END OF MODULE INFORMATION. 
 
 
C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)