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

📄 exp.lst

📁 一个锅炉温度控制程序
💻 LST
字号:
C51 COMPILER V3.20,  SN-0  EXP                                                             05/24/04  10:39:59  PAGE 1   


DOS C51 COMPILER V3.20, COMPILATION OF MODULE EXP
OBJECT MODULE PLACED IN EXP.OBJ
COMPILER INVOKED BY: C:\XINGYAN\FSI\BIN\C51.EXE EXP.C DB SB OE ROM(LARGE) SMALL OT(2) RB(0) 

stmt level    source

   1          /*
               * exp.c
               *
               * 读取室温(DS18B20)
               *
               * 
               *
               *						陈真勇(SA01010010)
               *						w3wind@sina.com or
               *						zychen@ustc.edu.cn
               *						中国科学技术大学自动化系
               *						2002/6/12
               */
  14          
  15          /*
              
              			修改:王占成
              			zcwang@mail.ustc.edu.cn
              			2003.5.17
              
                */
  22          #include "xdata.h"
  23          #include "link.h"
  24          #include "delay.h"
  25          #include <intrins.h>
  26          #include <reg52.h>
  27          
  28          void init_DS18B20()
  29          {
  30   1      	BYTE i;
  31   1      
  32   1      	/*初始脉冲*/
  33   1      	DQ = 0;
  34   1      	for(i=0;i<50;i++){
  35   2      		delay10us();
  36   2      	}
  37   1      	DQ = 1;
  38   1      
  39   1      	delay10us();
  40   1      	delay10us();
  41   1      	delay10us();
  42   1      	delay10us();
  43   1      	delay10us();
  44   1      	delay10us();
  45   1      	delay10us();
  46   1      
  47   1      	while( !DQ ){;}
  48   1      }
  49          
  50          
  51          void write_a_byte(BYTE dat)
  52          {
  53   1      	BYTE i;
  54   1      	BYTE mask = 1;
  55   1      
C51 COMPILER V3.20,  SN-0  EXP                                                             05/24/04  10:39:59  PAGE 2   

  56   1      	for(i=0;i<8;i++){
  57   2      		if(dat & mask){
  58   3      			DQ = 0;
  59   3      			_nop_();
  60   3      			_nop_();
  61   3      			DQ = 1;
  62   3      			delay10us();
  63   3      			delay10us();
  64   3      			delay10us();
  65   3      			delay10us();
  66   3      			delay10us();
  67   3      			delay10us();
  68   3      		}
  69   2      		else{
  70   3      			DQ = 0;
  71   3      			delay10us();
  72   3      			delay10us();
  73   3      			delay10us();
  74   3      			delay10us();
  75   3      			delay10us();
  76   3      			delay10us();
  77   3      			delay10us();
  78   3      			DQ = 1;
  79   3      			_nop_();
  80   3      			_nop_();
  81   3      		}
  82   2      		mask <<= 1;
  83   2      	}			
  84   1      }
  85          
  86          
  87          
  88          BYTE read_byte()
  89          {
  90   1      	BYTE j;
  91   1      	BYTE res = 0;
  92   1      	BYTE mask = 1;
  93   1      
  94   1      	for(j=0;j<8;j++){
  95   2      		DQ = 0;			/*产生读信号*/
  96   2      		_nop_();
  97   2      		_nop_();
  98   2      		DQ = 1;			/*释放总线,准备输入数据*/
  99   2      		_nop_();
 100   2      		_nop_();
 101   2      		_nop_();
 102   2      		_nop_();
 103   2      		_nop_();
 104   2      		_nop_();		/*从DQ=0开始15us内采样*/
 105   2      		
 106   2      		if(DQ)
 107   2      			res |= mask;
 108   2      
 109   2      		delay10us();	/*等待50us,读周期总共不能少于60us*/
 110   2      		delay10us();
 111   2      		delay10us();
 112   2      		delay10us();
 113   2      		delay10us();
 114   2      
 115   2      		mask <<= 1;
 116   2      	}
 117   1      
C51 COMPILER V3.20,  SN-0  EXP                                                             05/24/04  10:39:59  PAGE 3   

 118   1      	return res;
 119   1      }
 120          
 121          UINT read_ds_data()
 122          {
 123   1      	BYTE b2,b1;
 124   1      
 125   1      	EA = 0;/*需要禁止中断*/
 126   1      
 127   1      	init_DS18B20();
 128   1      
 129   1      	write_a_byte(0xcc);/* skip rom command */
 130   1      	write_a_byte(0x44);/* convert temperature */
 131   1      
 132   1      	while(! DQ ){;}/* read busy status */
 133   1      	
 134   1      	init_DS18B20();
 135   1      
 136   1      	write_a_byte(0xcc);
 137   1      	write_a_byte(0xbe);
 138   1      
 139   1      	b1 = read_byte();
 140   1      	b2 = read_byte();
 141   1      
 142   1      
 143   1      	EA = 1;
 144   1      
 145   1      	return (b2 << 8) + b1;
 146   1      }
 147          
 148          
