📄 beeplight.lst
字号:
C51 COMPILER V7.50 BEEPLIGHT 01/14/2002 12:53:04 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE BEEPLIGHT
OBJECT MODULE PLACED IN BeepLight.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE BeepLight.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include"AT87F51RC.H"
2 #include"BeepLight.H"
3 #include<absacc.h>
4 unsigned char CsOutPortV;
5 unsigned char InchiFlag;
6 unsigned char BeepStatus;
7 unsigned int BeepOnTime,BeepOffTime,BeepOnTimeTemp,BeepOffTimeTemp;
8 unsigned char BeepAllTimes;
9 /*
10 void BeepTimer0Initial(void)
11 {
12 TMOD=0x01;
13 TH0=0xfc;
14 TL0=0x18;
15 ET0=1;
16 EA=1;
17 TR0=1;
18 }
19 */
20 /*
21 void Beep(unsigned char times,unsigned char SLFlag)
22 {
23 BeepAllTimes=times;
24 BeepStatus=BeepRun;
25 switch(SLFlag)
26 {
27 case ShortTime:
28 BeepOnTime=ShortBeepOnTime;
29 BeepOffTime=ShortBeepOffTime;
30 break;
31 case LongTime:
32 BeepOnTime=LongBeepOnTime;
33 BeepOffTime=LongBeepOffTime;
34 break;
35 case Simple:
36 BeepOnTime=SimpleBeepOnTime;
37 BeepOffTime=SimpleBeepOffTime;
38 break;
39 }
40
41
42 TMOD=0x01;
43 TH0=0xfc;
44 TL0=0x18;
45 ET0=1;
46 EA=1;
47 TR0=1;
48 }
49 void BeepTimer(void)interrupt 1 using 1
50 {
51
52 switch(BeepStatus)
53 {
54 case BeepRun:
55 BeepGo;
C51 COMPILER V7.50 BEEPLIGHT 01/14/2002 12:53:04 PAGE 2
56 BeepOnTime--;
57 if(BeepOnTime==0)
58 {
59 BeepStatus=BeepStop;
60 BeepOff;
61 }
62 break;
63 case BeepStop:
64 BeepOffTime--;
65 if(BeepOffTime==0)
66 {
67 BeepAllTimes--;
68 if(BeepAllTimes=0)
69 ET0=0;
70 TR0=0;
71 }
72 break;
73 }
74 }
75 */
76
77 //当times=0时,不断蜂鸣。
78 void Beep(unsigned char times,unsigned char BeepTime,unsigned char StopTime)
79 {
80 1 BeepAllTimes=times;
81 1 BeepOnTime=BeepTime;
82 1 BeepOnTimeTemp=BeepTime;
83 1 BeepOffTime=StopTime;
84 1 BeepOffTimeTemp=StopTime;
85 1 TMOD=0x01;
86 1 TH0=0x12;
87 1 TL0=0x66;
88 1 ET0=1;
89 1 EA=1;
90 1 TR0=1;
91 1 BeepOn;
92 1 }
93
94 void StopBeep(void)
95 {
96 1 BeepOff;
97 1 ET0=0;
98 1 TR0=0;
99 1 }
100
101 void BeepTimer(void)interrupt 1 using 1
102 {
103 1 if(BeepAllTimes!=0)
104 1 {
105 2 if(BeepOnTime!=0)
106 2 BeepOnTime--;
107 2 else
108 2 {
109 3 BeepOff;
110 3 BeepOffTime--;
111 3 if(BeepOffTime==0)
112 3 {
113 4
114 4 BeepAllTimes--;
115 4 if(BeepAllTimes!=0)
116 4 {
117 5 BeepOn;
C51 COMPILER V7.50 BEEPLIGHT 01/14/2002 12:53:04 PAGE 3
118 5 BeepOnTime=BeepOnTimeTemp;
119 5 BeepOffTime=BeepOffTimeTemp;
120 5 }
121 4 else
122 4 {
123 5 TR0=0;
124 5 ET0=0;
125 5 }
126 4
127 4
128 4 }
129 3
130 3 }
131 2 }
132 1 else
133 1 {
134 2 if(BeepOnTime!=0)
135 2 BeepOnTime--;
136 2 else
137 2 {
138 3 BeepOff;
139 3 BeepOffTime--;
140 3 if(BeepOffTime==0)
141 3 {
142 4
143 4 BeepAllTimes--;
144 4 if(BeepAllTimes!=0)
145 4 {
146 5 BeepOn;
147 5 BeepOnTime=BeepOnTimeTemp;
148 5 BeepOffTime=BeepOffTimeTemp;
149 5 }
150 4 }
151 3 }
152 2 }
153 1
154 1 }
155
156 void delayBL(unsigned int times)
157 {
158 1 unsigned char a;
159 1 unsigned int i;
160 1 unsigned char j;
161 1 for(i=0;i<times;i++)
162 1 for(j=0;j<55;j++)
163 1 a=CsInPort;
164 1 }
165 void main(void)
166 {
167 1 unsigned char a;
168 1 Beep(0,10,10);
169 1
170 1 while(1)
171 1 { // BeepOn;
172 2 RedLightOff;GreenLightOn;
173 2 delayBL(16000);
174 2 //BeepOff;
175 2 GreenLightOff;RedLightOn;
176 2 delayBL(1000);
177 2 StopBeep();
178 2 }
179 1 CsOutPortV|=0x10;CsOutPort=CsOutPortV;
C51 COMPILER V7.50 BEEPLIGHT 01/14/2002 12:53:04 PAGE 4
180 1 while(1)a=CsInPort;
181 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 282 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 12 2
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 + -