📄 comm.lst
字号:
C51 COMPILER V7.08 COMM 12/25/2004 18:50:53 PAGE 1
C51 COMPILER V7.08, COMPILATION OF MODULE COMM
OBJECT MODULE PLACED IN comm.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE comm.c OPTIMIZE(SIZE) REGFILE(.\gprsnew.ORC) BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg52.h>
2 #include <string.h>
3 #include <absacc.h>
4 #include <menuaddress.h>
5
6 #define uchar unsigned char
7 #define uint unsigned int
8
9 #define XTAL 11059200 /* CPU Oscillator Frequency *///
10 #define EXP_XTAL 11059200// 14745600
11
12 sbit LED = P3^7;
13 sbit PD = P3^6;
14 sbit ERST = P3^4;
15 sbit PWDN = P2^4;
16
17 //define int number
18 #define DEF_INT_EX0 0
19 #define DEF_INT_TIME0 1
20 #define DEF_INT_EX1 2
21 #define DEF_INT_TIME1 3
22 #define DEF_INT_ASYNC 4
23
24 #define DEF_COMMBUFF_LEN 32
25 #define EXP_COMMBUFF_LEN 32
26 #define DEF_PARITY_NON 0x00
27 #define DEF_PARITY_EVEN 0x01
28 #define DEF_PARITY_ODD 0x02
29 #define DEF_PARITY_2STOP 0x03
30
31 extern void ModemSend(uchar *String);
32 extern void ModemRead(uchar *String,uchar Len);
33
34 void _AsyncOpen(uint Baud, uchar Parity);
35 //void _AsyncClose(void);
36 bit _AsyncPutTest(void);
37 void _AsyncPut(uchar ucValue);
38 bit _AsyncGetTest(void);
39 uchar _AsyncGet(void);
40
41
42 uchar idata PUB_CommBuffR[DEF_COMMBUFF_LEN];
43 uchar idata PUB_CommBuffT[DEF_COMMBUFF_LEN];
44 uchar idata PUB_CountRH, PUB_CountRT;
45 uchar idata PUB_CountTH, PUB_CountTT;
46 uchar idata PUB_ByteTT;
47 uchar idata PUB_CommParity;
48 extern bit PUB_Async_TI ;
49 extern bit PUB_Async_RI ;
50 uchar idata PUB_Async_RecData;
51
52 uchar idata Volume;
53 uchar data Vol_Rec;
54
55
C51 COMPILER V7.08 COMM 12/25/2004 18:50:53 PAGE 2
56 //-------main.c-----------
57 extern uchar idata input[32];
58 extern unsigned char idata tempbuf[32];
59 extern void Delay(uint x);
60
61 //------EEPROM.c----------
62 extern void ReadUserBlock(uchar idata *input,uint Address,uchar Number);
63
64 void _SysInit(void)
65 {
66 1 EA = 0;
67 1 IT1 = 0x01;
68 1 // RCAP2H = 0xDC; //11.0592M
69 1 // RCAP2L = 0x00;
70 1 RCAP2H = 0xe8; //7.3728
71 1 RCAP2L = 0x00;
72 1 TH2 = 0xDC;
73 1 TL2 = 0x00;
74 1 TR2 = 1;
75 1 ET2 = 1;
76 1 Volume = 0x35;
77 1 EA = 1;
78 1 }
79
80 void _EXP_InfoRec(void)
81 {
82 1 uchar i,j;
83 1
84 1 ModemRead(input,sizeof(input));
85 1 if(strcmp(input,"RING")==0)
86 1 {
87 2 ModemRead(input,sizeof(input));
88 2 ModemRead(input,sizeof(input));
89 2 for (i=1;i<sizeof(input)-1;i++)
90 2 {
91 3 if(input[i]=='"')input[i]=0;
92 3 }
93 2 j = 0;
94 2 for (i=0;i<2;i++)
95 2 {
96 3 ReadUserBlock( tempbuf, Fixed_IP+(i*32),sizeof(tempbuf));
97 3 if(strlen(input)<4)break;
98 3 if(strlen(tempbuf)<4)continue;
99 3 for (j=0;j<sizeof(tempbuf)-1;j++)
100 3 {
101 4 if(tempbuf[strlen(tempbuf)-1-j]!=input[strlen(input)-1-j])
102 4 break;
103 4 if((j==strlen(tempbuf)-1)||(j==strlen(input)-2))
104 4 {
105 5 j=sizeof(tempbuf);
106 5 break;
107 5 }
108 4 }
109 3 if(j==sizeof(tempbuf))break;
110 3 }
111 2 ModemRead(input,sizeof(input));
112 2 if(strcmp(input,"RING")==0)
113 2 {
114 3 Delay(100);
115 3 if(j==sizeof(tempbuf))
116 3 {
117 4 ModemSend("ATA\r");
C51 COMPILER V7.08 COMM 12/25/2004 18:50:53 PAGE 3
118 4 PWDN = 0;Vol_Rec = 0;
119 4 IE1 = 0;
120 4 EX1 = 1;
121 4 }
122 3 else
123 3 {
124 4 ModemSend("ATH\r");
125 4 PWDN = 1;
126 4 EX1 = 0;
127 4 Delay(100);
128 4 ModemSend("AT+CFUN=0\r");
129 4 }
130 3 }
131 2 else
132 2 ModemSend("AT+CFUN=0\r");
133 2 }
134 1 else if(strcmp(input,"NO")==0)
135 1 {
136 2 ModemRead(input,sizeof(input));
137 2 if((strcmp(input,"ANSWER")==0)||(strcmp(input,"CARRIER")==0))
138 2 {
139 3 Delay(100);
140 3 ModemSend("ATH\r");
141 3 PWDN = 1;
142 3 EX1 = 0;
143 3 Delay(100);
144 3 ModemSend("AT+CFUN=0\r");
145 3 }
146 2 }
147 1 }
148
149 void Switch_OFF(void)
150 {
151 1 EA = 0;
152 1 // ModemSend("AT^SMSO\r");
153 1 PD = 0;
154 1 ERST = 0;
155 1 PWDN = 1;
156 1 PCON = 0x02;
157 1 }
158
159
160 void Vol_control(void)
161 {
162 1 uchar cc;
163 1
164 1 cc = P2&0x0f;
165 1 strcpy(tempbuf,"AT^SNFI=0,32768\r");
166 1 if(cc==0x08)
167 1 {
168 2 {
169 3 if((Volume<0x37)&&(Volume>=0x30))
170 3 {
171 4 Volume = Volume + 1;
172 4 tempbuf[8] = Volume;
173 4 ModemSend(tempbuf);
174 4 }
175 3 }
176 2 }
177 1 else if(cc==0x04)
178 1 {
179 2 {
C51 COMPILER V7.08 COMM 12/25/2004 18:50:53 PAGE 4
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -