📄 incept.lst
字号:
C51 COMPILER V8.02 INCEPT 01/21/2007 19:31:13 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE INCEPT
OBJECT MODULE PLACED IN incept.OBJ
COMPILER INVOKED BY: D:\生成的应用程序\keil 8.02\C51\BIN\C51.EXE incept.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*********************************************************************/
2 // incept.c
3 // 遥控接收处理器
4 // LRM 2004.10.22
5 /*********************************************************************/
6 //使用AT89C52单片机,12MHZ晶振,
7 //
8 //#pragma src(E:\remote.asm)
9 #include "reg51.h"
10 #include "intrins.h" //_nop_();延时函数用
11 //
12 #define uchar unsigned char
13 #define uint unsigned int
14 #define qudong P1
15 #define ShuJu P2
16 #define WeiXuan P0
17 #define qianwei 0xf7
18 #define baiwei 0xfb
19 #define shiwei 0xfd
20 #define gewei 0xfe
21 #define QianJin 0x0a
22 #define HouTui 0x05
23 #define YouZhuan 0x0b
24 #define ZuoZhuan 0x0e
25 #define DingZuo 0x06
26 #define DingYou 0x09
27 #define ShaChe 0x0F
28 //
29 sbit remotein=P3^1; // 遥控输入
30 sbit sin=P3^0; //基准正弦波相位输入
31 sbit AA=P0^0;
32 sbit BB=P0^1;
33 sbit fengming=P3^5;
34 uchar code tab[]= {0x7b,0x22,0x57,0x37,0x2e,0x3D,0x7D,0x23,0x7F,0x3f,0x4f,0x4d}; /*后两个为P,F*/
35
36 //
37 uchar a=0,b=0,c=0,d=0,i,j,k,m=0,e=0,f,g;
38 uchar keynum; //值存放
39 //
40 ////
41 /*********1毫秒延时程序**********/
42 delay1ms(uchar t)
43 {
44 1 for(i=0;i<t;i++)
45 1 for(j=0;j<120;j++)
46 1 ;
47 1 }
48
49
50
51 void delay(uchar k)
52 {uchar idata j;
53 1 uchar i;
54 1 for(i=0;i<k;i++)
55 1 for(j=0;j<255;j++);
C51 COMPILER V8.02 INCEPT 01/21/2007 19:31:13 PAGE 2
56 1 }
57
58 //
59 /***********初始化函数**********/
60 clearmen()
61 {
62 1 EX0=1;
63 1 EA=1; //开总中断
64 1 }
65 //
66 //
67
68 //
69 /**********函数************/
70 /*loop()
71 {
72 switch(disout&0x07)
73 {
74 case 0:{s=1;break;}
75 case 1:{s=2;break;}
76 case 2:{s=3;break;}
77 case 3:{s=4;break;}
78 case 4:{s=5;break;}
79 case 5:{s=6;break;}
80 case 6:{s=7;break;}
81 case 7:{s=8;break;}
82 default:break;}
83 } */
84 //
85 //
86 /***********主函数***************/
87 main()
88 {fengming=0;
89 1 delay(255);
90 1 delay(255);
91 1 delay(255);
92 1 fengming=1;
93 1 clearmen(); //初始化
94 1 P2=0xfe;
95 1 while(1)
96 1 { g=0;
97 2 WeiXuan=gewei;
98 2 ShuJu=tab[a];
99 2 delay(5);
100 2
101 2 WeiXuan=shiwei;
102 2 ShuJu=tab[b];
103 2 delay(5);
104 2 WeiXuan=baiwei;
105 2 ShuJu=tab[c];
106 2 delay(5);
107 2
108 2 WeiXuan=qianwei;
109 2 ShuJu=tab[d];
110 2 delay(5);
111 2 if(g==1)
112 2 {fengming=0;
113 3 delay(200);
114 3 fengming=1;
115 3 }
116 2
117 2 }
C51 COMPILER V8.02 INCEPT 01/21/2007 19:31:13 PAGE 3
118 1
119 1
120 1
121 1 }
122 //
123 //
124 /************外中断遥控接收函数**************/
125 //外中断0
126 void intt0(void) interrupt 0
127 {EX0=0;keynum=0;
128 1 if(remotein==0)
129 1 {delay1ms(1);
130 2 if(remotein==0)
131 2 {while(1)
132 3 {while(remotein==0);
133 4 keynum++;k=0;
134 4 while(remotein==1){delay1ms(1);k++;if(k>2){m++; goto OOUUTT;};}
135 4 }
136 3
137 3
138 3
139 3 OOUUTT:
140 3 if(m<4)
141 3 switch(m)
142 3 {
143 4 case 1:e=keynum;break;
144 4 //case 2:f=keynum;break;
145 4 //case 3:g=keynum;break;
146 4 default:break;
147 4 }
148 3
149 3 else {m=0;
150 4 //if(e==keynum&&f==keynum)
151 4 if(e==keynum)
152 4 { g=1;
153 5 switch(keynum)
154 5 {
155 6 case 1:{a++;if(a==9) a=0;qudong=YouZhuan;break;}
156 6 case 2:{b++;if(b==9) b=0;qudong=QianJin;break;}
157 6 case 3:{c++;if(c==9) c=0;qudong=ZuoZhuan;break;}
158 6 case 4:{d++;if(d==9) d=0;qudong=HouTui;break;}
159 6 case 5:{qudong=ShaChe;break;}
160 6 default:break;
161 6 }
162 5 }
163 4 }
164 3 }
165 2 }
166 1 EX0=1;
167 1 }
168 //
169 //
170 //*********************结束**************************//
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 309 ----
CONSTANT SIZE = 12 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 12 ----
IDATA SIZE = ---- 1
C51 COMPILER V8.02 INCEPT 01/21/2007 19:31:13 PAGE 4
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 + -