📄 tc35模块辅助.lst
字号:
C51 COMPILER V7.50 TC35模块辅謃 07/21/2010 16:29:47 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 extern uchar TC35_CON,
16 ch;
17 extern uchar read_flag;
18 extern uchar i_TC35_RECE;
19 extern uchar i_receive,
20 TC35_RE[80],
21 TC35_MAX,
22 i_TC35;
23 ///////需要改动的地方///////////////////////////////////////////////////////////
24 uchar code TC_MDSJ[]={"AT+CMGS=13132061066"}; //目的手机地址,
25 uchar code TC_ZXH[]={"AT+CSCA=+8613010130500"}; //本地中心号。
26 ////////其他地方不要乱动////////////////////////////////////////////////////////
27 uchar code TC_FSNR[]={"I AM OK"}; //发送短信内容。
28 uchar code TC_WLZT[]={"AT+CREG?"}; //网络状态查询
29 uchar code TC_MSXZ[]={"AT+CMGF=1"}; //发送模式选择。
30 uchar code TC_DQML[]={"AT+CMGR=1"}; //短信读取命令。
31 uchar code TC_SCML[]={"AT+CMGD=1"}; //短信删除命令。
32 uchar code TC_ATF[]={"AT&F"}; //格式化命令。
33 void delay(uint i)
34 {unsigned int i_delay,j_delay;
35 1 for(i_delay=0;i_delay<i;i_delay++)
36 1 {for(j_delay=0;j_delay<100;j_delay++)
37 2 {;}}
38 1 }
39
40
41 void init_serialcom( void )
42 {
43 1 SCON = 0x50 ; //SCON: serail mode 1, 8-bit UART, enable ucvr
44 1 //UART为模式1,8位数据,允许接收
45 1 TMOD |= 0x20 ; //TMOD: timer 1, mode 2, 8-bit reload
46 1 //定时器1为模式2,8位自动重装
47 1 PCON |= 0x80 ; //SMOD=1;
48 1 TH1 = 0xFD ; //Baud:19200 fosc="11".0592MHz
49 1 IE |= 0x90 ; //Enable Serial Interrupt
50 1 TR1 = 1 ; // timer 1 run
51 1 TI=1;
52 1
53 1 }
54
55 //向串口发送一个字符
C51 COMPILER V7.50 TC35模块辅謃 07/21/2010 16:29:47 PAGE 2
56 void send_uart( unsigned char ch)
57 {
58 1
59 1 while (TI==0);
60 1 TI= 0 ;
61 1 SBUF=ch;
62 1 }
63
64
65 //串口接收中断函数
66 void serial () interrupt 4 using 3
67 {
68 1 if (RI)
69 1 {
70 2 RI = 0 ;
71 2 i_receive=SBUF;
72 2 TC35_RE[i_TC35_RECE++]=i_receive;
73 2 // i_TC35_RECE++;
74 2 if(i_TC35_RECE>TC35_MAX){TC35_MAX=i_TC35_RECE;}
75 2 }
76 1 }
77 //AT测试指令
78 /*
79 void AT_TEST()
80 {
81 send_uart('A');
82 send_uart('T');
83 send_uart(0X0D);
84 send_uart(0X0D);
85 send_uart(0X0A);
86 }*/
87 void ATNAME()
88 {//I AM OK
89 1 uchar i;
90 1 for(i=0;i<sizeof(TC_FSNR)-1;i++)
91 1 {send_uart(TC_FSNR[i]);}
92 1 delay(1000);
93 1 send_uart(0X1A);
94 1 TC35_CON=ATDAT;
95 1 }
96 //写目的手机的
97 void AT_CMGS()
98 {//AT+CMGS=13132061066
99 1 uchar i;
100 1 for(i=0;i<sizeof(TC_MDSJ)-1;i++)
101 1 {send_uart(TC_MDSJ[i]);}
102 1 send_uart(0X0D);
103 1 send_uart(0X0D);
104 1 send_uart(0X0A);
105 1 TC35_CON=CMGS;
106 1 }
107 //写信息中心号
108 void AT_CSCA()
109 {//AT+CSCA=+8613010130500
110 1 uchar i;
111 1 for(i=0;i<sizeof(TC_ZXH)-1;i++)
112 1 {send_uart(TC_ZXH[i]);}
113 1 send_uart(0X0D);
114 1 send_uart(0X0D);
115 1 send_uart(0X0A);
116 1 TC35_CON=CSCA;
117 1 }
C51 COMPILER V7.50 TC35模块辅謃 07/21/2010 16:29:47 PAGE 3
118 //AT复位指令
119 void AT_RST()
120 {
121 1 uchar i;
122 1 for(i=0;i<sizeof(TC_ATF)-1;i++)
123 1 {send_uart(TC_ATF[i]);}
124 1 send_uart(0X0D);
125 1 send_uart(0X0D);
126 1 send_uart(0X0A);
127 1 TC35_CON=RST;
128 1 }
129 //AT网络状态查询指令
130 void AT_CREG()
131 {
132 1 uchar i;
133 1 for(i=0;i<sizeof(TC_WLZT)-1;i++)
134 1 {send_uart(TC_WLZT[i]);}
135 1 send_uart(0X0D);
136 1 send_uart(0X0D);
137 1 send_uart(0X0A);
138 1 TC35_CON=CREG;
139 1 }
140 //AT接收格式指令
141 void AT_CMGF()
142 {//AT+CMGF=1
143 1 uchar i;
144 1 for(i=0;i<sizeof(TC_MSXZ)-1;i++)
145 1 {send_uart(TC_MSXZ[i]);}
146 1 send_uart(0X0D);
147 1 send_uart(0X0D);
148 1 send_uart(0X0A);
149 1 TC35_CON=CMGF;
150 1 }
151 //AT短消息读取指令
152 void AT_CMGR()
153 {//AT+CMGR=1
154 1 uchar i;
155 1 for(i=0;i<sizeof(TC_DQML)-1;i++)
156 1 {send_uart(TC_DQML[i]);}
157 1 send_uart(0X0D);
158 1 send_uart(0X0D);
159 1 send_uart(0X0A);
160 1 TC35_CON=CMGR;
161 1 }
162 //AT短消息删除指令
163 void AT_CMGD()
164 {//AT+CMGD=1
165 1 uchar i;
166 1 for(i=0;i<sizeof(TC_SCML)-1;i++)
167 1 {send_uart(TC_SCML[i]);}
168 1 send_uart(0X0D);
169 1 send_uart(0X0D);
170 1 send_uart(0X0A);
171 1 TC35_CON=CMGD;
172 1 }
173
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 295 ----
CONSTANT SIZE = 95 ----
XDATA SIZE = ---- ----
C51 COMPILER V7.50 TC35模块辅謃 07/21/2010 16:29:47 PAGE 4
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 + -