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

📄 ad7703.lst

📁 基于CAN总线通讯的AD7703数摸转换芯片的摸拟量的采集程序
💻 LST
字号:
C51 COMPILER V3.20,  SN-0  AD7703                                                          07/09/02  14:55:06  PAGE 1   


DOS C51 COMPILER V3.20, COMPILATION OF MODULE AD7703
OBJECT MODULE PLACED IN AD7703.OBJ
COMPILER INVOKED BY: D:\QTH8052F\BIN\C51.EXE AD7703.C OBJECTEXTEND DB SB

stmt level    source

   1          /*
               * ad7703.c
               *
               * AD7703
               *
               * 
               *
               *						陈真勇(SA01010010)
               *						w3wind@sina.com or
               *						zychen@ustc.edu.cn
               *						中国科学技术大学自动化系
               *						2002/6/12
               */
  14          
  15          #include "type.h"
  16          #include "delay.h"
  17          #include "link.h"
  18          #include "watchdog.h"
  19          
  20          void selfcal()
  21          {
  22   1      	BYTE i;
  23   1      
  24   1      	ADCS=1;
  25   1      	ADCAL=1;
  26   1      	delay10us();
  27   1      					/* note: Self calibration last for at least 4 cycle clocks,
              					and AD7703's main clock is 2M Hz. Our AT89C52 is 
              					12 MHz,so we put 4 NOP instructions here. If frequency
              					changed, you should change number of NOPs accordingly.*/
  31   1      	ADCAL=0;
  32   1      }
  33          
  34          UINT read_ad()
  35          {
  36   1      	BYTE i=20;	/* 20 bits to be read */
  37   1      	UINT mask=0x8000;
  38   1      	UINT result=0;
  39   1      
  40   1      	do{}while( ADDRDY );
  41   1      
  42   1      	EA = 0;
  43   1      
  44   1      	/*read first 16 bits of total 20 bits*/
  45   1      	ADCS=1;
  46   1      	ADCS=0;
  47   1      	
  48   1      	do{
  49   2      		ADSCLK=1;/* data valid on rising edge */
  50   2      	
  51   2      		if(i>4 && ADSDATA){	/* max delay 75 ns before data valid. first check i>4*/
  52   3      			result |= mask;
  53   3      		}
  54   2      		mask >>= 1;
  55   2      
C51 COMPILER V3.20,  SN-0  AD7703                                                          07/09/02  14:55:06  PAGE 2   

  56   2      		ADSCLK=0;/* data changed on falling_edge */
  57   2      	}while(--i);
  58   1      
  59   1      	ADCS=1;
  60   1      
  61   1      	EA = 1;
  62   1      
  63   1      	return result;
  64   1      }
  65          
  66          void init_ad7703()
  67          {
  68   1      	BYTE i;
  69   1      	selfcal();/*self calibration*/
  70   1      	/*we must wait for 3,500,000 clock cycles befor can access AD7703. It's
              		about 2s long*/
  72   1      	/* ????????????????????? */
  73   1      	for(i=0;i<20;i++){
  74   2      		/* TODO: you should clear watch dog while waiting.
              			you should provide delay function that delay
              			1 ms */
  77   2      		clear_watchdog();
  78   2      		delay(100);
  79   2      	}
  80   1      }
C51 COMPILER V3.20,  SN-0  AD7703                                                          07/09/02  14:55:06  PAGE 3   

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
HC245DIR . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A1H  1
ADS1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A5H  1
ADS2 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A4H  1
ADS3 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A3H  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
ADCS . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0094H  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
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     -----  -----
WDCS . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0090H  1
ADSCLK . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B1H  1
WDSI . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0091H  1
ADDRDY . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B3H  1
X25045SCK. . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0092H  1
IE0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0089H  1
IE1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008BH  1
clear_watchdog . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
read_ad. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0001H  1
  mask . . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0004H  2
  result . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0002H  2
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
C51 COMPILER V3.20,  SN-0  AD7703                                                          07/09/02  14:55:06  PAGE 4   

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


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
PT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BBH  1
RS0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D3H  1
ADCAL. . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0095H  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     -----  -----
selfcal. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
  i. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
REN. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009CH  1
CANCS. . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A7H  1
HC245G . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A6H  1
RXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B0H  1
X25045CS . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0090H  1
TXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B1H  1
T2RSE. . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CCH  1
ADSDATA. . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B0H  1
F0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D5H  1
X25045SI . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0091H  1
X25045SO . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0093H  1
WDSCK. . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0092H  1


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =     93    ----
   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 + -