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

📄 ad7703_2.lst

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


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

stmt level    source

   1          /*
               * ad7703_2.c
               *
               * AD7703
               *
               * 
               *
               *						陈真勇(SA01010010)
               *						w3wind@sina.com or
               *						zychen@ustc.edu.cn
               *						中国科学技术大学自动化系
               *						2002/7/20
               */
  14          /*
               *
               *
               *	  修改:王占成
               *	  zcwang@mail.ustc.edu.cn
               *	  2003.4.26
               *	  
               *
              */ 
  23          
  24          #include "Xdata.h"
  25          #include "delay.h"
  26          #include "link.h"
  27          #include "watchdog.h"
  28          
  29          void selfcal()
  30          {
  31   1      	/*第一个AD7703*/
  32   1      	P2 = 0xF8;   /*?????????????自校正的时候CS为什么要高*/
  33   1      	ADCAL1=1;
  34   1      	delay10us();	/*保持CAL高至少4个7703时钟周期,大约2微秒,为了准确延时10微秒*/
  35   1      					
  36   1      	ADCAL1=0;
  37   1      	/*第二个AD7703*/
  38   1      	P2 = 0xF8;
  39   1      	ADCAL2=1;
  40   1      	delay10us();
  41   1      	ADCAL2=0;
  42   1      }
  43          
  44          UINT read_ad_1()
  45          {
  46   1      	BYTE i=20;	/* 20 bits to be read */
  47   1      	UINT mask=0x8000;
  48   1      	UINT result=0;
  49   1      
  50   1      	do{;}while( ADDRDY1 );
  51   1      
  52   1      	EA = 0;
  53   1      	
  54   1      	P2 = 0xF8;
  55   1      	P2 = 0xA8;		/*CS下降沿*/
C51 COMPILER V3.20,  SN-0  AD7703_2                                                        05/24/04  10:39:58  PAGE 2   

  56   1      
  57   1      	/*read first 16 bits of total 20 bits*/
  58   1      	
  59   1      	do{
  60   2      		ADSCLK1=1;/* data valid on rising edge */
  61   2      	
  62   2      		if(i>4 && ADSDATA1){	/* max delay 75 ns before data valid. first check i>4*/
  63   3      			result |= mask;
  64   3      		}
  65   2      		mask >>= 1;
  66   2      
  67   2      		ADSCLK1=0;/* data changed on falling_edge */
  68   2      	}while(--i);
  69   1      
  70   1      	P2 = 0xF8;
  71   1      	EA = 1;
  72   1      
  73   1      	return result;
  74   1      
  75   1      }
  76          
  77          UINT read_ad_2()
  78          {
  79   1      	BYTE i=20;	/* 20 bits to be read */
  80   1      	UINT mask=0x8000;
  81   1      	UINT result=0;
  82   1      
  83   1      	do{;}while( ADDRDY2 );
  84   1      
  85   1      	EA = 0;
  86   1      	
  87   1      	P2 = 0xF8;
  88   1      	P2 = 0x88;		/*CS下降沿*/
  89   1      
  90   1      	/*read first 16 bits of total 20 bits*/
  91   1      	
  92   1      	do{
  93   2      		ADSCLK2=1;/* data valid on rising edge */
  94   2      	
  95   2      		if(i>4 && ADSDATA2){	/* max delay 75 ns before data valid. first check i>4*/
  96   3      			result |= mask;
  97   3      		}
  98   2      		mask >>= 1;
  99   2      
 100   2      		ADSCLK2=0;/* data changed on falling_edge */
 101   2      	}while(--i);
 102   1      
 103   1      	P2 = 0xF8;
 104   1      	EA = 1;
 105   1      
 106   1      	return result;
 107   1      }
 108          
 109          void init_ad7703()
 110          {
 111   1      	BYTE i;
 112   1      	selfcal();/*self calibration*/
 113   1      	
 114   1      	/*将CAL置高后等待3145655个7703时钟周期,大约是1.5秒.完成初始化*/
 115   1      
 116   1      	for(i=0;i<20;i++){
 117   2      		clear_watchdog();  /*定期清除看门狗*/
C51 COMPILER V3.20,  SN-0  AD7703_2                                                        05/24/04  10:39:58  PAGE 3   

 118   2      		delay(100);			
 119   2      	}
 120   1      }
C51 COMPILER V3.20,  SN-0  AD7703_2                                                        05/24/04  10:39:58  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
init_ad7703. . . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
  i. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
_?delay. . . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
WDSI . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0091H  1
IE0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0089H  1
IE1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008BH  1
clear_watchdog . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
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
PT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B9H  1
read_ad_1. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
C51 COMPILER V3.20,  SN-0  AD7703_2                                                        05/24/04  10:39:58  PAGE 5   

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


  i. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
  mask . . . . . . . . . . . . . . . .  AUTO     DATA   U_INT    0001H  2
  result . . . . . . . . . . . . . . .  AUTO     DATA   U_INT    0003H  2
PT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BBH  1
RS0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D3H  1
read_ad_2. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
  i. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
  mask . . . . . . . . . . . . . . . .  AUTO     DATA   U_INT    0001H  2
  result . . . . . . . . . . . . . . .  AUTO     DATA   U_INT    0003H  2
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
selfcal. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
ADSCLK1. . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B1H  1
REN. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009CH  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        =    201    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      11
   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 + -