📄 fun.lst
字号:
187 2 brtn=1;
188 2 }
189 1 else brtn=0;
190 1 memcpy(respone,"abcd",4);
191 1 return brtn;
192 1 }
193 send_byte(unsigned char ucI)
194 {
195 1 SBUF=ucI;
196 1 do{}while(TI==0);
197 1 TI=0;
198 1 }
199 send_bytes_len(unsigned char *ucI,uchar len)
200 {
201 1 uchar i;
202 1 for(i=0;i<len;i++)
203 1 {
204 2 SBUF=ucI[i];
205 2 do{}while(TI==0);
206 2 TI=0;
207 2 }
208 1 }
209 send_bytes(unsigned char *ucI)
210 {
211 1 for(i=0;i<strlen(ucI);i++)
212 1 {
213 2 SBUF=ucI[i];
214 2 do{}while(TI==0);
215 2 TI=0;
216 2 }
217 1 }
218 send_bytes1_485(unsigned char *ucI,uchar len)
219 {
220 1 SRSEL=1;
221 1 for(i=0;i<10;i++)
222 1 _nop_();
223 1 for(i=0;i<len;i++)
224 1 {
225 2 SBUF=ucI[i];
226 2 do{}while(TI==0);
227 2 TI=0;
228 2 }
229 1 SRSEL=0;
230 1 for(i=0;i<10;i++)
231 1 _nop_();
232 1 }
233 void DisplayKeyToHex_RS485()
234 {
235 1 int i;
236 1 while(uiOffset!=uiRxCount)
237 1 {
238 2 memset(str,0,20);
239 2 i=0;
240 2 i =sprintf(str, "Key=[%c][%2bd]",ucRxBuf[uiOffset],ucRxBuf[uiOffset]);
241 2 i+=sprintf(str+i,"[%2bx]",ucRxBuf[uiOffset]&0x0ff);
C51 COMPILER V7.50 FUN 05/27/2007 09:12:24 PAGE 5
242 2 send_bytes1_485(str,i);
243 2 //send_bytes1_485(&ucRxBuf[uiOffset],1);
244 2 uiOffset++;
245 2 uiOffset%=RXBUFSIZE;
246 2 }
247 1 }
248
249 void delay200ms(uchar icount)
250 {
251 1 unsigned char i,j,k;
252 1 while(icount--)
253 1 {
254 2 for(i=5;i>0;i--)
255 2 for(j=132;j>0;j--)
256 2 for(k=150;k>0;k--);
257 2 }
258 1 }
259 void delay1ms(void)
260 {
261 1 unsigned char i,j;
262 1 for(i=5;i>0;i--)
263 1 for(j=132;j>0;j--)
264 1 ;//for(k=1;k>0;k--);
265 1 }
266 uchar get549data(void)
267 {
268 1 uchar i,sample_data;
269 1 adclk=0;
270 1 adcs=0;
271 1 _nop_();
272 1 _nop_();
273 1 if(addata==1)
274 1 {
275 2 sample_data=1;
276 2 }
277 1 else
278 1 {
279 2 sample_data=0;
280 2 }
281 1 for(i=0;i<7;i++)
282 1 {
283 2 sample_data=(sample_data<<1);
284 2 adclk=1;
285 2 _nop_();
286 2 _nop_();
287 2 adclk=0;
288 2 if(addata==1)
289 2 {
290 3 sample_data=(sample_data|0x01);
291 3 }
292 2 }
293 1 adclk=1;
294 1 _nop_();
295 1 _nop_();
296 1 adclk=0;
297 1 _nop_();
298 1 _nop_();
299 1 adclk=1;
300 1 adcs=1;
301 1 return sample_data;
302 1 }
303
C51 COMPILER V7.50 FUN 05/27/2007 09:12:24 PAGE 6
304 void da5615(uint da)
305 {
306 1 uchar i;
307 1 da<<=6;
308 1 CS_DA=0;
309 1 SPI_CLK=0;
310 1 for (i=0;i<12;i++)
311 1 {
312 2 SPI_DATA=(bit)(da&0x8000);
313 2 SPI_CLK=1;
314 2 da<<=1;
315 2 SPI_CLK=0;
316 2 }
317 1 CS_DA=1;
318 1 SPI_CLK=0;
319 1 for (i=0;i<12;i++);
320 1 }
321
322
323 //实验板功能选择命令
324 //1、DS1302是IIC总线,P13:DS1302的RST脚,当RST=L时候,芯片不传输数据,RST=H,芯片和CPU通讯
325 //2、X5045是SPI总线,P16:x5045的/CS脚,/CS=L,芯片选中。 同时p17作为SPI总线的SO脚,不用关心。
326 //3、TLC549是IIC总线,P15:TLC549的/cs脚,低电平有效。
327 //4、TLC5615是SPI总线,P14:TLC5615的/Cs脚,低电平有效。
328 void chipcs(uchar ucchip)
329 {
330 1 switch(ucchip)
331 1 {
332 2
333 2 case DS1302EN:
334 2 pds12302=1;
335 2 px5045=1;
336 2 ptlc549=1;
337 2 ptlc5615=1;
338 2 break;
339 2 case X5045EN:
340 2 pds12302=0;
341 2 px5045=0;
342 2 ptlc549=1;
343 2 ptlc5615=1;
344 2 break;
345 2 case TLC549EN:
346 2 pds12302=0;
347 2 px5045=1;
348 2 ptlc549=0;
349 2 ptlc5615=1;
350 2 break;
351 2 case TLC5615EN:
352 2 pds12302=0;
353 2 px5045=1;
354 2 ptlc549=1;
355 2 ptlc5615=0;
356 2 break;
357 2 default:
358 2 pds12302=0;
359 2 px5045=1;
360 2 ptlc549=1;
361 2 ptlc5615=1;
362 2
363 2 }
364 1 }
365
C51 COMPILER V7.50 FUN 05/27/2007 09:12:24 PAGE 7
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1333 ----
CONSTANT SIZE = 27 ----
XDATA SIZE = 105 40
PDATA SIZE = ---- ----
DATA SIZE = 5 24
IDATA SIZE = ---- ----
BIT SIZE = ---- 3
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -