📄 ad7703_2.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 + -