📄 main.lst
字号:
C51 COMPILER V7.06 MAIN 06/10/2005 23:25:34 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN Main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Main.c DEBUG OBJECTEXTEND
stmt level source
1 #include "Head.h"
2 uchar Alarm,PhoneNO[13];//,tempoverflow;//声音、警报、电话号码、
3 uchar Sound[11]={15,29,27,0xff,0,0,0,0,0,0xff};
4 uchar InputBuff[13],InputLen=6,Funtion,InputBuff2[13],Inputcounter;
5 bit data SoundEn=0,InputDone=0,InputErr=0,InputEn=0;
6 bit data GetPSW=0,SecondInPut=0,AlarmHappen,Button;//zc1;//HANG=0,
7 extern int temp_1820,Button_02;
8
9 void delay10ms(uchar tim);
10 void main()
11 {
12 1
13 1 uchar temp[2];
14 1 IniSerial();
15 1 initial_8880();
16 1 MainInitial();
17 1
18 1 //zc1=0;//补上的可以删
19 1 while(1)
20 1 { uint m; uchar n;
21 2 if(Alarm) //报警
22 2 { RW24XX(InputBuff2,12,0x10,0xa1); //read phone number
23 3 if(HANDUP==0)
24 3 {m=0;
25 4 HANDUP=1; //挂机
26 4 while(m<60000)m++;
27 4 }
28 3 LED0=0;
29 3 m=0;
30 3 HANDUP=0; //摘机
31 3 while(m<60000)m++;
32 3 m=0;
33 3 while(SendDTMF(InputBuff2)!=1);
34 3 timer0=1; //delay begin
35 3 GetPSW=1; //pass
36 3 InputEn=1; //enable input
37 3 InputLen=1;
38 3
39 3 if(Alarm<5){Sound[0]=16;Sound[1]=16;Sound[2]=20;Sound[3]=Alarm;
40 4 Sound[4]=31;Sound[5]=0xff;}
41 3 if(Alarm==5) {Sound[0]=16;Sound[1]=16;Sound[2]=42; Sound[3]=0xff;}
42 3 Alarm=0;
43 3 AlarmHappen=1;
44 3 }
45 2 if(temp_1820>250) //250检测报警温度的时间间隔
46 2 {
47 3 temp_1820=1;
48 3 m=get_temp(); //get temperature
49 3 RW24XX(temp,2,0x20,0xa1); //read temperature
50 3 if(m>(temp[0]*100+temp[1]*10))
51 3 {LED0=0;
52 4 Alarm=5;
53 4 temp_1820=0;
54 4 } // tempoverflow++;
55 3 else LED0=1; // else tempoverflow=0;
C51 COMPILER V7.06 MAIN 06/10/2005 23:25:34 PAGE 2
56 3 // if(tempoverflow>2)Alarm=1;
57 3 }
58 2 /*if(Button_02>600)
59 2 { if(Button2==0) //有按键2?
60 2 { Button=LINE;
61 2 LINE =!Button; //if(LINE==0)LINE=1;
62 2 } // else LINE=0;
63 2
64 2 } */
65 2 if(SoundEn==1) //sound
66 2 { musicstate=0;
67 3 SoundEn=0;
68 3 InputEn=1;
69 3 while(music(Sound)!=1);
70 3
71 3 }
72 2 if(InputErr==1) // pass word input error
73 2 {InputErr=0;
74 3 Inputcounter++;
75 3 if(Inputcounter>3) {timer0=10000;Inputcounter=0;} // over 3 times then handup
76 3 Sound[0]=44;Sound[1]=0xff;
77 3 SoundEn=1;InputEn=1;InputLen=6;
78 3 }
79 2 if(Funtion)
80 2 {uchar j=0;
81 3 switch(Funtion)
82 3 {
83 4 case 8:SoundEn=1; //1 chanle control
84 4 Sound[j++]=35;
85 4 Sound[j++]=45;
86 4 Sound[j++]=34;
87 4 Sound[j]=0xff;
88 4 InputLen=2;
89 4 InputEn=1;
90 4 j=0;
91 4 if(zc1) Sound[j++]=1;
92 4 if(CH2==0) Sound[j++]=2;
93 4 if(CH3==0) Sound[j++]=3;
94 4 if(CH4==0) Sound[j++]=4;
95 4 if(j==0) break;
96 4 Sound[j++]=19;
97 4 Sound[j++]=17;
98 4 Sound[j++]=45;
99 4 Sound[j]=0xff;
100 4 break;
101 4 case 2: //4 change phone number//
102 4 Sound[0]=29;Sound[1]=0xff; //请输入
103 4 SoundEn=1;
104 4 InputLen=11;
105 4 InputEn=1;
106 4 break;
107 4 case 24: //get phone number
108 4 if(SecondInPut==1)
109 4 { for(j=0;j<13;j++)
110 5 {if(InputBuff2[j]==3)break;
111 6 if(InputBuff[j]!=InputBuff2[j])
112 6 {Sound[0]=44;Sound[1]=0xff;
113 7 SoundEn=1;
114 7 InputEn=1;
115 7 SecondInPut=0; //input error.
116 7 j=0xff;
117 7 break;
C51 COMPILER V7.06 MAIN 06/10/2005 23:25:34 PAGE 3
118 7 }
119 6 }
120 5 if(j==0xff || InputBuff[j]!=InputBuff2[j])
121 5 {Sound[0]=44;Sound[1]=0xff;
122 6 SoundEn=1;
123 6 InputEn=1;
124 6 SecondInPut=0;
125 6 break; //input error.
126 6 }
127 5 InputBuff[j++]=0xff; //input ok!!
128 5 RW24XX(InputBuff,j,0x10,0xa0);
129 5 Sound[0]=30;Sound[1]=0xff;
130 5 SoundEn=1;
131 5 InputEn=1;
132 5 InputLen=1;
133 5 SecondInPut=0;
134 5 break;
135 5 }
136 4 else //first time input
137 4 for(j=0;j<13;j++){ InputBuff2[j]=InputBuff[j];if(InputBuff[j]==3)break;}
138 4 Sound[0]=29;Sound[1]=0xff;
139 4 SoundEn=1;
140 4 InputLen=11;
141 4 InputEn=1;
142 4 SecondInPut=1;
143 4 break;
144 4 case 12: //3
145 4 Sound[0]=29;Sound[1]=0xff; //请输入 tempreture
146 4 SoundEn=1;
147 4 InputLen=3;
148 4 InputEn=1;
149 4 break;
150 4 case 26://temprture
151 4 if(SecondInPut==1)
152 4 { /*for(j=0;j<4;j++)
153 5 {if(InputBuff2[j]==3)break;
154 5 if(InputBuff[j]!=InputBuff2[j])
155 5 {Sound[0]=44;Sound[1]=0xff;
156 5 SoundEn=1;
157 5 InputLen=3;
158 5 InputEn=1;
159 5 SecondInPut=0;
160 5 j=0xff;
161 5 break; //error
162 5 }
163 5 }
164 5 if(j==0xff || InputBuff[j]!=InputBuff2[j]) break; //ok?*/
165 5 // InputBuff[j++]=0xff;
166 5 // InputBuff[0]=loopdata(InputBuff[0]);
167 5 InputBuff[1]=loopdata(InputBuff[1]);
168 5 // InputBuff[0]=0x00;
169 5 // InputBuff[1]=0x01;
170 5
171 5 RW24XX(InputBuff,2,0x20,0xa0); //写入温度
172 5 Sound[0]=30;Sound[1]=34;Sound[2]=0xff;
173 5 SoundEn=1;
174 5 InputEn=1;
175 5 InputLen=1;
176 5 SecondInPut=0;
177 5 temp_1820=1; //timer begin
178 5 break;
179 5 }
C51 COMPILER V7.06 MAIN 06/10/2005 23:25:34 PAGE 4
180 4 else
181 4 for(j=0;j<4;j++){ InputBuff2[j]=InputBuff[j];if(InputBuff[j]==3)break;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -