-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathstuff.LST
executable file
·763 lines (740 loc) · 38 KB
/
stuff.LST
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
A51 MACRO ASSEMBLER STUFF 04/17/2016 19:01:53 PAGE 1
MACRO ASSEMBLER A51 V6.02
OBJECT MODULE PLACED IN .\stuff.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE .\stuff.asm NOMOD51 SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1 ;#include <reg932.inc>
+1 2 ;*******************************************************************
+1 3 ; P89LPC932 Special Function Registers
+1 4 ;*******************************************************************
+1 5 ;
+1 6 ;******* System ****************
00E0 +1 7 ACC DATA 0xE0
00F0 +1 8 B DATA 0xF0
0081 +1 9 SP DATA 0x81
0082 +1 10 DPL DATA 0x82
0083 +1 11 DPH DATA 0x83
00DF +1 12 RSTSRC DATA 0xDF
0087 +1 13 PCON DATA 0x87
00B5 +1 14 PCONA DATA 0xB5
00D0 +1 15 PSW DATA 0xD0
0095 +1 16 DIVM DATA 0x95
0096 +1 17 TRIM DATA 0x96
00A2 +1 18 AUXR1 DATA 0xA2
+1 19 ;------- Bit Addressable -------
00D7 +1 20 CY BIT 0xD7
00D6 +1 21 AC BIT 0xD6
00D5 +1 22 F0 BIT 0xD5
00D4 +1 23 RS1 BIT 0xD4
00D3 +1 24 RS0 BIT 0xD3
00D2 +1 25 OV BIT 0xD2
00D1 +1 26 F1 BIT 0xD1
00D0 +1 27 P BIT 0xD0
00B1 +1 28 XTAL1 BIT 0xB1
00B0 +1 29 XTAL2 BIT 0xB0
+1 30 ;******* Ports *****************
0080 +1 31 P0 DATA 0x80
0084 +1 32 P0M1 DATA 0x84
0085 +1 33 P0M2 DATA 0x85
00F6 +1 34 PT0AD DATA 0xF6
0090 +1 35 P1 DATA 0x90
0091 +1 36 P1M1 DATA 0x91
0092 +1 37 P1M2 DATA 0x92
00A0 +1 38 P2 DATA 0xA0
00A4 +1 39 P2M1 DATA 0xA4
00A5 +1 40 P2M2 DATA 0xA5
00B0 +1 41 P3 DATA 0xB0
00B1 +1 42 P3M1 DATA 0xB1
00B2 +1 43 P3M2 DATA 0xB2
+1 44 ;******* EEPROM ****************
00F1 +1 45 DEECON DATA 0xF1
00F2 +1 46 DEEDAT DATA 0xF2
00F3 +1 47 DEEADR DATA 0xF3
+1 48 ;******* Keypad ****************
0086 +1 49 KBMASK DATA 0x86
0093 +1 50 KBPATN DATA 0x93
0094 +1 51 KBCON DATA 0x94
+1 52 ;------- Bit Addressable -------
0080 +1 53 KB0 BIT 0x80
0081 +1 54 KB1 BIT 0x81
0082 +1 55 KB2 BIT 0x82
0083 +1 56 KB3 BIT 0x83
0084 +1 57 KB4 BIT 0x84
0085 +1 58 KB5 BIT 0x85
A51 MACRO ASSEMBLER STUFF 04/17/2016 19:01:53 PAGE 2
0086 +1 59 KB6 BIT 0x86
0087 +1 60 KB7 BIT 0x87
+1 61 ;******* Comparators ***********
00AC +1 62 CMP1 DATA 0xAC
00AD +1 63 CMP2 DATA 0xAD
+1 64 ;------- Bit Addressable -------
0086 +1 65 CMP1O BIT 0x86
0085 +1 66 CMPREF BIT 0x85
0084 +1 67 CIN1A BIT 0x84
0083 +1 68 CIN1B BIT 0x83
0082 +1 69 CIN2A BIT 0x82
0081 +1 70 CIN2B BIT 0x81
0080 +1 71 CMP2O BIT 0x80
+1 72 ;******* Serial Port ***********
0098 +1 73 SCON DATA 0x98
0099 +1 74 SBUF DATA 0x99
00A9 +1 75 SADDR DATA 0xA9
00B9 +1 76 SADEN DATA 0xB9
00BA +1 77 SSTAT DATA 0xBA
00BD +1 78 BRGCON DATA 0xBD
00BE +1 79 BRGR0 DATA 0xBE
00BF +1 80 BRGR1 DATA 0xBF
+1 81 ;------- Bit Addressable -------
009F +1 82 FE BIT 0x9F
009F +1 83 SM0 BIT 0x9F
009E +1 84 SM1 BIT 0x9E
009D +1 85 SM2 BIT 0x9D
009C +1 86 REN BIT 0x9C
009B +1 87 TB8 BIT 0x9B
009A +1 88 RB8 BIT 0x9A
0099 +1 89 TI BIT 0x99
0098 +1 90 RI BIT 0x98
0091 +1 91 RxD BIT 0x91
0090 +1 92 TxD BIT 0x90
+1 93 ;******* SPI *******************
00E1 +1 94 SPSTAT DATA 0xE1
00E2 +1 95 SPCTL DATA 0xE2
00E3 +1 96 SPDAT DATA 0xE3
+1 97 ;------- Bit Addressable -------
00A5 +1 98 SPICLK BIT 0xA5
00A4 +1 99 SS BIT 0xA4
00A3 +1 100 MISO BIT 0xA3
00A2 +1 101 MOSI BIT 0xA2
+1 102 ;******* IIC *******************
00D8 +1 103 I2CON DATA 0xD8
00D9 +1 104 I2STAT DATA 0xD9
00DA +1 105 I2DAT DATA 0xDA
00DB +1 106 I2ADR DATA 0xDB
00DC +1 107 I2SCLL DATA 0xDC
00DD +1 108 I2SCLH DATA 0xDD
+1 109 ;------ Bit Addressable --------
00DE +1 110 I2EN BIT 0xDE
00DD +1 111 STA BIT 0xDD
00DC +1 112 STO BIT 0xDC
00DB +1 113 SI BIT 0xDB
00DA +1 114 AA BIT 0xDA
00D8 +1 115 CRSEL BIT 0xD8
0093 +1 116 SDA BIT 0x93
0092 +1 117 SCL BIT 0x92
+1 118 ;******* Timers ****************
00CA +1 119 TPCR2L DATA 0xCA
00CB +1 120 TPCR2H DATA 0xCB
0088 +1 121 TCON DATA 0x88
0089 +1 122 TMOD DATA 0x89
008A +1 123 TL0 DATA 0x8A
008C +1 124 TH0 DATA 0x8C
A51 MACRO ASSEMBLER STUFF 04/17/2016 19:01:53 PAGE 3
008B +1 125 TL1 DATA 0x8B
008D +1 126 TH1 DATA 0x8D
00CC +1 127 TL2 DATA 0xCC
00CD +1 128 TH2 DATA 0xCD
008F +1 129 TAMOD DATA 0x8F
+1 130 ;------- Bit Addressable -------
008F +1 131 TF1 BIT 0x8F
008E +1 132 TR1 BIT 0x8E
008D +1 133 TF0 BIT 0x8D
008C +1 134 TR0 BIT 0x8C
008B +1 135 IE1 BIT 0x8B
008A +1 136 IT1 BIT 0x8A
0089 +1 137 IE0 BIT 0x89
0088 +1 138 IT0 BIT 0x88
00CF +1 139 PLLEN BIT 0xCF
00CE +1 140 HLTRN BIT 0xCE
00CD +1 141 HLTEN BIT 0xCD
00CC +1 142 ALTCD BIT 0xCC
00CB +1 143 ALTAB BIT 0xCB
00CA +1 144 TDIR2 BIT 0xCA
00C9 +1 145 TMOD21 BIT 0xC9
00C8 +1 146 TMOD20 BIT 0xC8
0087 +1 147 T1 BIT 0x87
0092 +1 148 T0 BIT 0x92
+1 149 ;******* Capture/Compare Unit **
00EA +1 150 CCCRA DATA 0xEA
00EB +1 151 CCCRB DATA 0xEB
00EC +1 152 CCCRC DATA 0xEC
00ED +1 153 CCCRD DATA 0xED
00C8 +1 154 TCR20 DATA 0xC8
00F9 +1 155 TCR21 DATA 0xF9
00C9 +1 156 TICR2 DATA 0xC9
00DE +1 157 TISE2 DATA 0xDE
00E9 +1 158 TIFR2 DATA 0xE9
00CE +1 159 TOR2L DATA 0xCE
00CF +1 160 TOR2H DATA 0xCF
+1 161 ;******* Input Capture *********
00AA +1 162 ICRAL DATA 0xAA
00AB +1 163 ICRAH DATA 0xAB
00AE +1 164 ICRBL DATA 0xAE
00AF +1 165 ICRBH DATA 0xAF
+1 166 ;------- Bit Addressable -------
00A7 +1 167 ICA BIT 0xA7
00A0 +1 168 ICB BIT 0xA0
+1 169 ;******* Output Compare ********
00EE +1 170 OCRAL DATA 0xEE
00EF +1 171 OCRAH DATA 0xEF
00FA +1 172 OCRBL DATA 0xFA
00FB +1 173 OCRBH DATA 0xFB
00FC +1 174 OCRCL DATA 0xFC
00FD +1 175 OCRCH DATA 0xFD
00FE +1 176 OCRDL DATA 0xFE
00FF +1 177 OCRDH DATA 0xFF
+1 178 ;------- Bit Addressable -------
00A1 +1 179 OCD BIT 0xA1
0097 +1 180 OCC BIT 0x97
0096 +1 181 OCB BIT 0x96
00A6 +1 182 OCA BIT 0xA6
+1 183 ;******* Watchdog **************
00C2 +1 184 WFEED1 DATA 0xC2
00C3 +1 185 WFEED2 DATA 0xC3
00C1 +1 186 WDL DATA 0xC1
00A7 +1 187 WDCON DATA 0xA7
+1 188 ;******* Real Time Clock *******
00D3 +1 189 RTCL DATA 0xD3
00D2 +1 190 RTCH DATA 0xD2
A51 MACRO ASSEMBLER STUFF 04/17/2016 19:01:53 PAGE 4
00D1 +1 191 RTCCON DATA 0xD1
+1 192 ;******* Interrupts ************
00A8 +1 193 IEN0 DATA 0xA8
00E8 +1 194 IEN1 DATA 0xE8
00B8 +1 195 IP0 DATA 0xB8
00B7 +1 196 IP0H DATA 0xB7
00F8 +1 197 IP1 DATA 0xF8
00F7 +1 198 IP1H DATA 0xF7
+1 199 ;------- Bit Addressable -------
00AF +1 200 EA BIT 0xAF
00AE +1 201 EWDRT BIT 0xAE
00AD +1 202 EBO BIT 0xAD
00AC +1 203 ES BIT 0xAC
00AC +1 204 ESR BIT 0xAC
00AB +1 205 ET1 BIT 0xAB
00AA +1 206 EX1 BIT 0xAA
00A9 +1 207 ET0 BIT 0xA9
00A8 +1 208 EX0 BIT 0xA8
00EF +1 209 EIEE BIT 0xEF
00EE +1 210 EST BIT 0xEE
00EC +1 211 ECCU BIT 0xEC
00EB +1 212 ESPI BIT 0xEB
00EA +1 213 EC BIT 0xEA
00E9 +1 214 EKBI BIT 0xE9
00E8 +1 215 EI2C BIT 0xE8
00BE +1 216 PWDRT BIT 0xBE
00BD +1 217 PB0 BIT 0xBD
00BC +1 218 PS BIT 0xBC
00BC +1 219 PSR BIT 0xBC
00BB +1 220 PT1 BIT 0xBB
00BA +1 221 PX1 BIT 0xBA
00B9 +1 222 PT0 BIT 0xB9
00B8 +1 223 PX0 BIT 0xB8
00FF +1 224 PIEE BIT 0xFF
00FE +1 225 PST BIT 0xFE
00FC +1 226 PCCU BIT 0xFC
00FB +1 227 PSPI BIT 0xFB
00FA +1 228 PCL BIT 0xFA
00F9 +1 229 PKBI BIT 0xF9
00F8 +1 230 PI2C BIT 0xF8
0095 +1 231 RST BIT 0x95
0094 +1 232 INT1 BIT 0x94
0093 +1 233 INT0 BIT 0x93
+1 234
+1 235
+1 236
+1 237
+1 238
+1 239
+1 240
+1 241
+1 242
+1 243
+1 244
+1 245
+1 246
+1 247
+1 248
249
250
---- 251 cseg at 0
0000 75A400 252 mov P2M1,#0 ; set Port 2 to bi-directional
0003 759100 253 mov P1M1,#0 ; set Port 1 to bi-directional
0006 758400 254 mov P0M1,#0 ; set Port 0 to bi-directional
0009 D2A0 255 setb P2.0 ; Set Switch 2 to not pressed
000B D2A3 256 setb P2.3 ; Set Switch 3 to not pressed
A51 MACRO ASSEMBLER STUFF 04/17/2016 19:01:53 PAGE 5
000D 758901 257 mov TMOD, #0x01
0010 258 NOT_PRESSED:
0010 3081FD 259 jnb p0.1, NOT_PRESSED ;Make sure it isn't held down
0013 30A3FA 260 jnb p2.3, NOT_PRESSED
0016 261 DELAY: ;100ms delay for input
0016 A891 262 MOV R0, 0x91
0018 263 DLOOP:
0018 A9FF 264 MOV R1, 0xFF
001A 265 DLOOP2:
001A D9FE 266 DJNZ R1, DLOOP2
001C D8FA 267 DJNZ R0, DLOOP
001E 1120 268 acall WAIT_INPUT
269
0020 270 WAIT_INPUT:
0020 308105 271 jnb P0.1, INCREMENT ;Check for Increment button, Sw2
0023 30A371 272 jnb P2.3, DECREMENT ;Check for Decrement button, Sw3
0026 1120 273 acall WAIT_INPUT ;will continue to loop here until Sw1 is pr
essed
274
0028 275 INCREMENT:
0028 11DE 276 ACALL SOUND_INC
002A 20A416 277 JB p2.4, CHECK_NEG
002D 308513 278 JNB p0.5, CHECK_NEG
0030 30A710 279 JNB p2.7, CHECK_NEG
0033 30860D 280 JNB p0.6, CHECK_NEG
0036 20840D 281 JB p0.4, INC_NEG
0039 D2A4 282 SETB p2.4
003B D284 283 SETB p0.4
003D 3120 284 ACALL DELAYDOT5S
003F 11FF 285 ACALL SOUND_DEC
0041 114F 286 ACALL DONE ;check for from -1 to 0, beep beep noise
0043 287 CHECK_NEG:
0043 308456 288 JNB p0.4, DEC_NEG ;This port being 0 indicates negative
289
0046 290 INC_NEG: ;Will increment by 1 0=ON a
nd 1=OFF
0046 D3 291 setb c ;set carry to 1 which will be used
to increment
0047 292 L1: ;All of these loops are use
d to increment
0047 4008 293 JC LED1
0049 294 L2:
0049 4015 295 JC LED2
004B 296 L3:
004B 4022 297 JC LED3
004D 298 L4:
004D 402F 299 JC LED4
004F 300 DONE:
004F 1110 301 acall NOT_PRESSED ;jumps up to delay input
0051 302 LED1:
0051 20A407 303 JB p2.4, LED1_ISOFF
0054 30A400 304 JNB p2.4, LED1_ISON
0057 305 LED1_ISON:
0057 D2A4 306 setb p2.4 ;Turning LED off
0059 1149 307 acall L2
005B 308 LED1_ISOFF:
005B C2A4 309 clr p2.4 ;Turning LED on
005D C3 310 clr c
005E 1149 311 acall L2
312 ;LED 2
0060 313 LED2:
0060 208507 314 JB p0.5, LED2_ISOFF
0063 308500 315 JNB p0.5, LED2_ISON
0066 316 LED2_ISON:
0066 D285 317 setb p0.5
A51 MACRO ASSEMBLER STUFF 04/17/2016 19:01:53 PAGE 6
0068 114B 318 acall L3 ;Turning LED off
006A 319 LED2_ISOFF:
006A C285 320 clr p0.5 ;Turning LED on
006C C3 321 clr c
006D 114B 322 acall L3
323 ;LED 3
006F 324 LED3:
006F 20A707 325 JB p2.7, LED3_ISOFF
0072 30A700 326 JNB p2.7, LED3_ISON
0075 327 LED3_ISON:
0075 D2A7 328 setb p2.7
0077 114D 329 acall L4 ;Turning LED off
0079 330 LED3_ISOFF:
0079 C2A7 331 clr p2.7 ;Turning LED on
007B C3 332 clr c
007C 114D 333 acall L4
334 ;LED 4
007E 335 LED4:
007E 208611 336 JB p0.6, LED4_ISOFF
0081 308600 337 JNB p0.6, LED4_ISON
0084 338 LED4_ISON:
0084 D286 339 setb p0.6 ;Clears all the LED's because over
15
0086 D2A4 340 setb p2.4
0088 D285 341 setb p0.5
008A D2A7 342 setb p2.7
008C D286 343 setb p0.6
008E D284 344 setb p0.4 ;rollover always turns off negative
light
345 ;ACALL BEEP_UP
0090 114F 346 acall DONE
0092 347 LED4_ISOFF:
0092 C286 348 clr p0.6 ;Turning LED on
0094 C3 349 clr c
0095 114F 350 acall DONE
351
0097 352 DECREMENT:
0097 11FF 353 ACALL SOUND_DEC
0099 3084AA 354 JNB p0.4, INC_NEG ;This port being 0 indicates negative
009C 355 DEC_NEG:
009C 30A413 356 JNB p2.4, NOT_0 ;this chunk checks for the exception
009F 308510 357 JNB p0.5, NOT_0 ;where we would be going from 0 to -1
00A2 30A70D 358 JNB p2.7, NOT_0
00A5 30860A 359 JNB p0.6, NOT_0
00A8 C2A4 360 CLR p2.4
00AA C284 361 CLR p0.4
00AC 3120 362 ACALL DELAYDOT5S
00AE 11DE 363 ACALL SOUND_INC
00B0 114F 364 ACALL DONE ;sepcial case, from 1 to 0, beep beep noise
00B2 365 NOT_0:
00B2 30A404 366 JNB p2.4, D_L1ON
00B5 C2A4 367 CLR p2.4 ;p2.4 = 0, light is on
00B7 11BD 368 ACALL D_L2 ;check light 2
00B9 369 D_L1ON:
00B9 D2A4 370 SETB p2.4
00BB 114F 371 ACALL DONE ;ACALL DOWN_SOUND ; Play a sound when exiting
372
00BD 373 D_L2:
00BD 308504 374 JNB p0.5, D_L2ON
00C0 C285 375 CLR p0.5 ;p.05 = 0, light is on
00C2 11C8 376 ACALL D_L3 ;check light 3
00C4 377 D_L2ON:
00C4 D285 378 SETB p0.5
00C6 114F 379 ACALL DONE ;ACALL DOWN_SOUND ; Play a sound when exiting
380
00C8 381 D_L3:
A51 MACRO ASSEMBLER STUFF 04/17/2016 19:01:53 PAGE 7
00C8 30A704 382 JNB p2.7, D_L3ON
00CB C2A7 383 CLR p2.7 ;p2.7 = 0, light is on
00CD 11D3 384 ACALL D_L4 ;check light 4
00CF 385 D_L3ON:
00CF D2A7 386 SETB p2.7
00D1 114F 387 ACALL DONE ;ACALL DOWN_SOUND ; Play a sound when exiting
388
00D3 389 D_L4:
00D3 308604 390 JNB p0.6, D_L4ON
00D6 C286 391 CLR p0.6 ;p0.6 = 0, light is on
00D8 114F 392 ACALL DONE ;ACALL DOWN_SOUND ; Play a sound when exiting
00DA 393 D_L4ON:
00DA D286 394 SETB p0.6
00DC 114F 395 ACALL DONE ; ACALL DOWN_SOUND ; Play a sound when exiting
396
00DE 397 SOUND_INC:
00DE 7FFF 398 MOV R7, #255
00E0 399 SINC_LOOP:
00E0 D297 400 SETB p1.7
00E2 11EB 401 ACALL DELAY500HZ
00E4 C297 402 CLR p1.7
00E6 11EB 403 ACALL DELAY500HZ
00E8 DFF6 404 DJNZ R7, SINC_LOOP
00EA 22 405 RET
406
00EB 407 DELAY500HZ:
00EB C28D 408 CLR TF0
00ED C28C 409 CLR TR0
00EF 758ACD 410 MOV TL0,#0xCD
00F2 758CFE 411 MOV TH0,#0xFE
00F5 D28C 412 SETB TR0
00F7 308DFD 413 WAIT500: JNB TF0, WAIT500
00FA C28C 414 CLR TR0
00FC C28D 415 CLR TF0
416 ;SETB p1.7
00FE 22 417 RET
418
00FF 419 SOUND_DEC:
00FF 7FFF 420 MOV R7, #255
0101 421 SDEC_LOOP:
0101 D297 422 SETB P1.7
0103 310C 423 ACALL DELAY250HZ
0105 C297 424 CLR P1.7
0107 310C 425 ACALL DELAY250HZ
0109 DFF6 426 DJNZ R7, SDEC_LOOP
010B 22 427 RET
428
010C 429 DELAY250HZ:
010C C28D 430 CLR TF0
010E C28C 431 CLR TR0
0110 758A33 432 MOV TL0,#0x33
0113 758CFB 433 MOV TH0,#0xFB
0116 D28C 434 SETB TR0
0118 308DFD 435 WAIT250: JNB TF0, WAIT250
011B C28C 436 CLR TR0
011D C28D 437 CLR TF0
438 ;SETB p1.7
011F 22 439 RET
440
0120 441 DELAYDOT5S:
0120 7F05 442 MOV R7, #5
0122 443 DELDOT5SINNER:
0122 C28D 444 CLR TF0
0124 C28C 445 CLR TR0
0126 758AFE 446 MOV TL0,#0xFE
0129 758C0F 447 MOV TH0,#0x0F
A51 MACRO ASSEMBLER STUFF 04/17/2016 19:01:53 PAGE 8
012C D28C 448 SETB TR0
012E 308DFD 449 WAIT5S: JNB TF0, WAIT5S
0131 C28C 450 CLR TR0
0133 C28D 451 CLR TF0
452 ;SETB p1.7
0135 DFEB 453 DJNZ R7, DELDOT5SINNER
0137 22 454 RET
455
456 ;REST:
457 ; mov R0, #1
458 ; mov R3, #0x00 ; TIMER 0 re-load value is set to minimum
459 ; mov R4, #0x00 ; possible value.
460 ; acall stall
461 ; ret
462
463
464 END
A51 MACRO ASSEMBLER STUFF 04/17/2016 19:01:53 PAGE 9
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
AA . . . . . . . . B ADDR 00D8H.2 A
AC . . . . . . . . B ADDR 00D0H.6 A
ACC. . . . . . . . D ADDR 00E0H A
ALTAB. . . . . . . B ADDR 00C8H.3 A
ALTCD. . . . . . . B ADDR 00C8H.4 A
AUXR1. . . . . . . D ADDR 00A2H A
B. . . . . . . . . D ADDR 00F0H A
BRGCON . . . . . . D ADDR 00BDH A
BRGR0. . . . . . . D ADDR 00BEH A
BRGR1. . . . . . . D ADDR 00BFH A
CCCRA. . . . . . . D ADDR 00EAH A
CCCRB. . . . . . . D ADDR 00EBH A
CCCRC. . . . . . . D ADDR 00ECH A
CCCRD. . . . . . . D ADDR 00EDH A
CHECK_NEG. . . . . C ADDR 0043H A
CIN1A. . . . . . . B ADDR 0080H.4 A
CIN1B. . . . . . . B ADDR 0080H.3 A
CIN2A. . . . . . . B ADDR 0080H.2 A
CIN2B. . . . . . . B ADDR 0080H.1 A
CMP1 . . . . . . . D ADDR 00ACH A
CMP1O. . . . . . . B ADDR 0080H.6 A
CMP2 . . . . . . . D ADDR 00ADH A
CMP2O. . . . . . . B ADDR 0080H.0 A
CMPREF . . . . . . B ADDR 0080H.5 A
CRSEL. . . . . . . B ADDR 00D8H.0 A
CY . . . . . . . . B ADDR 00D0H.7 A
DECREMENT. . . . . C ADDR 0097H A
DEC_NEG. . . . . . C ADDR 009CH A
DEEADR . . . . . . D ADDR 00F3H A
DEECON . . . . . . D ADDR 00F1H A
DEEDAT . . . . . . D ADDR 00F2H A
DELAY. . . . . . . C ADDR 0016H A
DELAY250HZ . . . . C ADDR 010CH A
DELAY500HZ . . . . C ADDR 00EBH A
DELAYDOT5S . . . . C ADDR 0120H A
DELDOT5SINNER. . . C ADDR 0122H A
DIVM . . . . . . . D ADDR 0095H A
DLOOP. . . . . . . C ADDR 0018H A
DLOOP2 . . . . . . C ADDR 001AH A
DONE . . . . . . . C ADDR 004FH A
DPH. . . . . . . . D ADDR 0083H A
DPL. . . . . . . . D ADDR 0082H A
D_L1ON . . . . . . C ADDR 00B9H A
D_L2 . . . . . . . C ADDR 00BDH A
D_L2ON . . . . . . C ADDR 00C4H A
D_L3 . . . . . . . C ADDR 00C8H A
D_L3ON . . . . . . C ADDR 00CFH A
D_L4 . . . . . . . C ADDR 00D3H A
D_L4ON . . . . . . C ADDR 00DAH A
EA . . . . . . . . B ADDR 00A8H.7 A
EBO. . . . . . . . B ADDR 00A8H.5 A
EC . . . . . . . . B ADDR 00E8H.2 A
ECCU . . . . . . . B ADDR 00E8H.4 A
EI2C . . . . . . . B ADDR 00E8H.0 A
EIEE . . . . . . . B ADDR 00E8H.7 A
EKBI . . . . . . . B ADDR 00E8H.1 A
ES . . . . . . . . B ADDR 00A8H.4 A
ESPI . . . . . . . B ADDR 00E8H.3 A
ESR. . . . . . . . B ADDR 00A8H.4 A
EST. . . . . . . . B ADDR 00E8H.6 A
A51 MACRO ASSEMBLER STUFF 04/17/2016 19:01:53 PAGE 10
ET0. . . . . . . . B ADDR 00A8H.1 A
ET1. . . . . . . . B ADDR 00A8H.3 A
EWDRT. . . . . . . B ADDR 00A8H.6 A
EX0. . . . . . . . B ADDR 00A8H.0 A
EX1. . . . . . . . B ADDR 00A8H.2 A
F0 . . . . . . . . B ADDR 00D0H.5 A
F1 . . . . . . . . B ADDR 00D0H.1 A
FE . . . . . . . . B ADDR 0098H.7 A
HLTEN. . . . . . . B ADDR 00C8H.5 A
HLTRN. . . . . . . B ADDR 00C8H.6 A
I2ADR. . . . . . . D ADDR 00DBH A
I2CON. . . . . . . D ADDR 00D8H A
I2DAT. . . . . . . D ADDR 00DAH A
I2EN . . . . . . . B ADDR 00D8H.6 A
I2SCLH . . . . . . D ADDR 00DDH A
I2SCLL . . . . . . D ADDR 00DCH A
I2STAT . . . . . . D ADDR 00D9H A
ICA. . . . . . . . B ADDR 00A0H.7 A
ICB. . . . . . . . B ADDR 00A0H.0 A
ICRAH. . . . . . . D ADDR 00ABH A
ICRAL. . . . . . . D ADDR 00AAH A
ICRBH. . . . . . . D ADDR 00AFH A
ICRBL. . . . . . . D ADDR 00AEH A
IE0. . . . . . . . B ADDR 0088H.1 A
IE1. . . . . . . . B ADDR 0088H.3 A
IEN0 . . . . . . . D ADDR 00A8H A
IEN1 . . . . . . . D ADDR 00E8H A
INCREMENT. . . . . C ADDR 0028H A
INC_NEG. . . . . . C ADDR 0046H A
INT0 . . . . . . . B ADDR 0090H.3 A
INT1 . . . . . . . B ADDR 0090H.4 A
IP0. . . . . . . . D ADDR 00B8H A
IP0H . . . . . . . D ADDR 00B7H A
IP1. . . . . . . . D ADDR 00F8H A
IP1H . . . . . . . D ADDR 00F7H A
IT0. . . . . . . . B ADDR 0088H.0 A
IT1. . . . . . . . B ADDR 0088H.2 A
KB0. . . . . . . . B ADDR 0080H.0 A
KB1. . . . . . . . B ADDR 0080H.1 A
KB2. . . . . . . . B ADDR 0080H.2 A
KB3. . . . . . . . B ADDR 0080H.3 A
KB4. . . . . . . . B ADDR 0080H.4 A
KB5. . . . . . . . B ADDR 0080H.5 A
KB6. . . . . . . . B ADDR 0080H.6 A
KB7. . . . . . . . B ADDR 0080H.7 A
KBCON. . . . . . . D ADDR 0094H A
KBMASK . . . . . . D ADDR 0086H A
KBPATN . . . . . . D ADDR 0093H A
L1 . . . . . . . . C ADDR 0047H A
L2 . . . . . . . . C ADDR 0049H A
L3 . . . . . . . . C ADDR 004BH A
L4 . . . . . . . . C ADDR 004DH A
LED1 . . . . . . . C ADDR 0051H A
LED1_ISOFF . . . . C ADDR 005BH A
LED1_ISON. . . . . C ADDR 0057H A
LED2 . . . . . . . C ADDR 0060H A
LED2_ISOFF . . . . C ADDR 006AH A
LED2_ISON. . . . . C ADDR 0066H A
LED3 . . . . . . . C ADDR 006FH A
LED3_ISOFF . . . . C ADDR 0079H A
LED3_ISON. . . . . C ADDR 0075H A
LED4 . . . . . . . C ADDR 007EH A
LED4_ISOFF . . . . C ADDR 0092H A
LED4_ISON. . . . . C ADDR 0084H A
MISO . . . . . . . B ADDR 00A0H.3 A
MOSI . . . . . . . B ADDR 00A0H.2 A
A51 MACRO ASSEMBLER STUFF 04/17/2016 19:01:53 PAGE 11
NOT_0. . . . . . . C ADDR 00B2H A
NOT_PRESSED. . . . C ADDR 0010H A
OCA. . . . . . . . B ADDR 00A0H.6 A
OCB. . . . . . . . B ADDR 0090H.6 A
OCC. . . . . . . . B ADDR 0090H.7 A
OCD. . . . . . . . B ADDR 00A0H.1 A
OCRAH. . . . . . . D ADDR 00EFH A
OCRAL. . . . . . . D ADDR 00EEH A
OCRBH. . . . . . . D ADDR 00FBH A
OCRBL. . . . . . . D ADDR 00FAH A
OCRCH. . . . . . . D ADDR 00FDH A
OCRCL. . . . . . . D ADDR 00FCH A
OCRDH. . . . . . . D ADDR 00FFH A
OCRDL. . . . . . . D ADDR 00FEH A
OV . . . . . . . . B ADDR 00D0H.2 A
P. . . . . . . . . B ADDR 00D0H.0 A
P0 . . . . . . . . D ADDR 0080H A
P0M1 . . . . . . . D ADDR 0084H A
P0M2 . . . . . . . D ADDR 0085H A
P1 . . . . . . . . D ADDR 0090H A
P1M1 . . . . . . . D ADDR 0091H A
P1M2 . . . . . . . D ADDR 0092H A
P2 . . . . . . . . D ADDR 00A0H A
P2M1 . . . . . . . D ADDR 00A4H A
P2M2 . . . . . . . D ADDR 00A5H A
P3 . . . . . . . . D ADDR 00B0H A
P3M1 . . . . . . . D ADDR 00B1H A
P3M2 . . . . . . . D ADDR 00B2H A
PB0. . . . . . . . B ADDR 00B8H.5 A
PCCU . . . . . . . B ADDR 00F8H.4 A
PCL. . . . . . . . B ADDR 00F8H.2 A
PCON . . . . . . . D ADDR 0087H A
PCONA. . . . . . . D ADDR 00B5H A
PI2C . . . . . . . B ADDR 00F8H.0 A
PIEE . . . . . . . B ADDR 00F8H.7 A
PKBI . . . . . . . B ADDR 00F8H.1 A
PLLEN. . . . . . . B ADDR 00C8H.7 A
PS . . . . . . . . B ADDR 00B8H.4 A
PSPI . . . . . . . B ADDR 00F8H.3 A
PSR. . . . . . . . B ADDR 00B8H.4 A
PST. . . . . . . . B ADDR 00F8H.6 A
PSW. . . . . . . . D ADDR 00D0H A
PT0. . . . . . . . B ADDR 00B8H.1 A
PT0AD. . . . . . . D ADDR 00F6H A
PT1. . . . . . . . B ADDR 00B8H.3 A
PWDRT. . . . . . . B ADDR 00B8H.6 A
PX0. . . . . . . . B ADDR 00B8H.0 A
PX1. . . . . . . . B ADDR 00B8H.2 A
RB8. . . . . . . . B ADDR 0098H.2 A
REN. . . . . . . . B ADDR 0098H.4 A
RI . . . . . . . . B ADDR 0098H.0 A
RS0. . . . . . . . B ADDR 00D0H.3 A
RS1. . . . . . . . B ADDR 00D0H.4 A
RST. . . . . . . . B ADDR 0090H.5 A
RSTSRC . . . . . . D ADDR 00DFH A
RTCCON . . . . . . D ADDR 00D1H A
RTCH . . . . . . . D ADDR 00D2H A
RTCL . . . . . . . D ADDR 00D3H A
RXD. . . . . . . . B ADDR 0090H.1 A
SADDR. . . . . . . D ADDR 00A9H A
SADEN. . . . . . . D ADDR 00B9H A
SBUF . . . . . . . D ADDR 0099H A
SCL. . . . . . . . B ADDR 0090H.2 A
SCON . . . . . . . D ADDR 0098H A
SDA. . . . . . . . B ADDR 0090H.3 A
SDEC_LOOP. . . . . C ADDR 0101H A
A51 MACRO ASSEMBLER STUFF 04/17/2016 19:01:53 PAGE 12
SI . . . . . . . . B ADDR 00D8H.3 A
SINC_LOOP. . . . . C ADDR 00E0H A
SM0. . . . . . . . B ADDR 0098H.7 A
SM1. . . . . . . . B ADDR 0098H.6 A
SM2. . . . . . . . B ADDR 0098H.5 A
SOUND_DEC. . . . . C ADDR 00FFH A
SOUND_INC. . . . . C ADDR 00DEH A
SP . . . . . . . . D ADDR 0081H A
SPCTL. . . . . . . D ADDR 00E2H A
SPDAT. . . . . . . D ADDR 00E3H A
SPICLK . . . . . . B ADDR 00A0H.5 A
SPSTAT . . . . . . D ADDR 00E1H A
SS . . . . . . . . B ADDR 00A0H.4 A
SSTAT. . . . . . . D ADDR 00BAH A
STA. . . . . . . . B ADDR 00D8H.5 A
STO. . . . . . . . B ADDR 00D8H.4 A
T0 . . . . . . . . B ADDR 0090H.2 A
T1 . . . . . . . . B ADDR 0080H.7 A
TAMOD. . . . . . . D ADDR 008FH A
TB8. . . . . . . . B ADDR 0098H.3 A
TCON . . . . . . . D ADDR 0088H A
TCR20. . . . . . . D ADDR 00C8H A
TCR21. . . . . . . D ADDR 00F9H A
TDIR2. . . . . . . B ADDR 00C8H.2 A
TF0. . . . . . . . B ADDR 0088H.5 A
TF1. . . . . . . . B ADDR 0088H.7 A
TH0. . . . . . . . D ADDR 008CH A
TH1. . . . . . . . D ADDR 008DH A
TH2. . . . . . . . D ADDR 00CDH A
TI . . . . . . . . B ADDR 0098H.1 A
TICR2. . . . . . . D ADDR 00C9H A
TIFR2. . . . . . . D ADDR 00E9H A
TISE2. . . . . . . D ADDR 00DEH A
TL0. . . . . . . . D ADDR 008AH A
TL1. . . . . . . . D ADDR 008BH A
TL2. . . . . . . . D ADDR 00CCH A
TMOD . . . . . . . D ADDR 0089H A
TMOD20 . . . . . . B ADDR 00C8H.0 A
TMOD21 . . . . . . B ADDR 00C8H.1 A
TOR2H. . . . . . . D ADDR 00CFH A
TOR2L. . . . . . . D ADDR 00CEH A
TPCR2H . . . . . . D ADDR 00CBH A
TPCR2L . . . . . . D ADDR 00CAH A
TR0. . . . . . . . B ADDR 0088H.4 A
TR1. . . . . . . . B ADDR 0088H.6 A
TRIM . . . . . . . D ADDR 0096H A
TXD. . . . . . . . B ADDR 0090H.0 A
WAIT250. . . . . . C ADDR 0118H A
WAIT500. . . . . . C ADDR 00F7H A
WAIT5S . . . . . . C ADDR 012EH A
WAIT_INPUT . . . . C ADDR 0020H A
WDCON. . . . . . . D ADDR 00A7H A
WDL. . . . . . . . D ADDR 00C1H A
WFEED1 . . . . . . D ADDR 00C2H A
WFEED2 . . . . . . D ADDR 00C3H A
XTAL1. . . . . . . B ADDR 00B0H.1 A
XTAL2. . . . . . . B ADDR 00B0H.0 A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)