📄 gressy.lst
字号:
C51 COMPILER V8.02 GRESSY 03/18/2008 04:15:30 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE GRESSY
OBJECT MODULE PLACED IN GRESSY.OBJ
COMPILER INVOKED BY: D:\Program Files\Keil51\C51\BIN\C51.EXE GRESSY.c ROM(COMPACT) BROWSE DEBUG OBJECTEXTEND
line level source
1 //#define GRESSY 0
2 //#define TORCH1 1
3 //#define TORCH2 2
4 //#define TYPE GRESSY
5 #include <reg52.h>
6 #include <GRESSY.h>
7 void main(void)
8 {
9 1 bit oldLAST=0;
10 1 bit oldNEXT=0;
11 1 unsigned int addr=0;
12 1 unsigned char addrh=0,addrl=0;
13 1
14 1 //LED TEST
15 1 // start=1;
16 1 PLAY=1;
17 1 EA=0;
18 1 Top1=0;DelayA();Top1=1;
19 1 Top2=0;DelayA();Top2=1;
20 1 Top3=0;DelayA();Top3=1;
21 1 Top4=0;DelayA();Top4=1;
22 1 Top5=0;DelayA();Top5=1;
23 1 Top6=0;DelayA();Top6=1;
24 1 Bot1=0;DelayA();Bot1=1;
25 1 Bot2=0;DelayA();Bot2=1;
26 1 Bot3=0;DelayA();Bot3=1;
27 1 Bot4=0;DelayA();Bot4=1;
28 1 Bot5=0;DelayA();Bot5=1;
29 1 BELL=OKLED=0;DelayA();BELL=OKLED=1;
30 1
31 1 isrecord=0;
32 1 // isplay=0;
33 1 Initial();
34 1 // InitialINT();
35 1 // LedTest();
36 1 // Initial();
37 1 // start=0;
38 1 oldLAST=LAST;
39 1 oldNEXT=NEXT;
40 1 // playno=1;
41 1 PowerUp();Delay(50);PowerUp();Delay(100);
42 1 sd=0;BELL=1;
43 1 PL=0;CLK=0;
44 1 isrecord=0;
45 1 ledchange=1;
46 1 while(1)
47 1 {
48 2 if(PLAY|REC)
49 2 {
50 3 if(PLAY)
51 3 {
52 4 // RECERROR=1;RECLED=1;
53 4 // RECSEL=1;
54 4 // isrecord=0;
55 4 // if(!isplay)
C51 COMPILER V8.02 GRESSY 03/18/2008 04:15:30 PAGE 2
56 4 // {
57 4 // if(playno<1||playno>MAXNO) playno=1;
58 4 // isplay=1;
59 4 // ledchange=1;
60 4 // }
61 4 //SET ADDRESS AND PLAY
62 4 if((!INT)||ledchange)
63 4 {
64 5 if(ledchange)
65 5 {
66 6 Stop();
67 6 Delay(200);
68 6 if(playno<1||playno>MAXNO) playno=1;
69 6 addr=(playno-1)*PERDURATION;
70 6 addrl=addr%256;
71 6 addrh=addr>>8;
72 6 // SMG=~(LED[playno]);
73 6 ledchange=0;
74 6 }
75 5 SetPlay(addrl,addrh);
76 5 Play();
77 5 }
78 4 MUTEOUT=(md?0:1);
79 4 //CHANNEL CHANGE
80 4 if(!LAST||!NEXT)
81 4 {
82 5 if(oldLAST&&LAST)
83 5 {
84 6 if(playno<=1||playno>MAXNO) playno=MAXNO;else playno--;
85 6 sd=SHOWTIME;
86 6 ledchange=1;
87 6 }
88 5 if(oldNEXT&&NEXT)
89 5 {
90 6 if(playno<1||playno>=MAXNO) playno=1;else playno++;
91 6 sd=SHOWTIME;
92 6 ledchange=1;
93 6 }
94 5 }
95 4 }
96 3 else
97 3 {
98 4 // isplay=0;RECSEL=0;
99 4 // if(!isrecord)
100 4 // {
101 4 // ledchange=1;
102 4 // isrecord=1;
103 4 // if(playno<1||playno>MAXNO) playno=1;
104 4 // }
105 4 RECLED=0; //ON
106 4 if(ledchange)
107 4 {
108 5 Stop();
109 5 Delay(200);
110 5 if(playno<1||playno>MAXNO) playno=1;
111 5 addr=(playno-1)*PERDURATION;
112 5 addrl=addr%256;
113 5 addrh=addr>>8;
114 5 // SMG=~(LED[playno]);
115 5 ledchange=0;
116 5 }
117 4 if(LAST)
C51 COMPILER V8.02 GRESSY 03/18/2008 04:15:30 PAGE 3
118 4 {
119 5 if(NEXT)
120 5 {
121 6 while(LAST||NEXT);
122 6 Delay(1000);
123 6 }
124 5 else
125 5 {
126 6 /* PowerUp();
127 6 Delay(5);
128 6 PowerUp();
129 6 Delay(10);
130 6 */
131 6 RECERROR=1; //OFF
132 6 SetRec(addrl,addrh);
133 6 // Delay(1);
134 6 Rec();
135 6 isrecord=1;
136 6 td=MAXRECTIME;
137 6 while(STSP&&td&&REC){if(!OUTOFRANGE) ed=20;}
138 6 while((!STSP)&&td&&REC){if(!OUTOFRANGE) ed=20;}
139 6 Stop();
140 6 RECERROR=1; //off
141 6 Bot3=1;
142 6 isrecord=0;
143 6 // StopPwrdn();
144 6 // Delay(1);
145 6 while(STSP);
146 6 }
147 5 }
148 4 ledchange=0;
149 4 if(oldNEXT&&NEXT)
150 4 {
151 5 if(playno<1) playno=1;
152 5 if(playno>=MAXNO)
153 5 {
154 6 playno=1;
155 6 RECLED=1;
156 6
157 6 BELL=1; //off
158 6 OKLED=1; //off
159 6 Top1=Top2=Top3=Top4=Top5=Top6=Bot1=Bot2=Bot3=Bot4=Bot5=1;
160 6 PLAY=1;
161 6 Delay(200);
162 6 Bot3=1;
163 6 }
164 5 else
165 5 {
166 6 playno++;
167 6 }
168 5 ledchange=1;
169 5 sd=SHOWTIME;
170 5 }
171 4 }
172 3 oldLAST=!LAST;
173 3 oldNEXT=!NEXT;
174 3 }
175 2 else
176 2 {
177 3 // StopPwrdn();
178 3 Stop();
179 3 Delay(200);
C51 COMPILER V8.02 GRESSY 03/18/2008 04:15:30 PAGE 4
180 3 // SMG=~0;
181 3 // isplay=0;
182 3 isrecord=0;ledchange=0;
183 3 RECERROR=1;
184 3 }
185 2
186 2 }
187 1 }
188 void Initial(void)
189 {
190 1 P0=P1=P2=P3=0xff;
191 1 // RECLED=1;
192 1 INPORT=0XFF;
193 1 TMOD=0X11;
194 1 TR0=1;
195 1 EX0=0;
196 1 ET0=1;
197 1 EA=1;
198 1 TL0=CYCLE % 256;
199 1 TH0=CYCLE/256;
200 1 }
201 void SendByte(char ssd)
202 {
203 1 char i;
204 1 unsigned char shd;
205 1 for(shd=1,i=0;i<8;i++,shd<<=1)
206 1 {
207 2
208 2 SCLK=0;
209 2 MOSI=shd&ssd?1:0;
210 2 SCLK=0;
211 2 SCLK=0;
212 2 SCLK=0;
213 2 SCLK=0;
214 2 SCLK=0;
215 2 SCLK=0;
216 2 SCLK=0;
217 2 SCLK=1;
218 2 SCLK=1;
219 2 SCLK=1;
220 2 SCLK=1;
221 2 SCLK=1;
222 2 SCLK=1;
223 2 SCLK=1;
224 2 }
225 1 MOSI=0;
226 1 SCLK=0;
227 1 }
228 void PowerOff (void) interrupt INT0INT
229 {
230 1 // StopPwrdn();
231 1 EA=0;
232 1 ET0=0;
233 1 P0=P1=P2=P3=0;
234 1 PCON|=0x2;
235 1 }
236 void Timems (void) interrupt TIMER0INT
237 {
238 1 #define IO1 1
239 1 #define S1 2
240 1 #define MOT 4
241 1 #define T3 8
C51 COMPILER V8.02 GRESSY 03/18/2008 04:15:30 PAGE 5
242 1 #define T2 0X10
243 1 #define T1 0X20
244 1 #define IO2 0X40
245 1 #define H1 0X80
246 1 #define IO106 0X100
247 1 #define IO104 0X200
248 1 #define IO105 0X400
249 1 #define IO103 0X1000
250 1 #define IO101 0X2000
251 1 #define IO102 0X4000
252 1
253 1 #define RECTIMETEST 500
254 1 static unsigned char ft=FLASHTIME;
255 1 static bit fd,TestBit=0;
256 1 static char InP1=0,InP2=0;
257 1 static int RecTimeTest=RECTIMETEST;
258 1 char InP,InP3;
259 1 static char OKNUM=0;
260 1 static unsigned char TestDelay;
261 1 static bit CloseTestBit;
262 1 char i;
263 1 static bit IsStart=1;
264 1 bit OnceOk;
265 1 #define ClearDisplay OnceOk
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -