📄 +
字号:
C51 COMPILER V7.50 红外收发 05/16/2010 11:38:31 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE 红外收发
OBJECT MODULE PLACED IN 红外收发.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 红外收发.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*-----------------------------------------------
2 名称l外测试程序
3 内容:
4 *红外测试程序,用单片机通过发射管发射38K的调制频率码,由一体化接收并解码由发光管显示。
5 *正常情况下,由于反射和高灵敏度接收,LED4(P1.3)一直闪烁,可以用黑色纸片完全遮挡接收头使
6 *之不能接收到发射管的信号,这是LED4熄灭。说明功能性正常
7
8 ------------------------------------------------*/
9 #include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
10
11
12
13 sbit LED=P3^3; //红外发射
14 sbit LED1=P1^3;
15 sbit IR=P3^2; //红外一体化接收
16
17 bit Flag;
18
19 void Init_Timer0(void)
20 {
21 1 TMOD |= 0x01;
22 1 TH0=0xf0; /* Init value */
23 1 TL0=0x00;
24 1 EA=1; /* interupt enable */
25 1 ET0=1; /* enable timer0 interrupt */
26 1 TR0=1;
27 1 }
28
29
30 /******************************************************************/
31 /* 定时器0初始化 */
32 /******************************************************************/
33 void Timer0_isr(void) interrupt 1 using 1
34 {
35 1 TH0=0x0f; /* Init value */
36 1 TL0=0x00;
37 1 Flag=!Flag;
38 1 }
39
40 /******************************************************************/
41 /* 主函数 */
42 /******************************************************************/
43 main()
44 {
45 1
46 1 unsigned int j;
47 1 Init_Timer0(); //定时器初始化
48 1
49 1 while(1)
50 1 {
51 2
52 2 LED1=IR; //读取一体化接收头数值
53 2 if(Flag)
54 2 {
55 3 for(j=0;j<27;j++)//大约38KHz
C51 COMPILER V7.50 红外收发 05/16/2010 11:38:31 PAGE 2
56 3 {
57 4 LED=!LED; //发射管输出
58 4 }
59 3 }
60 2 }
61 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 56 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -