📄 send.lst
字号:
C51 COMPILER V8.02 SEND 01/20/2007 20:41:25 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE SEND
OBJECT MODULE PLACED IN send.OBJ
COMPILER INVOKED BY: D:\生成的应用程序\keil 8.02\C51\BIN\C51.EXE send.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*********************************************************************/
2 // send.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
15 //
16 sbit remoteout=P3^5; // 遥控输出口
17 sbit deng=P0^0;
18 sbit DingYou=P2^5;
19 sbit QianJin=P2^6;
20 sbit DingZuo=P2^7;
21 sbit TinZhi=P0^3;
22 sbit HouTui=P0^4;
23 //
24 //
25 uchar m,n,i,j;
26
27 //
28 ////
29 /*********1毫秒延时程序**********/
30 delay1ms(uchar t)
31 {
32 1 for(i=0;i<t;i++)
33 1 for(j=0;j<120;j++)
34 1 ;
35 1 }
36 //
37 //
38 /***********初始化函数**********/
39 clearmen()
40 {
41 1 remoteout=0; //关遥控输出
42 1 IE=0x00;
43 1 IP=0x01;
44 1 TMOD=0x22; //8位自动重装模式
45 1 TH1=0xf3; //40KHZ初值
46 1 TL1=0xf3;
47 1 EA=1; //开总中断
48 1 }
49 //
50 //
51
52 //
53 /**********发射函数************/
54 sed()
55 {
C51 COMPILER V8.02 SEND 01/20/2007 20:41:25 PAGE 2
56 1 ET1=1;TR1=1;delay1ms(3);ET1=0;TR1=0;remoteout=1;//40KHZ发3毫秒
57 1 for(m=n;m>0;m--)
58 1 {
59 2 delay1ms(1); //停1毫秒
60 2 ET1=1;TR1=1;delay1ms(1);ET1=0;TR1=0;remoteout=1;//40KHZ发1毫秒
61 2 }
62 1
63 1 delay1ms(10);
64 1 }
65 //
66
67 //
68 //
69 /**********键功能函数************/
70
71 //
72 //
73 /***********主函数***************/
74 main()
75 {
76 1 clearmen();
77 1 P0=0xfd; //初始化
78 1 P2=0xff;
79 1 while(1)
80 1 {
81 2 if(DingZuo==0)
82 2 {delay1ms(20);
83 3 if(DingZuo==0)
84 3 {n=0;sed();}
85 3 }
86 2 if(QianJin==0)
87 2 {delay1ms(20);
88 3 if(QianJin==0)
89 3 {n=1;sed();}
90 3 }
91 2 if(DingYou==0)
92 2 {delay1ms(20);
93 3 if(DingYou==0)
94 3 {n=2;sed();}
95 3 }
96 2 if(HouTui==0)
97 2 {delay1ms(20);
98 3 if(HouTui==0)
99 3 {n=3;sed();}
100 3 }
101 2 if(TinZhi==0)
102 2 {delay1ms(20);
103 3 if(TinZhi==0)
104 3 {n=4;sed();}
105 3 }
106 2 //delay1ms(10);
107 2 deng=0;
108 2 /*n=0;
109 2 sed(); //按键扫描
110 2 delay1ms(1000);
111 2 n=1;
112 2 sed(); //按键扫描
113 2 delay1ms(1000);
114 2 n=2;
115 2 sed(); //按键扫描
116 2 delay1ms(1000);
117 2 n=3;
C51 COMPILER V8.02 SEND 01/20/2007 20:41:25 PAGE 3
118 2 sed(); //按键扫描
119 2 delay1ms(1000);
120 2 */
121 2 }
122 1 }
123 //
124 //
125 /*********40KHZ发生器***********/
126 //定时中断T1
127 void time_intt1(void) interrupt 3
128 {
129 1 remoteout=~remoteout;
130 1 }
131 //
132 //
133 //*********************结束**************************//
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 197 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 4 ----
IDATA SIZE = ---- ----
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 + -