📄 红外.lst
字号:
173 1 P3_2=0;
174 1
175 1 //发送9ms发始码
176 1 for(p=0;p<680;p++)//3us 700*13=9100
177 1 {
178 2 dataout=!dataout;//1us
179 2 _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();//_nop_();_nop_();_nop_();_nop_();_nop_();//1
C51 COMPILER V8.02 红外 05/03/2007 18:27:29 PAGE 4
-2us
180 2 }
181 1
182 1 //发送4.5ms结果
183 1 for(p=0;p<333;p++)//300*13=3900
184 1 {dataout=1;
185 2 _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();//_nop_();_nop_();_nop_();_nop_();_nop_();//12u
-s
186 2 }
187 1
188 1
189 1 for(q=0;q<6;q++)
190 1 { showdata=send_data[q];
191 2
192 2 for(n=0;n<=7;n++) //3us
193 2 { ACC=showdata; //1us
194 3 if(ACC_7==1) //3us 发送1
195 3 { int l; //1us
196 4 for(l=0;l<42;l++)
197 4 {dataout=!dataout;//1
198 5 _nop_();_nop_();_nop_();_nop_();//_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_()
-;//12us
199 5 }
200 4 for(l=0;l<128;l++)//3us
201 4 {dataout=1; //1us
202 5 _nop_();_nop_();_nop_();_nop_();//_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_()
-;//12us
203 5 }
204 4 }
205 3 else //调制38K信号,发送0;
206 3 { int m;
207 4 for(m=0;m<43;m++)//3us
208 4 {
209 5 dataout=!dataout;//1us
210 5 _nop_();_nop_();_nop_();_nop_();//_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();/
-/12us
211 5 }
212 4
213 4 for(m=0;m<42;m++)
214 4 {dataout=1;
215 5 _nop_();_nop_();_nop_();_nop_();//_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();//
-12us
216 5 }
217 4 }
218 3 showdata=showdata<<1;//7us
219 3 }//10us
220 2
221 2 for(n=0;n<45;n++)//3us
222 2 {
223 3 dataout=!dataout;//1us
224 3 _nop_();_nop_();_nop_();_nop_();//_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();/
-/12us
225 3 }
226 2 P3_2=1;
227 2 P3_7=1;
228 2
229 2 }
230 1 }
231 /************************************************************
232 键盘扫描及取键值程序
233 unsigned char getkeyin(void)
234 功能:键值放入keyin。
C51 COMPILER V8.02 红外 05/03/2007 18:27:29 PAGE 5
235 ************************************************************/
236 void getkeyin(void)
237 {
238 1 unsigned char temp;
239 1 P1=0x0f;
240 1 temp=P1;
241 1 if(temp==0x0f)
242 1 {
243 2 kbempty=0;
244 2 // keyin=0xff;
245 2 }
246 1
247 1
248 1 // if(kbempty==0&&temp!=0x0f)//按键有松开过
249 1 // {
250 1 // for(i=10;i>0;i--); //键盘去抖延迟
251 1
252 1
253 1 P1=0xef; //P1^4=0
254 1 temp=P1;
255 1 temp=temp&0x0f;
256 1 if (temp!=0x0f)
257 1 {
258 2 switch(temp)
259 2 {
260 3 case 0x0e:keyin=3;send();break; //keyin='3'
261 3 case 0x0d:keyin=7;send();break; //keyin='7'
262 3 case 0x0b:keyin=11;send();break; //keyin='11'
263 3 case 0x07:keyin=15;send();break; //keyin='15'
264 3 // default:keyin=0xff;
265 3 }
266 2 kbempty=1;
267 2 //return(keyin) ;
268 2 }
269 1
270 1 P1=0xdf; //P1^5=0
271 1 temp=P1;
272 1 temp=temp & 0x0f;
273 1 if (temp!=0x0f)
274 1 {
275 2 switch(temp)
276 2 {
277 3 case 0x0e:keyin=2;break; //keyin='2'
278 3 case 0x0d:keyin=6;break; //keyin='6'
279 3 case 0x0b:keyin=10;break; //keyin='10'
280 3 case 0x07:keyin=14;break; //keyin='14'
281 3 // default:keyin=0xff;
282 3 }
283 2 kbempty=1;
284 2
285 2 //return(keyin) ;
286 2 }
287 1
288 1 P1=0xbf; //P1^6=0
289 1 temp=P1;
290 1 temp=temp & 0x0f;
291 1 if (temp!=0x0f)
292 1 {
293 2 switch(temp)
294 2 {
295 3 case 0x0e:keyin=1;break; //keyin='1'
296 3 case 0x0d:keyin=5;break; //keyin='5'
C51 COMPILER V8.02 红外 05/03/2007 18:27:29 PAGE 6
297 3 case 0x0b:keyin=9;break; //keyin='9'
298 3 case 0x07:keyin=13;break; //keyin='13'
299 3 // default:keyin=0xff;
300 3 }
301 2 kbempty=1;
302 2
303 2 //return(keyin) ;
304 2 }
305 1
306 1 P1=0x7f; //P1^7=0
307 1 temp=P1;
308 1 temp=temp & 0x0f;
309 1 if (temp!=0x0f)
310 1 {
311 2 switch(temp)
312 2 {
313 3 case 0x0e:keyin=0;break; //keyin='0'
314 3 case 0x0d:keyin=4;break; //keyin='4'
315 3 case 0x0b:keyin=8;break; //keyin='8'
316 3 case 0x07:keyin=12;break; //keyin='12'
317 3 // default:keyin=0xff;
318 3 }
319 2 kbempty=1;
320 2 }
321 1 //return(keyin) ;
322 1 }
323 // keyin=0xff;
324 //return(keyin);
325 // }
326
327
328
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 886 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 29 5
IDATA SIZE = 2 ----
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 + -