📄 初始化.lst
字号:
C51 COMPILER V7.01 __始籣 05/09/2003 11:49:40 PAGE 1
C51 COMPILER V7.01, COMPILATION OF MODULE __始籣
OBJECT MODULE PLACED IN .\初始化.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE .\初始化.c LARGE DEBUG OBJECTEXTEND
stmt level source
1 #include"w77e58.h"
2 #include"intrins.h"
3
4 #define uchar unsigned char
5 #define uint unsigned int
6
7 #define pl 0x02
8 #define gl 0x04
9 #define kg 0x06
10 #define sd 0x08
11 #define zb 0x0a
12 #define stch 0x0c
13 #define zy 0x0e
14 #define ac 0x10
15 #define bc 0x12
16 #define xdart 0x0000
17 #define ddb 0xffff
18 #define gs 0x14//干涉
19 #define px 0x16//频率修正
20 #define ko 0x18//扩大
21
22 sbit l1=P1^4;//发射频率锁定
23 sbit l2=P1^3;//接收锁定
24 sbit l3=P1^2;//增益stc锁定
25 sbit fstd=P1^5;//发射探头检测
26 sbit plsx=P1^6; //锁相环检测
27 //************************************//
28 //初始化函数
29 //*************************************//
30 void cusiha();
31 void plsucu();
32 void tongxin();
33 void datey(uint p);
34
35 extern void tongxin_txdr();
36
37 extern int Read_Temperature(void);
38
39 extern bit i2c_write(uchar address,uint fb);
40
41 extern uint i2c_read(uchar address);
42 //extern bit i2c_write(uchar address,char fb);
43 extern int data wd;//温度缓存
44 extern uchar data sanwdbz;//上传有无温度传感器0=无,0x01=有
45 extern uchar data e2prom;//24c02 0=无,0x01=有
46 extern uchar data fasepl;//发射频率缓存
47 extern uchar data fasegl;//发射功率缓存
48 extern uchar data fasekg;//发射开关00-01
49 extern uchar data caijisendu;//采集深度缓存
50 extern uchar data zaibao;//消除杂波
51 extern uchar data stc;//stc等级1-8级
52 extern uchar data zenyi;//增益1-9级
53 extern uchar data zenyia;
54 extern uchar data accd;
55 extern uchar data bccd;
C51 COMPILER V7.01 __始籣 05/09/2003 11:49:40 PAGE 2
56 extern uchar data fstde;//发射探头 0=无,0x01=有
57 extern uchar data ram;//w24257 0=无,0x01=有
58 extern uchar data plsxe;// 锁相环 0=无,0x01=有
59 extern bit wdcgaq;//温度传感器正确标志0=正?
60 //extern bit i2c_write(uchar address,uint fb);
61 //extern void tongxin_txd();
62 extern uchar data kod;
63 extern uchar data ganse;
64 extern int data plxz;
65 //uint data ram_error;
66 extern void clp_dog();
67 extern void tongxin_txd(bit ewu);
68 void cusiha()//第一次读取各参数初始化
69 {
70 1 unsigned char xdata * dda;
71 1 unsigned char dgh;
72 1 //uint df;
73 1 uchar i;
74 1
75 1 l1=0;
76 1 l2=0;
77 1 l3=0;
78 1 datey(10);
79 1 P2=200;
80 1 l1=1;datey(10);
81 1 l1=0;
82 1 P2=143;
83 1 l2=1;datey(10);l2=0;
84 1 P2=128;
85 1 l3=1;datey(10);l3=0;
86 1 wd=Read_Temperature();
87 1 if(wdcgaq)
88 1 sanwdbz=0x00;
89 1 else sanwdbz=0x01;
90 1 clp_dog();
91 1 if(i2c_read(0x00)==0x3030)
92 1 {
93 2
94 2 e2prom=0x01;//24c02 Ok
95 2 fasepl=i2c_read(pl);//,发射频率
96 2 fasegl=i2c_read(gl);//功率
97 2 clp_dog();
98 2 fasekg=i2c_read(kg);//开关
99 2 caijisendu=i2c_read(sd);//深度
100 2 zaibao=i2c_read(zb);//杂波
101 2 clp_dog();
102 2 stc=i2c_read(stch);//stc
103 2 zenyi=i2c_read(zy);//增益
104 2 accd=i2c_read(ac);//扫描频率50k
105 2 clp_dog();
106 2 bccd=i2c_read(bc);//200k
107 2 kod=i2c_read(ko);
108 2 ganse=i2c_read(gs);
109 2 plxz=i2c_read(px);
110 2 }
111 1 else
112 1 {
113 2
114 2
115 2 for(i=0;i<=4;i++)
116 2 {
117 3 while(i2c_write(0x00,0x3030))
C51 COMPILER V7.01 __始籣 05/09/2003 11:49:40 PAGE 3
118 3 {
119 4 tongxin_txd(0);
120 4 break;
121 4 }
122 3 }
123 2 e2prom=0x00;
124 2 fasepl=0x00;//,发射频率
125 2 fasegl=0x00;//功率
126 2 fasekg=0x00;//开关
127 2 caijisendu=0x00;//深度
128 2 zaibao=0x00;//杂波
129 2 stc=0x00;//stc
130 2 zenyi=0x00;//增益
131 2 accd=0x00;//扫描频率50k
132 2 bccd=0x00;//200k
133 2 kod=0x00;
134 2 ganse=0x00;
135 2 plxz=0x00;
136 2 }
137 1 if(fstd)//发射探头检测
138 1 fstde=0x00;
139 1 else fstde=0x01;
140 1 if(plsx)//锁相环检测
141 1 plsxe=0x01;
142 1 else plsxe=0x00;
143 1
144 1 for(dda=xdart;dda<ddb;dda++)//内存w24257检测
145 1 {
146 2 *dda=0x80;//先写入0x80
147 2 clp_dog();
148 2 }
149 1 clp_dog();
150 1 for(dda=xdart;dda<ddb;dda++)
151 1 {
152 2 clp_dog();
153 2 dgh=*dda;
154 2 if(dgh!=0x80)
155 2 {
156 3 // ram_error=df;
157 3 ram=0x00;
158 3 break;
159 3 }
160 2 ram=0x01;
161 2 }
162 1 tongxin_txdr();
163 1 }
164
165
166 void tongxin()//通信协议初始化
167 {
168 1
169 1 T2CON=0x00;
170 1 TMOD=0x22;
171 1 SCON=0x40;
172 1 PCON=0x80;
173 1 TH1=0xfb;
174 1 TL1=0xfb;
175 1 TH0=0xae;
176 1 TL0=0xae;
177 1 CKCON=0xd2;
178 1 PMR=0x60;
179 1 PT0=1;
C51 COMPILER V7.01 __始籣 05/09/2003 11:49:40 PAGE 4
180 1 EA=1;
181 1 TR1=1;
182 1
183 1 }
184
185 void datey(uint p)
186 {
187 1 uint i;
188 1 for(i=0;i<=p;i++)
189 1 _nop_();
190 1 }
191
192 void plsucu()//频率和增益输出,stc
193 {
194 1
195 1 int jsple;//接收频率缓存
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -