📄 tc35模块.lst
字号:
C51 COMPILER V7.50 TC35模块 09/15/2010 10:36:02 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE TC35模块
OBJECT MODULE PLACED IN TC35模块.OBJ
COMPILER INVOKED BY: D:\单片机\Keil2\C51\BIN\C51.EXE TC35模块.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<reg52.h>
2 #include<absacc.h>
3 #include<stdio.h>
4 #define uint unsigned int
5 #define uchar unsigned char
6 #define RST 0X01
7 #define CMGF 0X02
8 #define CMGD 0X03
9 #define CREG 0X04
10 #define CMGR 0X05
11 #define CMGS 0X06
12 #define CSCA 0X07
13 #define ATDAT 0X08
14 #define TC35RET 0X00
15 uchar i_tmp,j_tmp;
16 /*--------------------------/
17 寄存器定义
18 ---------------------------*/
19 uchar TC35_CON,ch;
20 uchar read_flag;
21
22 uchar i_TC35_RECE;
23
24 uchar i_receive,
25 TC35_RE[80],
26 TC35_MAX,
27 i_TC35;
28
29 void delay(uint);
30 void init_serialcom( void );
31 void send_uart( unsigned char);
32 void ATNAME(void);
33 void AT_CMGS(void);
34 void AT_CSCA(void);
35 void AT_RST(void);
36 void AT_CREG(void);
37 void AT_CMGF(void);
38 void AT_CMGR(void);
39 void AT_CMGD(void);
40 /*--------------------------/
41 延时函数定义
42 /--------------------------*/
43
44 void main(void)
45 {P1=0XFF;
46 1 P2=0XFF;
47 1 P3=0Xff;
48 1 P0=0X55;
49 1 // init_devices();
50 1 init_serialcom(); //初始化串口
51 1 delay(100);
52 1
53 1 P0=0XFF;
54 1 TC35_MAX=0;
55 1 AT_RST();
C51 COMPILER V7.50 TC35模块 09/15/2010 10:36:02 PAGE 2
56 1 while(1)
57 1 {delay(100);
58 2
59 2 if(TC35_MAX>0)
60 2 {
61 3 if(TC35_CON==RST){
62 4 if((TC35_RE[7]=='O')&&(TC35_RE[8]=='K'))
63 4 {P0=(0XFF-0X01);TC35_CON=TC35RET;// delay(100);
64 5 AT_CMGF();}
65 4 else{P1=(0XFF-0X02);}
66 4
67 4 }
68 3 else if(TC35_CON==CMGF){
69 4 if((TC35_RE[12]=='O')&&(TC35_RE[13]=='K'))
70 4 {P0=(0XFF-0X02);TC35_CON=TC35RET; // delay(100);
71 5 AT_CREG();}
72 4 else{P1=(0XFF-0X02);}
73 4
74 4 }
75 3 else if(TC35_CON==CREG){
76 4 if(((TC35_RE[18]=='0')&&(TC35_RE[20]=='1'))||((TC35_RE[18]=='0')&&(TC35_RE[20]=='5')))
77 4 {P0=(0XFF-0X04);
78 5 P1=0XFF;
79 5 TC35_CON=TC35RET;AT_CMGR();}
80 4 else{P1=(0XFF-0X02);AT_CREG();}
81 4 }
82 3 else if(TC35_CON==CMGR){
83 4 if(TC35_MAX<=30){AT_CMGR();}
84 4 else //if((TC35_MAX==77)||(TC35_MAX==79))
85 4 {delay(100);
86 5 P0=(0XFF-0X08);
87 5 P1=0XFF;
88 5 if(TC35_RE[69]=='0')
89 5 {P2=(0XFF-0X01);P1=0XFF;TC35_CON=TC35RET;delay(100);AT_CMGD();}
90 5 else if(TC35_RE[69]=='1')
91 5 {P2=(0XFF-0X02);P1=0XFF;TC35_CON=TC35RET;delay(100);AT_CMGD();}
92 5 else if(TC35_RE[69]=='2')
93 5 {P2=(0XFF-0X04);P1=0XFF;TC35_CON=TC35RET;delay(100);AT_CMGD();}
94 5 else if(TC35_RE[69]=='3')
95 5 {P2=(0XFF-0X08);P1=0XFF;TC35_CON=TC35RET;delay(100);AT_CMGD();}
96 5 else if(TC35_RE[69]=='4')
97 5 {P2=(0XFF-0X10);P1=0XFF;TC35_CON=TC35RET;delay(100);AT_CMGD();}
98 5 else if(TC35_RE[69]=='5')
99 5 {P2=(0XFF-0X20);P1=0XFF;TC35_CON=TC35RET;delay(100);AT_CMGD();}
100 5 else if(TC35_RE[69]=='6')
101 5 {P2=(0XFF-0X40);P1=0XFF;TC35_CON=TC35RET;delay(100);AT_CMGD();}
102 5 else if(TC35_RE[69]=='7')
103 5 {P2=(0XFF-0X80);P1=0XFF;TC35_CON=TC35RET;delay(100);AT_CMGD();}
104 5 else{TC35_CON=TC35RET;AT_CMGR();}
105 5 }
106 4 }
107 3 else if(TC35_CON==CMGD){delay(100);
108 4 if((TC35_RE[12]=='O')&&(TC35_RE[13]=='K'))
109 4 {P0=(0XFF-0X10);P1=0XFF;delay(100);AT_CSCA();}
110 4 else{P1=(0XFF-0X02);}
111 4 }
112 3
113 3 //填写信息中心号
114 3 else if(TC35_CON==CSCA){delay(100);
115 4 if((TC35_RE[25]=='O')&&(TC35_RE[26]=='K'))
116 4 {P0=(0XFF-0X20);P1=0XFF;delay(100);AT_CMGS();}
117 4 else{P1=(0XFF-0X02);}
C51 COMPILER V7.50 TC35模块 09/15/2010 10:36:02 PAGE 3
118 4 }
119 3 //填写发送内容
120 3 else if(TC35_CON==CMGS){delay(100);
121 4 if((TC35_RE[22]==0X3E)&&(TC35_RE[23]==0X20))
122 4 {P0=(0XFF-0X40);P1=0XFF;delay(100);ATNAME();}
123 4 else{P1=(0XFF-0X02);}
124 4 }
125 3 //发送完毕返回继续扫描接收
126 3 else if(TC35_CON==ATDAT){delay(100);
127 4 if((TC35_RE[0]=='+')||(TC35_RE[0]==0x1A))
128 4 {P0=(0XFF-0X80);P1=0XFF;delay(100);AT_CMGR();}
129 4 else{P1=(0XFF-0X02);}
130 4 }
131 3
132 3
133 3
134 3 //send_uart(TC35_MAX);
135 3 //复位接收组
136 3 for(i_TC35=0;i_TC35<=TC35_MAX;i_TC35++)
137 3 {TC35_RE[i_TC35]=0;}
138 3 i_TC35_RECE=0;
139 3 TC35_MAX=0;
140 3 }
141 2 }
142 1 }
143
144
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 480 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 89 ----
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 + -