C51 COMPILER V3.20,  SN-0  EXP                                                             05/24/04  10:39:59  PAGE 4   

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


CANLAMP. . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0096H  1
P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
P2 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A0H  1
P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
T0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B4H  1
AC . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D6H  1
T1 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
T2 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0090H  1
EA . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AFH  1
ADCAL1 . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0095H  1
ADCAL2 . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A0H  1
JDQ1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B4H  1
JDQ2 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
DQ . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0097H  1
T2IE . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CDH  1
RD . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B7H  1
ES . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ACH  1
RI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0098H  1
INT0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B2H  1
CY . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D7H  1
BGEN . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CBH  1
TI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0099H  1
INT1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B3H  1
T2IP . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CEH  1
PS . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BCH  1
T2EX . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0091H  1
OV . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D2H  1
ADSDATA1 . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B0H  1
ADSDATA2 . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0093H  1
C_T2 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C9H  1
WR . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B6H  1
read_byte. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
  j. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
  res. . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0001H  1
  mask . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0002H  1
WDSI . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0091H  1
init_DS18B20 . . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
  i. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
IE0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0089H  1
IE1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008BH  1
CP_RL2 . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C8H  1
ET0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A9H  1
ET1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ABH  1
TF0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008DH  1
ET2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ADH  1
TF1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008FH  1
TF2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CFH  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
SM0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009FH  1
SM1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009EH  1
SM2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009DH  1
C51 COMPILER V3.20,  SN-0  EXP                                                             05/24/04  10:39:59  PAGE 5   

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


read_ds_data . . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
  b2 . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
  b1 . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0001H  1
PT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B9H  1
PT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BBH  1
RS0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D3H  1
PT2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BDH  1
TR0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008CH  1
RS1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D4H  1
TR1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008EH  1
TR2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CAH  1
PX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B8H  1
PX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BAH  1
delay10us. . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
PID. . . . . . . . . . . . . . . . . .  * TAG *  -----  STRUCT   -----  54
  ReceiveValue . . . . . . . . . . . .  MEMBER   -----  UNION    0000H  18
  CalValue . . . . . . . . . . . . . .  MEMBER   -----  UNION    0012H  18
  SendValue. . . . . . . . . . . . . .  MEMBER   -----  UNION    0024H  18
ADSCLK1. . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B1H  1
REN. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009CH  1
_write_a_byte. . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
  dat. . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
  i. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0001H  1
  mask . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0002H  1
ADSCLK2. . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0090H  1
CANCS. . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A7H  1
ADDRDY1. . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0094H  1
ADDRDY2. . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A1H  1
RXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B0H  1
TXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B1H  1
T2RSE. . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CCH  1
F0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D5H  1
uValue . . . . . . . . . . . . . . . .  * TAG *  -----  UNION    -----  18
  sValue . . . . . . . . . . . . . . .  MEMBER   -----  STRUCT   0000H  18
  bValue . . . . . . . . . . . . . . .  MEMBER   -----  ARRAY    0000H  18
WDSCK. . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0092H  1


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