📄 send.lst
字号:
C51 COMPILER V7.06 SEND 09/18/2007 10:26:04 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE SEND
OBJECT MODULE PLACED IN send.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE send.c LARGE BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include <AT898252.H>
2
3
4 #define TRUE 1
5 #define FALSE 0
6
7 #define uchar unsigned char
8 #define uint unsigned int
9
10 extern uchar ADH_1;
11 extern uchar ADL_1;
12 extern uchar ADH_2;
13 extern uchar ADL_2;
14
15 extern uchar k_stat;
16
17
18 extern uchar mod_buff_tail;
19 extern uchar mod_buff[16];
20
21
22 sbit LED =P1^6;
23
24 extern void mod_data(uchar *p,uchar n);
25 extern void mod_comd(uchar *str);
26
27 /*向上位机发送数据,建立载波并进行正确握手后,开始向上位机发送两个通道数据,
28 开关量数据及累计和1个字节,共6个字节,发送完成自动拆线挂机*/
29
30 void tx(void)
31 {
32 1 uchar i,k,n,ljh=0;
33 1 uchar a[1],a2[3];
34 1 uchar buf[6]; /*通信缓冲区6个字节*/
35 1 unsigned long int x;
36 1
37 1 WMCON|=WDTRST_; /*喂狗*/
38 1 while(mod_buff[0]!=0x32);
39 1 mod_buff_tail=0;
40 1 LED=0;
41 1
42 1 /*用于非上位机拨号情况下的通信监控,3S左右没有收到载波则会复位。
43 1 回送码: 10(31H30H)代表2400波特
44 1 11 (31H31H) 4800
45 1 12 (31H32H) 9600
46 1 */
47 1 x=500000; /*大约3S左右*/
48 1 while((mod_buff[0]!=0x31)&(x!=0))
49 1 {
50 2 WMCON|=WDTRST_; /*喂狗*/
51 2 mod_buff_tail=0;
52 2 x--;
53 2 }
54 1
55 1 for(i=0;i<3;i++)
C51 COMPILER V7.06 SEND 09/18/2007 10:26:04 PAGE 2
56 1 {
57 2 for(k=0;k<250;k++)
58 2 for(n=0;n<40;n++);
59 2 WMCON|=WDTRST_; /*喂狗*/
60 2 }
61 1 if(mod_buff[1]==0x30&&mod_buff[2]==0x0d)
62 1 LED=1; /*建立通信链路,关指示灯*/
63 1
64 1 WMCON|=WDTRST_; /*喂狗*/
65 1
66 1 mod_buff_tail=0;
67 1 while(!(mod_buff[0]==0xaa)) mod_buff_tail=0;
68 1
69 1 a[0]=0xaa;
70 1 mod_data(a,1);
71 1
72 1 for(i=0;i<2;i++)
73 1 {
74 2 WMCON|=WDTRST_; /*喂狗*/
75 2 for(k=0;k<150;k++)
76 2 for(n=0;n<40;n++);
77 2 }
78 1
79 1 buf[0]=ADH_1;
80 1 buf[1]=ADL_1;
81 1 buf[2]=ADH_2;
82 1 buf[3]=ADL_2;
83 1 buf[4]=k_stat;
84 1 for(i=0;i<5;i++)
85 1 {
86 2 ljh=ljh+buf[i];
87 2 }
88 1 buf[5]=ljh;
89 1
90 1 mod_data(buf,6);
91 1
92 1 for(i=0;i<10;i++)
93 1 {
94 2 WMCON|=WDTRST_; /*喂狗*/
95 2 for(k=0;k<250;k++)
96 2 for(n=0;n<40;n++);
97 2 }
98 1
99 1 a2[0]='+';
100 1 a2[1]='+';
101 1 a2[2]='+';
102 1 mod_data(a2,3);
103 1
104 1 for(i=0;i<10;i++)
105 1 {
106 2 WMCON|=WDTRST_; /*喂狗*/
107 2 for(k=0;k<250;k++)
108 2 for(n=0;n<40;n++);
109 2 }
110 1
111 1 mod_comd("ATH0");
112 1 }
113
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 455 ----
C51 COMPILER V7.06 SEND 09/18/2007 10:26:04 PAGE 3
CONSTANT SIZE = 5 ----
XDATA SIZE = ---- 17
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -