hong_fa.lst
来自「红外38k发射和接受代码」· LST 代码 · 共 572 行 · 第 1/3 页
LST
572 行
C51 COMPILER V8.02 HONG_FA 09/06/2008 21:38:11 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE HONG_FA
OBJECT MODULE PLACED IN hong_fa.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE hong_fa.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include"reg51.h"
2 #include"intrins.h"
3 #define uchar unsigned char
4 #define uint unsigned int
5 #define key0 P0
6 #define key1 P2
7 //
8 sbit remoteout=P3^5; //遥控输出口
9 //
10 uchar temp;//keyscan();
11 uint i,j;
12 uchar flag=0,key=0,keyvol; //"flag"连发码发射标志位,"key"按键按下标志位
13 uchar code keyv[8]={1,2,4,8,16,32,64,128};
14 bit flag1;
15 //
16 /************100us延时程序********************/
17 delay(uint t)
18 {
19 1 TMOD=0x22;
20 1 TR0=1;
21 1 while(t!=0)
22 1 {
23 2 TH0=0x9b;
24 2 TL0=0x9b;
25 2 while(TF0!=1);
26 2 TF0=0;
27 2 t--;
28 2 }
29 1 TR0=0;
30 1 }
31 //
32 /************初始化函数*************/
33 clearmen()
34 {
35 1 remoteout=0; //关遥控输出
36 1 IE=0x00;
37 1 IP=0x01;
38 1 TMOD=0x22;
39 1 TH1=0xf3; //定时方式2
40 1 TL1=0xf3; //38KHZ初值
41 1 EA=1;
42 1 }
43 //
44 /**************连发码发射程序*************/
45 alltimesed()
46 {
47 1 for(j=0;j<9;j++)
48 1 {
49 2 ET1=1;
50 2 TR1=1;
51 2 delay(90);
52 2 ET1=0;
53 2 TR1=0;
54 2 remoteout=0;//38KHZ发9ms
55 2 delay(30);//3ms的结束码
C51 COMPILER V8.02 HONG_FA 09/06/2008 21:38:11 PAGE 2
56 2 }
57 1 }
58 //
59 /**************编码0发射程序**************/
60 sed0()
61 {
62 1 ET1=1;
63 1 TR1=1;
64 1 delay(6);//发射0.6ms
65 1 ET1=0;
66 1 TR1=0;
67 1 remoteout=0;
68 1 delay(6);//"0"持续1.2ms
69 1 }
70 //
71 /*************编码1发射程序***************/
72 sed1()
73 {
74 1 ET1=1;
75 1 TR1=1;
76 1 delay(6);
77 1 ET1=0;
78 1 TR1=0;
79 1 remoteout=0;
80 1 delay(18); //"1"持续2.4ms
81 1 }
82 //
83 /*******引导码,结果码,地址码编码函数******/
84 frocode()
85 {
86 1 ET1=1;
87 1 TR1=1;
88 1 delay(90);//9ms的引导码
89 1 ET1=0;
90 1 TR1=0;
91 1 remoteout=0;
92 1 delay(45);//4.5ms的结果码
93 1 sed0();sed0();sed0();sed1();
94 1 sed1();sed1();sed1();sed1();//地址码高八位0x1f
95 1 sed1();sed1();sed1();sed0();
96 1 sed0();sed0();sed0();sed0();//地址码低八位0xe0
97 1 }
98 //
99 /*************按键后发射函数***************/
100 tx()
101 {
102 1 if(flag==0)
103 1 {
104 2 // switch(keyvol)
105 2 switch(key)
106 2 {
107 3 case 0:{frocode();
108 4 sed0();sed0();sed0();sed0();
109 4 sed0();sed0();sed0();sed1();
110 4 sed1();sed1();sed1();sed1();
111 4 sed1();sed1();sed1();sed0();
112 4 sed0(); //key1数据码0x01
113 4 delay(360);
114 4 break;}
115 3 case 1:{frocode();
116 4 sed1();sed0();sed0();sed0();
117 4 sed0();sed0();sed0();sed1();
C51 COMPILER V8.02 HONG_FA 09/06/2008 21:38:11 PAGE 3
118 4 sed0();sed1();sed1();sed1();
119 4 sed1();sed1();sed1();sed0();sed0();//key2数据码0x81
120 4 delay(360);
121 4 break;}
122 3 case 2:{frocode();
123 4 sed0();sed1();sed0();sed0();
124 4 sed0();sed0();sed0();sed1();
125 4 sed1();sed0();sed1();sed1();
126 4 sed1();sed1();sed1();sed0();sed0();//key3数据码0x41
127 4 delay(360);
128 4 break;}
129 3 case 3:{frocode();
130 4 sed1();sed1();sed0();sed0();
131 4 sed0();sed0();sed0();sed1();
132 4 sed0();sed0();sed1();sed1();
133 4 sed1();sed1();sed1();sed0();sed0();//key4数据码0xc1
134 4 delay(360);
135 4 break;}
136 3 case 4:{frocode();
137 4 sed0();sed0();sed1();sed0();
138 4 sed0();sed0();sed0();sed1();
139 4 sed1();sed1();sed0();sed1();
140 4 sed1();sed1();sed1();sed0();sed0();//key5数据码0x21
141 4 delay(360);
142 4 break;}
143 3 case 5:{frocode();
144 4 sed1();sed0();sed1();sed0();
145 4 sed0();sed0();sed0();sed1();
146 4 sed0();sed1();sed0();sed1();
147 4 sed1();sed1();sed1();sed0();sed0();//key6数据码0xa1
148 4 delay(360);
149 4 break;}
150 3 case 6:{frocode();
151 4 sed0();sed1();sed1();sed0();
152 4 sed0();sed0();sed0();sed1();
153 4 sed1();sed0();sed0();sed1();
154 4 sed1();sed1();sed1();sed0();sed0();//key7数据码0x61
155 4 delay(360);
156 4 break;}
157 3 case 7:{frocode();
158 4 sed1();sed1();sed1();sed0();
159 4 sed0();sed0();sed0();sed1();
160 4 sed0();sed0();sed0();sed1();
161 4 sed1();sed1();sed1();sed0();sed0();//key8数据码0xe1
162 4 delay(360);
163 4 break;}
164 3 case 8:{frocode();
165 4 sed0();sed0();sed0();sed1();
166 4 sed0();sed0();sed0();sed1();
167 4 sed1();sed1();sed1();sed0();
168 4 sed1();sed1();sed1();sed0();sed0();//key9数据码0x11
169 4 delay(360);
170 4 break;}
171 3 case 9:{frocode();
172 4 sed1();sed0();sed0();sed1();
173 4 sed0();sed0();sed0();sed1();
174 4 sed0();sed1();sed1();sed0();
175 4 sed1();sed1();sed1();sed0();sed0();//key10数据码0x91
176 4 delay(360);
177 4 break;}
178 3 case 10:{frocode();
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?