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

📄 tmp_rec.lst

📁 vxworks网络通信实例
💻 LST
字号:
C51 COMPILER V6.02  TMP_REC                                                                03/21/2003 14:03:25 PAGE 1   


C51 COMPILER V6.02, COMPILATION OF MODULE TMP_REC
OBJECT MODULE PLACED IN D:\NET\PRO2\TMP_REC.OBJ
COMPILER INVOKED BY: D:\WAVE\COMP51\C51.EXE D:\NET\PRO2\TMP_REC.C DB SB OE

stmt level    source

   1          #pragma SMALL DB OE
   2          #include <reg51.h>
   3          #include "tmp_rec.h"
   4          
   5          sbit SDA = P3^0;
   6          sbit SCL = P3^1;
   7          
   8          /*************************************************************************/
   9          
  10          void pause_short (void) {
  11   1          int i;
  12   1          
  13   1          for ( i = 0; i  < 5; i++ );
  14   1      }
  15          
  16          
  17          /*************************************************************************/
  18          
  19          
  20          void StartI2C (void) {
  21   1          SDA = 1;
  22   1          SCL = 1;
  23   1          SDA = 0;
  24   1          pause_short();
  25   1          SCL = 0;
  26   1      }
  27          
  28          /*************************************************************************/
  29          
  30          void StopI2C (void) {
  31   1          SCL = 0;
  32   1          SDA = 0;
  33   1          SCL = 1;
  34   1          pause_short();
  35   1          SDA = 1;
  36   1      }
  37          
  38          /*************************************************************************/
  39          
  40          char ReadI2C (void) {
  41   1          char r;
  42   1          
  43   1          SDA = 1;  /* This just sets it to high impedence, the LM75 can still pull it low */
  44   1          SCL = 1;
  45   1          pause_short();
  46   1          r = SDA;  /* Read in bit */
  47   1          SCL = 0;
  48   1          pause_short();
  49   1          return r;
  50   1      }
  51          
  52          /*************************************************************************/
  53          
  54          void WriteI2C (char write_bit) {
  55   1          SDA = write_bit;
C51 COMPILER V6.02  TMP_REC                                                                03/21/2003 14:03:25 PAGE 2   

  56   1          SCL = 1;
  57   1          pause_short();
  58   1          SCL = 0;
  59   1          pause_short();
  60   1      }
  61          /*************************************************************************/
  62          
  63          void Address_LM75_read (void) {
  64   1      	
  65   1          WriteI2C(1);
  66   1          WriteI2C(0);
  67   1          WriteI2C(0);
  68   1          WriteI2C(1);
  69   1          WriteI2C(0);/* Note:  This function only works for I2C devices at address 000 */
  70   1          WriteI2C(0);/* A2 = 0 */
  71   1          WriteI2C(0);/* A1 = 0 */
  72   1          WriteI2C(1);/* A0 = 0 */
  73   1          
  74   1      }
  75          
  76          /*************************************************************************/
  77          
  78          char temperature (void) {
  79   1          char in_bit;
  80   1          char check;
  81   1          char t_8;
  82   1          char i;
  83   1      	
  84   1          StartI2C();
  85   1      	
  86   1          Address_LM75_read();
  87   1          
  88   1      	check = ReadI2C();  /*  Check for LM75 acknowledgement */
  89   1          
  90   1      	if ( check == 0 ) {
  91   2              t_8 = 0;
  92   2              for ( i = 7; i >= 0; i-- ) {
  93   3                  in_bit = ReadI2C();
  94   3                  t_8 = t_8 | ( in_bit << i );
  95   3              }
  96   2              WriteI2C(0);
  97   2              for ( i = 7; i > 0; i-- ) {
  98   3                  in_bit = ReadI2C();  /* Read in lower 8 bits */
  99   3              }
 100   2              WriteI2C(0);
 101   2          }
 102   1          else {
 103   2              t_8 = 127;
 104   2          }
 105   1          StopI2C();
 106   1          return t_8;
 107   1      }
 108          
 109          /*************************************************************************/
 110          
 111          unsigned char PrintTemperature (void)
 112          {
 113   1      	unsigned char temp;
 114   1      	float fahr;
 115   1      	float remainder;
 116   1      	unsigned char rem;	
 117   1      
C51 COMPILER V6.02  TMP_REC                                                                03/21/2003 14:03:25 PAGE 3   

 118   1      	
 119   1      	temp = temperature();
 120   1      
 121   1      	// Convert the char to an int
 122   1      	fahr = 1.8 * (int)temp + 32;
 123   1      	remainder = fahr;
 124   1      	remainder = fahr - (int)fahr;
 125   1      	remainder = remainder * 10;	
 126   1      	rem = ((int)remainder % 10) + 48;
 127   1      	
 128   1      	GotoXY(0,0);
 129   1      	PrintString("Temperat");
 130   1      
 131   1      	GotoXY(1,0);
 132   1      	PrintString("ure:");
 133   1      	PrintInt( (int)fahr );
 134   1      	PutChar('.');
 135   1      	PutChar( rem );
 136   1      
 137   1      	return temp;
 138   1      }
 139          
 140          /*************************************************************************/
C51 COMPILER V6.02  TMP_REC                                                                03/21/2003 14:03:25 PAGE 4   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
T0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B4H  1
AC . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D6H  1
T1 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
EA . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AFH  1
RD . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B7H  1
ES . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ACH  1
_PutChar . . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
RI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0098H  1
INT0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B2H  1
CY . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D7H  1
_PrintInt. . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
TI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0099H  1
INT1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B3H  1
PS . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BCH  1
OV . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D2H  1
PrintTemperature . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  temp . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
  fahr . . . . . . . . . . . . . . . .  AUTO     DATA   FLOAT    0001H  4
  remainder. . . . . . . . . . . . . .  AUTO     DATA   FLOAT    0005H  4
  rem. . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0009H  1
WR . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B6H  1
_WriteI2C. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     000CH  -----
  write_bit. . . . . . . . . . . . . .  * REG *  DATA   CHAR     0007H  1
_GotoXY. . . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
Address_LM75_read. . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
pause_short. . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   INT      0006H  2
temperature. . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  in_bit . . . . . . . . . . . . . . .  * REG *  DATA   CHAR     0003H  1
  check. . . . . . . . . . . . . . . .  * REG *  DATA   CHAR     0007H  1
  t_8. . . . . . . . . . . . . . . . .  * REG *  DATA   CHAR     0004H  1
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   CHAR     0002H  1
ReadI2C. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  r. . . . . . . . . . . . . . . . . .  * REG *  DATA   CHAR     0005H  1
IE0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0089H  1
IE1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008BH  1
ET0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A9H  1
ET1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ABH  1
TF0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008DH  1
TF1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008FH  1
RB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009AH  1
EX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A8H  1
IT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0088H  1
TB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009BH  1
EX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AAH  1
IT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008AH  1
P. . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D0H  1
StartI2C . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
SM0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009FH  1
SM1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009EH  1
SM2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009DH  1
PT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B9H  1
PT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BBH  1
RS0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D3H  1
TR0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008CH  1
RS1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D4H  1
C51 COMPILER V6.02  TMP_REC                                                                03/21/2003 14:03:25 PAGE 5   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


TR1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008EH  1
SDA. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B0H  1
PX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B8H  1
PX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BAH  1
SCL. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B1H  1
REN. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009CH  1
StopI2C. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
_PrintString . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
RXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B0H  1
TXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B1H  1
F0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D5H  1


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