📄 uart_phs_token.lst
字号:
C51 COMPILER V8.02 UART_PHS_TOKEN 03/13/2008 15:03:28 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE UART_PHS_TOKEN
OBJECT MODULE PLACED IN uart_phs_token.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE uart_phs_token.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /**********************************************************/
2 /* send short message by PHS Module */
3 /* Author: li tingtao, liu bo */
4 /*********2008-3.13****************************************/
5
6 #include<reg52.h>
7 #include<intrins.h>
8 #include<stdio.h>
9 #include<string.h>
10
11 sfr ISP_CONTR= 0xE7;
12 sfr CCON = 0xD8;
13 sfr CMOD = 0xD9;
14 sfr CL = 0xE9;
15 sfr CH = 0xF9;
16 sfr CCAPOL = 0xEA;
17 sfr CCAPOH = 0xFA;
18 sfr CCAPM0 = 0xDA;
19 sfr CCAPM1 = 0xDB;
20 sbit CR = 0xDE;
21 sbit MCU_Start_Led = P1^1; //P1^7;
22
23 #define Self_Define_ISP_Download_Command 0x22
24 #define RELOAD_COUNT 0xfd
25
26 char cmd[]="ATWITS+CMGS=\"";
27 char str1[]="\",\"";
28 char str2[]="\"\r";
29
30 void serial_port_initial();
31 void send_UART(unsigned char);
32 void UART_Interrupt_Receive(void);
33 void soft_reset_to_ISP_Monitor(void);
34 void delay(void);
35 void display_MCU_Start_Led(void);
36 void send_at_cmd(char *cmd);
37 int send_message(char *msg,char *number);
38
39
40 void main(void)
41 {
42 1 serial_port_initial(); /*init the serial port*/
43 1
44 1 send_message("hello","13916808083"); /* send "hello" messages to mobile phone(number:139xxx)*/
45 1
46 1 while(1);
47 1 }
48
49 int send_message(char *msg,char *number)
50 /*parameter:msg:the message will be sent*/
51 /*parameter:number:the destination mobile phone*/
52 {
53 1 char at_cmd[64]="";
54 1
55 1 strcat(at_cmd,cmd);
C51 COMPILER V8.02 UART_PHS_TOKEN 03/13/2008 15:03:28 PAGE 2
56 1 strcat(at_cmd,number);
57 1 strcat(at_cmd,str1);
58 1 strcat(at_cmd,msg);
59 1 strcat(at_cmd,str2);
60 1 send_at_cmd(at_cmd);
61 1
62 1 delay();
63 1 return 0;
64 1
65 1 }
66
67 void serial_port_initial()
68 /*init the serial port*/
69 {
70 1 SCON=0x50;
71 1 TMOD=0x21;
72 1 TH1=RELOAD_COUNT;
73 1 TL1=RELOAD_COUNT;
74 1 TR1=1;
75 1 ES=1;
76 1 EA=1;
77 1
78 1 }
79
80
81 void send_UART(unsigned char i)
82 /*send the char i to UART*/
83 {
84 1 ES=0;
85 1 TI=0;
86 1 SBUF=i;
87 1 while(TI==0);
88 1 TI=0;
89 1 ES=1;
90 1 }
91
92 void send_at_cmd(char *cmd)
93 /*send the AT CMD to UART*/
94 {
95 1 char *temp=cmd;
96 1 while(*temp)
97 1 {
98 2 send_UART(*temp);
99 2 temp++;
100 2 }
101 1 }
102
103
104 void UART_Interrupt_Receive(void) interrupt 4
105 /*interrupt routine*/
106 {
107 1 unsigned char k=0;
108 1 if(RI==1)
109 1 {
110 2 RI=0;
111 2 k=SBUF;
112 2
113 2 if(k==Self_Define_ISP_Download_Command)
114 2 {delay();
115 3 delay();
116 3 soft_reset_to_ISP_Monitor();
117 3 }
C51 COMPILER V8.02 UART_PHS_TOKEN 03/13/2008 15:03:28 PAGE 3
118 2 send_UART(k);
119 2 }
120 1 else
121 1 {
122 2 TI=0;
123 2 }
124 1 }
125
126
127
128 void soft_reset_to_ISP_Monitor(void)
129 {
130 1 ISP_CONTR=0x60;
131 1 }
132
133
134 void delay(void)
135 {
136 1 unsigned int j=0;
137 1 unsigned int g=0;
138 1 for(j=0;j<5;j++)
139 1 {
140 2 for(g=0;g<10000;g++)
141 2
142 2 {
143 3 _nop_();
144 3 _nop_();
145 3 _nop_();
146 3 _nop_();
147 3 _nop_();
148 3 }
149 2 }
150 1 }
151
152 void display_MCU_Start_Led(void)
153 {
154 1 unsigned char i = 0;
155 1 for(i=0;i<5;i++)
156 1 {
157 2 MCU_Start_Led=0;
158 2 delay();
159 2 MCU_Start_Led=1;
160 2 delay();
161 2 MCU_Start_Led=0;
162 2
163 2 }
164 1 }
165
166
167
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 353 ----
CONSTANT SIZE = 82 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 21 71
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 + -