-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsourcecode.lst
2712 lines (2712 loc) · 137 KB
/
sourcecode.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
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
0000 1 ;--------------------------------------------------------
0000 2 ; File Created by C51
0000 3 ; Version 1.0.0 #1170 (Feb 16 2022) (MSVC)
0000 4 ; This file was generated Thu Mar 07 06:29:01 2024
0000 5 ;--------------------------------------------------------
5 $name sourcecode
6 $optc51 --model-small
7 $printf_float
0000 9 R_DSEG segment data
0000 10 R_CSEG segment code
0000 11 R_BSEG segment bit
0000 12 R_XSEG segment xdata
0000 13 R_PSEG segment xdata
0000 14 R_ISEG segment idata
0000 15 R_OSEG segment data overlay
0000 16 BIT_BANK segment data overlay
0000 17 R_HOME segment code
0000 18 R_GSINIT segment code
0000 19 R_IXSEG segment xdata
0000 20 R_CONST segment code
0000 21 R_XINIT segment code
0000 22 R_DINIT segment code
0000 23
0000 24 ;--------------------------------------------------------
0000 25 ; Public variables in this module
0000 26 ;--------------------------------------------------------
0000 27 public _InitPinADC_PARM_2
0000 28 public _main
0000 29 public _LCDprint2
0000 30 public _LCDprint
0000 31 public _LCD_4BIT
0000 32 public _WriteCommand
0000 33 public _WriteData
0000 34 public _LCD_byte
0000 35 public _LCD_pulse
0000 36 public _TIMER0_Init
0000 37 public _Volts_at_Pin
0000 38 public _ADC_at_Pin
0000 39 public _InitPinADC
0000 40 public _waitms
0000 41 public _Timer3us
0000 42 public _InitADC
0000 43 public __c51_external_startup
0000 44 public _LCDprint_PARM_3
0000 45 public _LCDprint2_PARM_3
0000 46 public _LCDprint2_PARM_2
0000 47 public _LCDprint_PARM_2
0000 48 public _v2
0000 49 public _v1
0000 50 public _v2_rms
0000 51 public _v1_rms
0000 52 public _overflow_count
0000 53 ;--------------------------------------------------------
0000 54 ; Special Function Registers
0000 55 ;--------------------------------------------------------
0000 56 _ACC DATA 0xe0
0000 57 _ADC0ASAH DATA 0xb6
0000 58 _ADC0ASAL DATA 0xb5
0000 59 _ADC0ASCF DATA 0xa1
0000 60 _ADC0ASCT DATA 0xc7
0000 61 _ADC0CF0 DATA 0xbc
0000 62 _ADC0CF1 DATA 0xb9
0000 63 _ADC0CF2 DATA 0xdf
0000 64 _ADC0CN0 DATA 0xe8
0000 65 _ADC0CN1 DATA 0xb2
0000 66 _ADC0CN2 DATA 0xb3
0000 67 _ADC0GTH DATA 0xc4
0000 68 _ADC0GTL DATA 0xc3
0000 69 _ADC0H DATA 0xbe
0000 70 _ADC0L DATA 0xbd
0000 71 _ADC0LTH DATA 0xc6
0000 72 _ADC0LTL DATA 0xc5
0000 73 _ADC0MX DATA 0xbb
0000 74 _B DATA 0xf0
0000 75 _CKCON0 DATA 0x8e
0000 76 _CKCON1 DATA 0xa6
0000 77 _CLEN0 DATA 0xc6
0000 78 _CLIE0 DATA 0xc7
0000 79 _CLIF0 DATA 0xe8
0000 80 _CLKSEL DATA 0xa9
0000 81 _CLOUT0 DATA 0xd1
0000 82 _CLU0CF DATA 0xb1
0000 83 _CLU0FN DATA 0xaf
0000 84 _CLU0MX DATA 0x84
0000 85 _CLU1CF DATA 0xb3
0000 86 _CLU1FN DATA 0xb2
0000 87 _CLU1MX DATA 0x85
0000 88 _CLU2CF DATA 0xb6
0000 89 _CLU2FN DATA 0xb5
0000 90 _CLU2MX DATA 0x91
0000 91 _CLU3CF DATA 0xbf
0000 92 _CLU3FN DATA 0xbe
0000 93 _CLU3MX DATA 0xae
0000 94 _CMP0CN0 DATA 0x9b
0000 95 _CMP0CN1 DATA 0x99
0000 96 _CMP0MD DATA 0x9d
0000 97 _CMP0MX DATA 0x9f
0000 98 _CMP1CN0 DATA 0xbf
0000 99 _CMP1CN1 DATA 0xac
0000 100 _CMP1MD DATA 0xab
0000 101 _CMP1MX DATA 0xaa
0000 102 _CRC0CN0 DATA 0xce
0000 103 _CRC0CN1 DATA 0x86
0000 104 _CRC0CNT DATA 0xd3
0000 105 _CRC0DAT DATA 0xcb
0000 106 _CRC0FLIP DATA 0xcf
0000 107 _CRC0IN DATA 0xca
0000 108 _CRC0ST DATA 0xd2
0000 109 _DAC0CF0 DATA 0x91
0000 110 _DAC0CF1 DATA 0x92
0000 111 _DAC0H DATA 0x85
0000 112 _DAC0L DATA 0x84
0000 113 _DAC1CF0 DATA 0x93
0000 114 _DAC1CF1 DATA 0x94
0000 115 _DAC1H DATA 0x8a
0000 116 _DAC1L DATA 0x89
0000 117 _DAC2CF0 DATA 0x95
0000 118 _DAC2CF1 DATA 0x96
0000 119 _DAC2H DATA 0x8c
0000 120 _DAC2L DATA 0x8b
0000 121 _DAC3CF0 DATA 0x9a
0000 122 _DAC3CF1 DATA 0x9c
0000 123 _DAC3H DATA 0x8e
0000 124 _DAC3L DATA 0x8d
0000 125 _DACGCF0 DATA 0x88
0000 126 _DACGCF1 DATA 0x98
0000 127 _DACGCF2 DATA 0xa2
0000 128 _DERIVID DATA 0xad
0000 129 _DEVICEID DATA 0xb5
0000 130 _DPH DATA 0x83
0000 131 _DPL DATA 0x82
0000 132 _EIE1 DATA 0xe6
0000 133 _EIE2 DATA 0xf3
0000 134 _EIP1 DATA 0xbb
0000 135 _EIP1H DATA 0xee
0000 136 _EIP2 DATA 0xed
0000 137 _EIP2H DATA 0xf6
0000 138 _EMI0CN DATA 0xe7
0000 139 _FLKEY DATA 0xb7
0000 140 _HFO0CAL DATA 0xc7
0000 141 _HFO1CAL DATA 0xd6
0000 142 _HFOCN DATA 0xef
0000 143 _I2C0ADM DATA 0xff
0000 144 _I2C0CN0 DATA 0xba
0000 145 _I2C0DIN DATA 0xbc
0000 146 _I2C0DOUT DATA 0xbb
0000 147 _I2C0FCN0 DATA 0xad
0000 148 _I2C0FCN1 DATA 0xab
0000 149 _I2C0FCT DATA 0xf5
0000 150 _I2C0SLAD DATA 0xbd
0000 151 _I2C0STAT DATA 0xb9
0000 152 _IE DATA 0xa8
0000 153 _IP DATA 0xb8
0000 154 _IPH DATA 0xf2
0000 155 _IT01CF DATA 0xe4
0000 156 _LFO0CN DATA 0xb1
0000 157 _P0 DATA 0x80
0000 158 _P0MASK DATA 0xfe
0000 159 _P0MAT DATA 0xfd
0000 160 _P0MDIN DATA 0xf1
0000 161 _P0MDOUT DATA 0xa4
0000 162 _P0SKIP DATA 0xd4
0000 163 _P1 DATA 0x90
0000 164 _P1MASK DATA 0xee
0000 165 _P1MAT DATA 0xed
0000 166 _P1MDIN DATA 0xf2
0000 167 _P1MDOUT DATA 0xa5
0000 168 _P1SKIP DATA 0xd5
0000 169 _P2 DATA 0xa0
0000 170 _P2MASK DATA 0xfc
0000 171 _P2MAT DATA 0xfb
0000 172 _P2MDIN DATA 0xf3
0000 173 _P2MDOUT DATA 0xa6
0000 174 _P2SKIP DATA 0xcc
0000 175 _P3 DATA 0xb0
0000 176 _P3MDIN DATA 0xf4
0000 177 _P3MDOUT DATA 0x9c
0000 178 _PCA0CENT DATA 0x9e
0000 179 _PCA0CLR DATA 0x9c
0000 180 _PCA0CN0 DATA 0xd8
0000 181 _PCA0CPH0 DATA 0xfc
0000 182 _PCA0CPH1 DATA 0xea
0000 183 _PCA0CPH2 DATA 0xec
0000 184 _PCA0CPH3 DATA 0xf5
0000 185 _PCA0CPH4 DATA 0x85
0000 186 _PCA0CPH5 DATA 0xde
0000 187 _PCA0CPL0 DATA 0xfb
0000 188 _PCA0CPL1 DATA 0xe9
0000 189 _PCA0CPL2 DATA 0xeb
0000 190 _PCA0CPL3 DATA 0xf4
0000 191 _PCA0CPL4 DATA 0x84
0000 192 _PCA0CPL5 DATA 0xdd
0000 193 _PCA0CPM0 DATA 0xda
0000 194 _PCA0CPM1 DATA 0xdb
0000 195 _PCA0CPM2 DATA 0xdc
0000 196 _PCA0CPM3 DATA 0xae
0000 197 _PCA0CPM4 DATA 0xaf
0000 198 _PCA0CPM5 DATA 0xcc
0000 199 _PCA0H DATA 0xfa
0000 200 _PCA0L DATA 0xf9
0000 201 _PCA0MD DATA 0xd9
0000 202 _PCA0POL DATA 0x96
0000 203 _PCA0PWM DATA 0xf7
0000 204 _PCON0 DATA 0x87
0000 205 _PCON1 DATA 0xcd
0000 206 _PFE0CN DATA 0xc1
0000 207 _PRTDRV DATA 0xf6
0000 208 _PSCTL DATA 0x8f
0000 209 _PSTAT0 DATA 0xaa
0000 210 _PSW DATA 0xd0
0000 211 _REF0CN DATA 0xd1
0000 212 _REG0CN DATA 0xc9
0000 213 _REVID DATA 0xb6
0000 214 _RSTSRC DATA 0xef
0000 215 _SBCON1 DATA 0x94
0000 216 _SBRLH1 DATA 0x96
0000 217 _SBRLL1 DATA 0x95
0000 218 _SBUF DATA 0x99
0000 219 _SBUF0 DATA 0x99
0000 220 _SBUF1 DATA 0x92
0000 221 _SCON DATA 0x98
0000 222 _SCON0 DATA 0x98
0000 223 _SCON1 DATA 0xc8
0000 224 _SFRPAGE DATA 0xa7
0000 225 _SFRPGCN DATA 0xbc
0000 226 _SFRSTACK DATA 0xd7
0000 227 _SMB0ADM DATA 0xd6
0000 228 _SMB0ADR DATA 0xd7
0000 229 _SMB0CF DATA 0xc1
0000 230 _SMB0CN0 DATA 0xc0
0000 231 _SMB0DAT DATA 0xc2
0000 232 _SMB0FCN0 DATA 0xc3
0000 233 _SMB0FCN1 DATA 0xc4
0000 234 _SMB0FCT DATA 0xef
0000 235 _SMB0RXLN DATA 0xc5
0000 236 _SMB0TC DATA 0xac
0000 237 _SMOD1 DATA 0x93
0000 238 _SP DATA 0x81
0000 239 _SPI0CFG DATA 0xa1
0000 240 _SPI0CKR DATA 0xa2
0000 241 _SPI0CN0 DATA 0xf8
0000 242 _SPI0DAT DATA 0xa3
0000 243 _SPI0FCN0 DATA 0x9a
0000 244 _SPI0FCN1 DATA 0x9b
0000 245 _SPI0FCT DATA 0xf7
0000 246 _SPI0PCF DATA 0xdf
0000 247 _TCON DATA 0x88
0000 248 _TH0 DATA 0x8c
0000 249 _TH1 DATA 0x8d
0000 250 _TL0 DATA 0x8a
0000 251 _TL1 DATA 0x8b
0000 252 _TMOD DATA 0x89
0000 253 _TMR2CN0 DATA 0xc8
0000 254 _TMR2CN1 DATA 0xfd
0000 255 _TMR2H DATA 0xcf
0000 256 _TMR2L DATA 0xce
0000 257 _TMR2RLH DATA 0xcb
0000 258 _TMR2RLL DATA 0xca
0000 259 _TMR3CN0 DATA 0x91
0000 260 _TMR3CN1 DATA 0xfe
0000 261 _TMR3H DATA 0x95
0000 262 _TMR3L DATA 0x94
0000 263 _TMR3RLH DATA 0x93
0000 264 _TMR3RLL DATA 0x92
0000 265 _TMR4CN0 DATA 0x98
0000 266 _TMR4CN1 DATA 0xff
0000 267 _TMR4H DATA 0xa5
0000 268 _TMR4L DATA 0xa4
0000 269 _TMR4RLH DATA 0xa3
0000 270 _TMR4RLL DATA 0xa2
0000 271 _TMR5CN0 DATA 0xc0
0000 272 _TMR5CN1 DATA 0xf1
0000 273 _TMR5H DATA 0xd5
0000 274 _TMR5L DATA 0xd4
0000 275 _TMR5RLH DATA 0xd3
0000 276 _TMR5RLL DATA 0xd2
0000 277 _UART0PCF DATA 0xd9
0000 278 _UART1FCN0 DATA 0x9d
0000 279 _UART1FCN1 DATA 0xd8
0000 280 _UART1FCT DATA 0xfa
0000 281 _UART1LIN DATA 0x9e
0000 282 _UART1PCF DATA 0xda
0000 283 _VDM0CN DATA 0xff
0000 284 _WDTCN DATA 0x97
0000 285 _XBR0 DATA 0xe1
0000 286 _XBR1 DATA 0xe2
0000 287 _XBR2 DATA 0xe3
0000 288 _XOSC0CN DATA 0x86
0000 289 _DPTR DATA 0x8382
0000 290 _TMR2RL DATA 0xcbca
0000 291 _TMR3RL DATA 0x9392
0000 292 _TMR4RL DATA 0xa3a2
0000 293 _TMR5RL DATA 0xd3d2
0000 294 _TMR0 DATA 0x8c8a
0000 295 _TMR1 DATA 0x8d8b
0000 296 _TMR2 DATA 0xcfce
0000 297 _TMR3 DATA 0x9594
0000 298 _TMR4 DATA 0xa5a4
0000 299 _TMR5 DATA 0xd5d4
0000 300 _SBRL1 DATA 0x9695
0000 301 _PCA0 DATA 0xfaf9
0000 302 _PCA0CP0 DATA 0xfcfb
0000 303 _PCA0CP1 DATA 0xeae9
0000 304 _PCA0CP2 DATA 0xeceb
0000 305 _PCA0CP3 DATA 0xf5f4
0000 306 _PCA0CP4 DATA 0x8584
0000 307 _PCA0CP5 DATA 0xdedd
0000 308 _ADC0ASA DATA 0xb6b5
0000 309 _ADC0GT DATA 0xc4c3
0000 310 _ADC0 DATA 0xbebd
0000 311 _ADC0LT DATA 0xc6c5
0000 312 _DAC0 DATA 0x8584
0000 313 _DAC1 DATA 0x8a89
0000 314 _DAC2 DATA 0x8c8b
0000 315 _DAC3 DATA 0x8e8d
0000 316 ;--------------------------------------------------------
0000 317 ; special function bits
0000 318 ;--------------------------------------------------------
0000 319 _ACC_0 BIT 0xe0
0000 320 _ACC_1 BIT 0xe1
0000 321 _ACC_2 BIT 0xe2
0000 322 _ACC_3 BIT 0xe3
0000 323 _ACC_4 BIT 0xe4
0000 324 _ACC_5 BIT 0xe5
0000 325 _ACC_6 BIT 0xe6
0000 326 _ACC_7 BIT 0xe7
0000 327 _TEMPE BIT 0xe8
0000 328 _ADGN0 BIT 0xe9
0000 329 _ADGN1 BIT 0xea
0000 330 _ADWINT BIT 0xeb
0000 331 _ADBUSY BIT 0xec
0000 332 _ADINT BIT 0xed
0000 333 _IPOEN BIT 0xee
0000 334 _ADEN BIT 0xef
0000 335 _B_0 BIT 0xf0
0000 336 _B_1 BIT 0xf1
0000 337 _B_2 BIT 0xf2
0000 338 _B_3 BIT 0xf3
0000 339 _B_4 BIT 0xf4
0000 340 _B_5 BIT 0xf5
0000 341 _B_6 BIT 0xf6
0000 342 _B_7 BIT 0xf7
0000 343 _C0FIF BIT 0xe8
0000 344 _C0RIF BIT 0xe9
0000 345 _C1FIF BIT 0xea
0000 346 _C1RIF BIT 0xeb
0000 347 _C2FIF BIT 0xec
0000 348 _C2RIF BIT 0xed
0000 349 _C3FIF BIT 0xee
0000 350 _C3RIF BIT 0xef
0000 351 _D1SRC0 BIT 0x88
0000 352 _D1SRC1 BIT 0x89
0000 353 _D1AMEN BIT 0x8a
0000 354 _D01REFSL BIT 0x8b
0000 355 _D3SRC0 BIT 0x8c
0000 356 _D3SRC1 BIT 0x8d
0000 357 _D3AMEN BIT 0x8e
0000 358 _D23REFSL BIT 0x8f
0000 359 _D0UDIS BIT 0x98
0000 360 _D1UDIS BIT 0x99
0000 361 _D2UDIS BIT 0x9a
0000 362 _D3UDIS BIT 0x9b
0000 363 _EX0 BIT 0xa8
0000 364 _ET0 BIT 0xa9
0000 365 _EX1 BIT 0xaa
0000 366 _ET1 BIT 0xab
0000 367 _ES0 BIT 0xac
0000 368 _ET2 BIT 0xad
0000 369 _ESPI0 BIT 0xae
0000 370 _EA BIT 0xaf
0000 371 _PX0 BIT 0xb8
0000 372 _PT0 BIT 0xb9
0000 373 _PX1 BIT 0xba
0000 374 _PT1 BIT 0xbb
0000 375 _PS0 BIT 0xbc
0000 376 _PT2 BIT 0xbd
0000 377 _PSPI0 BIT 0xbe
0000 378 _P0_0 BIT 0x80
0000 379 _P0_1 BIT 0x81
0000 380 _P0_2 BIT 0x82
0000 381 _P0_3 BIT 0x83
0000 382 _P0_4 BIT 0x84
0000 383 _P0_5 BIT 0x85
0000 384 _P0_6 BIT 0x86
0000 385 _P0_7 BIT 0x87
0000 386 _P1_0 BIT 0x90
0000 387 _P1_1 BIT 0x91
0000 388 _P1_2 BIT 0x92
0000 389 _P1_3 BIT 0x93
0000 390 _P1_4 BIT 0x94
0000 391 _P1_5 BIT 0x95
0000 392 _P1_6 BIT 0x96
0000 393 _P1_7 BIT 0x97
0000 394 _P2_0 BIT 0xa0
0000 395 _P2_1 BIT 0xa1
0000 396 _P2_2 BIT 0xa2
0000 397 _P2_3 BIT 0xa3
0000 398 _P2_4 BIT 0xa4
0000 399 _P2_5 BIT 0xa5
0000 400 _P2_6 BIT 0xa6
0000 401 _P3_0 BIT 0xb0
0000 402 _P3_1 BIT 0xb1
0000 403 _P3_2 BIT 0xb2
0000 404 _P3_3 BIT 0xb3
0000 405 _P3_4 BIT 0xb4
0000 406 _P3_7 BIT 0xb7
0000 407 _CCF0 BIT 0xd8
0000 408 _CCF1 BIT 0xd9
0000 409 _CCF2 BIT 0xda
0000 410 _CCF3 BIT 0xdb
0000 411 _CCF4 BIT 0xdc
0000 412 _CCF5 BIT 0xdd
0000 413 _CR BIT 0xde
0000 414 _CF BIT 0xdf
0000 415 _PARITY BIT 0xd0
0000 416 _F1 BIT 0xd1
0000 417 _OV BIT 0xd2
0000 418 _RS0 BIT 0xd3
0000 419 _RS1 BIT 0xd4
0000 420 _F0 BIT 0xd5
0000 421 _AC BIT 0xd6
0000 422 _CY BIT 0xd7
0000 423 _RI BIT 0x98
0000 424 _TI BIT 0x99
0000 425 _RB8 BIT 0x9a
0000 426 _TB8 BIT 0x9b
0000 427 _REN BIT 0x9c
0000 428 _CE BIT 0x9d
0000 429 _SMODE BIT 0x9e
0000 430 _RI1 BIT 0xc8
0000 431 _TI1 BIT 0xc9
0000 432 _RBX1 BIT 0xca
0000 433 _TBX1 BIT 0xcb
0000 434 _REN1 BIT 0xcc
0000 435 _PERR1 BIT 0xcd
0000 436 _OVR1 BIT 0xce
0000 437 _SI BIT 0xc0
0000 438 _ACK BIT 0xc1
0000 439 _ARBLOST BIT 0xc2
0000 440 _ACKRQ BIT 0xc3
0000 441 _STO BIT 0xc4
0000 442 _STA BIT 0xc5
0000 443 _TXMODE BIT 0xc6
0000 444 _MASTER BIT 0xc7
0000 445 _SPIEN BIT 0xf8
0000 446 _TXNF BIT 0xf9
0000 447 _NSSMD0 BIT 0xfa
0000 448 _NSSMD1 BIT 0xfb
0000 449 _RXOVRN BIT 0xfc
0000 450 _MODF BIT 0xfd
0000 451 _WCOL BIT 0xfe
0000 452 _SPIF BIT 0xff
0000 453 _IT0 BIT 0x88
0000 454 _IE0 BIT 0x89
0000 455 _IT1 BIT 0x8a
0000 456 _IE1 BIT 0x8b
0000 457 _TR0 BIT 0x8c
0000 458 _TF0 BIT 0x8d
0000 459 _TR1 BIT 0x8e
0000 460 _TF1 BIT 0x8f
0000 461 _T2XCLK0 BIT 0xc8
0000 462 _T2XCLK1 BIT 0xc9
0000 463 _TR2 BIT 0xca
0000 464 _T2SPLIT BIT 0xcb
0000 465 _TF2CEN BIT 0xcc
0000 466 _TF2LEN BIT 0xcd
0000 467 _TF2L BIT 0xce
0000 468 _TF2H BIT 0xcf
0000 469 _T4XCLK0 BIT 0x98
0000 470 _T4XCLK1 BIT 0x99
0000 471 _TR4 BIT 0x9a
0000 472 _T4SPLIT BIT 0x9b
0000 473 _TF4CEN BIT 0x9c
0000 474 _TF4LEN BIT 0x9d
0000 475 _TF4L BIT 0x9e
0000 476 _TF4H BIT 0x9f
0000 477 _T5XCLK0 BIT 0xc0
0000 478 _T5XCLK1 BIT 0xc1
0000 479 _TR5 BIT 0xc2
0000 480 _T5SPLIT BIT 0xc3
0000 481 _TF5CEN BIT 0xc4
0000 482 _TF5LEN BIT 0xc5
0000 483 _TF5L BIT 0xc6
0000 484 _TF5H BIT 0xc7
0000 485 _RIE BIT 0xd8
0000 486 _RXTO0 BIT 0xd9
0000 487 _RXTO1 BIT 0xda
0000 488 _RFRQ BIT 0xdb
0000 489 _TIE BIT 0xdc
0000 490 _TXHOLD BIT 0xdd
0000 491 _TXNF1 BIT 0xde
0000 492 _TFRQ BIT 0xdf
0000 493 ;--------------------------------------------------------
0000 494 ; overlayable register banks
0000 495 ;--------------------------------------------------------
0000 496 rbank0 segment data overlay
0000 497 ;--------------------------------------------------------
0000 498 ; internal ram data
0000 499 ;--------------------------------------------------------
0000 500 rseg R_DSEG
0000 501 _overflow_count:
0000 502 ds 1
0001 503 _v1_rms:
0001 504 ds 4
0005 505 _v2_rms:
0005 506 ds 4
0009 507 _v1:
0009 508 ds 4
000D 509 _v2:
000D 510 ds 4
0011 511 _LCDprint_PARM_2:
0011 512 ds 1
0012 513 _LCDprint2_PARM_2:
0012 514 ds 1
0013 515 _LCDprint2_PARM_3:
0013 516 ds 1
0014 517 _main_period_1_76:
0014 518 ds 4
0018 519 _main_Phase_Shift_1_76:
0018 520 ds 4
001C 521 _main_frequency_1_76:
001C 522 ds 4
0020 523 _main_angfrequency_1_76:
0020 524 ds 4
0024 525 _main_bonus_counter_1_76:
0024 526 ds 2
0026 527 _main_str_frequency_1_76:
0026 528 ds 4
002A 529 _main_str_vref_1_76:
002A 530 ds 5
002F 531 _main_str_vtest_1_76:
002F 532 ds 5
0034 533 _main_str_phase_1_76:
0034 534 ds 4
0038 535 _main_str_period_1_76:
0038 536 ds 4
003C 537 _main_str_angfrequency_1_76:
003C 538 ds 4
0040 539 _main_sloc0_1_0:
0040 540 ds 2
0042 541 _main_sloc1_1_0:
0042 542 ds 4
0046 543 ;--------------------------------------------------------
0046 544 ; overlayable items in internal ram
0046 545 ;--------------------------------------------------------
0000 546 rseg R_OSEG
0000 547 rseg R_OSEG
0000 548 _InitPinADC_PARM_2:
0000 549 ds 1
0001 550 rseg R_OSEG
0001 551 ;--------------------------------------------------------
0001 552 ; indirectly addressable internal ram data
0001 553 ;--------------------------------------------------------
0000 554 rseg R_ISEG
0000 555 ;--------------------------------------------------------
0000 556 ; absolute internal ram data
0000 557 ;--------------------------------------------------------
0000 558 DSEG
0000 559 ;--------------------------------------------------------
0000 560 ; bit data
0000 561 ;--------------------------------------------------------
0000 562 rseg R_BSEG
0000 563 _LCDprint_PARM_3:
0000 564 DBIT 1
0001 565 ;--------------------------------------------------------
0001 566 ; paged external ram data
0001 567 ;--------------------------------------------------------
0000 568 rseg R_PSEG
0000 569 ;--------------------------------------------------------
0000 570 ; external ram data
0000 571 ;--------------------------------------------------------
0000 572 rseg R_XSEG
0000 573 ;--------------------------------------------------------
0000 574 ; absolute external ram data
0000 575 ;--------------------------------------------------------
0000 576 XSEG
0000 577 ;--------------------------------------------------------
0000 578 ; external initialized ram data
0000 579 ;--------------------------------------------------------
0000 580 rseg R_IXSEG
0000 581 rseg R_HOME
0000 582 rseg R_GSINIT
0000 583 rseg R_CSEG
0000 584 ;--------------------------------------------------------
0000 585 ; Reset entry point and interrupt vectors
0000 586 ;--------------------------------------------------------
0000 587 CSEG at 0x0000
0000 020000 588 ljmp _crt0
0003 589 ;--------------------------------------------------------
0003 590 ; global & static initialisations
0003 591 ;--------------------------------------------------------
0000 592 rseg R_HOME
0000 593 rseg R_GSINIT
0000 594 rseg R_GSINIT
0000 595 ;--------------------------------------------------------
0000 596 ; data variables initialization
0000 597 ;--------------------------------------------------------
0000 598 rseg R_DINIT
0000 599 ; sourcecode.c:31: float v1_rms = 0; float v2_rms = 0;
0000 751800 600 mov _v1_rms,#0x00
0003 751900 601 mov (_v1_rms + 1),#0x00
0006 751A00 602 mov (_v1_rms + 2),#0x00
0009 751B00 603 mov (_v1_rms + 3),#0x00
000C 604 ; sourcecode.c:31: float v1 = 0; float v2 = 0;
000C 75D800 605 mov _v2_rms,#0x00
000F 75D900 606 mov (_v2_rms + 1),#0x00
0012 75DA00 607 mov (_v2_rms + 2),#0x00
0015 75DB00 608 mov (_v2_rms + 3),#0x00
0018 609 ; sourcecode.c:32:
0018 759800 610 mov _v1,#0x00
001B 759900 611 mov (_v1 + 1),#0x00
001E 759A00 612 mov (_v1 + 2),#0x00
0021 759B00 613 mov (_v1 + 3),#0x00
0024 614 ; sourcecode.c:32: float v1 = 0; float v2 = 0;
0024 755800 615 mov _v2,#0x00
0027 755900 616 mov (_v2 + 1),#0x00
002A 755A00 617 mov (_v2 + 2),#0x00
002D 755B00 618 mov (_v2 + 3),#0x00
0030 619 ; The linker places a 'ret' at the end of segment R_DINIT.
0030 620 ;--------------------------------------------------------
0030 621 ; code
0030 622 ;--------------------------------------------------------
0000 623 rseg R_CSEG
0000 624 ;------------------------------------------------------------
0000 625 ;Allocation info for local variables in function '_c51_external_startup'
0000 626 ;------------------------------------------------------------
0000 627 ;------------------------------------------------------------
0000 628 ; sourcecode.c:34: char _c51_external_startup (void)
0000 629 ; -----------------------------------------
0000 630 ; function _c51_external_startup
0000 631 ; -----------------------------------------
0000 632 __c51_external_startup:
0000 633 using 0
0000 634 ; sourcecode.c:40: VDM0CN=0x80; // enable VDD monitor
0000 75FF80 635 mov _VDM0CN,#0x80
0003 636 ; sourcecode.c:41: RSTSRC=0x02|0x04; // Enable reset on missing clock detector and VDD
0003 75EF06 637 mov _RSTSRC,#0x06
0006 638 ; sourcecode.c:48: SFRPAGE = 0x10;
0006 75A710 639 mov _SFRPAGE,#0x10
0009 640 ; sourcecode.c:49: PFE0CN = 0x20; // SYSCLK < 75 MHz.
0009 75C120 641 mov _PFE0CN,#0x20
000C 642 ; sourcecode.c:50: SFRPAGE = 0x00;
000C 75A700 643 mov _SFRPAGE,#0x00
000F 644 ; sourcecode.c:71: CLKSEL = 0x00;
000F 75A900 645 mov _CLKSEL,#0x00
0012 646 ; sourcecode.c:72: CLKSEL = 0x00;
0012 75A900 647 mov _CLKSEL,#0x00
0015 648 ; sourcecode.c:73: while ((CLKSEL & 0x80) == 0);
0015 649 L002001?:
0015 E5A9 650 mov a,_CLKSEL
0017 30E700 651 jnb acc.7,L002001?
001A 652 ; sourcecode.c:74: CLKSEL = 0x03;
001A 75A903 653 mov _CLKSEL,#0x03
001D 654 ; sourcecode.c:75: CLKSEL = 0x03;
001D 75A903 655 mov _CLKSEL,#0x03
0020 656 ; sourcecode.c:76: while ((CLKSEL & 0x80) == 0);
0020 657 L002004?:
0020 E5A9 658 mov a,_CLKSEL
0022 30E780 659 jnb acc.7,L002004?
0025 660 ; sourcecode.c:81: P0MDOUT |= 0x10; // Enable UART0 TX as push-pull output
0025 43A410 661 orl _P0MDOUT,#0x10
0028 662 ; sourcecode.c:82: XBR0 = 0x01; // Enable UART0 on P0.4(TX) and P0.5(RX)
0028 75E101 663 mov _XBR0,#0x01
002B 664 ; sourcecode.c:83: XBR1 = 0X00;
002B 75E200 665 mov _XBR1,#0x00
002E 666 ; sourcecode.c:84: XBR2 = 0x40; // Enable crossbar and weak pull-ups
002E 75E340 667 mov _XBR2,#0x40
0031 668 ; sourcecode.c:90: SCON0 = 0x10;
0031 759810 669 mov _SCON0,#0x10
0034 670 ; sourcecode.c:91: TH1 = 0x100-((SYSCLK/BAUDRATE)/(2L*12L));
0034 758DE6 671 mov _TH1,#0xE6
0037 672 ; sourcecode.c:92: TL1 = TH1; // Init Timer1
0037 858D8B 673 mov _TL1,_TH1
003A 674 ; sourcecode.c:93: TMOD &= ~0xf0; // TMOD: timer 1 in 8-bit auto-reload
003A 53890F 675 anl _TMOD,#0x0F
003D 676 ; sourcecode.c:94: TMOD |= 0x20;
003D 438920 677 orl _TMOD,#0x20
0040 678 ; sourcecode.c:95: TR1 = 1; // START Timer1
0040 D28E 679 setb _TR1
0042 680 ; sourcecode.c:96: TI = 1; // Indicate TX0 ready
0042 D299 681 setb _TI
0044 682 ; sourcecode.c:98: return 0;
0044 758200 683 mov dpl,#0x00
0047 22 684 ret
0048 685 ;------------------------------------------------------------
0048 686 ;Allocation info for local variables in function 'InitADC'
0048 687 ;------------------------------------------------------------
0048 688 ;------------------------------------------------------------
0048 689 ; sourcecode.c:101: void InitADC (void)
0048 690 ; -----------------------------------------
0048 691 ; function InitADC
0048 692 ; -----------------------------------------
0048 693 _InitADC:
0048 694 ; sourcecode.c:103: SFRPAGE = 0x00;
0048 75A700 695 mov _SFRPAGE,#0x00
004B 696 ; sourcecode.c:104: ADEN=0; // Disable ADC
004B C2EF 697 clr _ADEN
004D 698 ; sourcecode.c:109: (0x0 << 0) ; // Accumulate n conversions: 0x0: 1, 0x1:4, 0x2:8, 0x3:16, 0x4:32
004D 75B280 699 mov _ADC0CN1,#0x80
0050 700 ; sourcecode.c:113: (0x0 << 2); // 0:SYSCLK ADCCLK = SYSCLK. 1:HFOSC0 ADCCLK = HFOSC0.
0050 75BC20 701 mov _ADC0CF0,#0x20
0053 702 ; sourcecode.c:117: (0x1E << 0); // Conversion Tracking Time. Tadtk = ADTK / (Fsarclk)
0053 75B91E 703 mov _ADC0CF1,#0x1E
0056 704 ; sourcecode.c:126: (0x0 << 0) ; // TEMPE. 0: Disable the Temperature Sensor. 1: Enable the Temperature Sensor.
0056 75E800 705 mov _ADC0CN0,#0x00
0059 706 ; sourcecode.c:131: (0x1F << 0); // ADPWR. Power Up Delay Time. Tpwrtime = ((4 * (ADPWR + 1)) + 2) / (Fadcclk)
0059 75DF3F 707 mov _ADC0CF2,#0x3F
005C 708 ; sourcecode.c:135: (0x0 << 0) ; // ADCM. 0x0: ADBUSY, 0x1: TIMER0, 0x2: TIMER2, 0x3: TIMER3, 0x4: CNVSTR, 0x5: CEX5, 0x6: TIMER4, 0x7: TIMER5, 0x8: CLU0, 0x9: CLU1, 0xA: CLU2, 0xB: CLU3
005C 75B300 709 mov _ADC0CN2,#0x00
005F 710 ; sourcecode.c:137: ADEN=1; // Enable ADC
005F D2EF 711 setb _ADEN
0061 22 712 ret
0062 713 ;------------------------------------------------------------
0062 714 ;Allocation info for local variables in function 'Timer3us'
0062 715 ;------------------------------------------------------------
0062 716 ;us Allocated to registers r2
0062 717 ;i Allocated to registers r3
0062 718 ;------------------------------------------------------------
0062 719 ; sourcecode.c:141: void Timer3us(unsigned char us)
0062 720 ; -----------------------------------------
0062 721 ; function Timer3us
0062 722 ; -----------------------------------------
0062 723 _Timer3us:
0062 AA82 724 mov r2,dpl
0064 725 ; sourcecode.c:146: CKCON0|=0b_0100_0000;
0064 438E40 726 orl _CKCON0,#0x40
0067 727 ; sourcecode.c:148: TMR3RL = (-(SYSCLK)/1000000L); // Set Timer3 to overflow in 1us.
0067 7592B8 728 mov _TMR3RL,#0xB8
006A 7593FF 729 mov (_TMR3RL >> 8),#0xFF
006D 730 ; sourcecode.c:149: TMR3 = TMR3RL; // Initialize Timer3 for first overflow
006D 859294 731 mov _TMR3,_TMR3RL
0070 859395 732 mov (_TMR3 >> 8),(_TMR3RL >> 8)
0073 733 ; sourcecode.c:151: TMR3CN0 = 0x04; // Sart Timer3 and clear overflow flag
0073 759104 734 mov _TMR3CN0,#0x04
0076 735 ; sourcecode.c:152: for (i = 0; i < us; i++) // Count <us> overflows
0076 7B00 736 mov r3,#0x00
0078 737 L004004?:
0078 C3 738 clr c
0079 EB 739 mov a,r3
007A 9A 740 subb a,r2
007B 5000 741 jnc L004007?
007D 742 ; sourcecode.c:154: while (!(TMR3CN0 & 0x80)); // Wait for overflow
007D 743 L004001?:
007D E591 744 mov a,_TMR3CN0
007F 30E780 745 jnb acc.7,L004001?
0082 746 ; sourcecode.c:155: TMR3CN0 &= ~(0x80); // Clear overflow indicator
0082 53917F 747 anl _TMR3CN0,#0x7F
0085 748 ; sourcecode.c:152: for (i = 0; i < us; i++) // Count <us> overflows
0085 0B 749 inc r3
0086 8000 750 sjmp L004004?
0088 751 L004007?:
0088 752 ; sourcecode.c:157: TMR3CN0 = 0 ; // Stop Timer3 and clear overflow flag
0088 759100 753 mov _TMR3CN0,#0x00
008B 22 754 ret
008C 755 ;------------------------------------------------------------
008C 756 ;Allocation info for local variables in function 'waitms'
008C 757 ;------------------------------------------------------------
008C 758 ;ms Allocated to registers r2 r3
008C 759 ;j Allocated to registers r4 r5
008C 760 ;k Allocated to registers r6
008C 761 ;------------------------------------------------------------
008C 762 ; sourcecode.c:160: void waitms (unsigned int ms)
008C 763 ; -----------------------------------------
008C 764 ; function waitms
008C 765 ; -----------------------------------------
008C 766 _waitms:
008C AA82 767 mov r2,dpl
008E AB83 768 mov r3,dph
0090 769 ; sourcecode.c:164: for(j=0; j<ms; j++)
0090 7C00 770 mov r4,#0x00
0092 7D00 771 mov r5,#0x00
0094 772 L005005?:
0094 C3 773 clr c
0095 EC 774 mov a,r4
0096 9A 775 subb a,r2
0097 ED 776 mov a,r5
0098 9B 777 subb a,r3
0099 5000 778 jnc L005009?
009B 779 ; sourcecode.c:165: for (k=0; k<4; k++) Timer3us(250);
009B 7E00 780 mov r6,#0x00
009D 781 L005001?:
009D BE04C0 782 cjne r6,#0x04,L005018?
00A0 783 L005018?:
00A0 5000 784 jnc L005007?
00A2 7582FA 785 mov dpl,#0xFA
00A5 C002 786 push ar2
00A7 C003 787 push ar3
00A9 C004 788 push ar4
00AB C005 789 push ar5
00AD C006 790 push ar6
00AF 120000 791 lcall _Timer3us
00B2 D006 792 pop ar6
00B4 D005 793 pop ar5
00B6 D004 794 pop ar4
00B8 D003 795 pop ar3
00BA D002 796 pop ar2
00BC 0E 797 inc r6
00BD 8000 798 sjmp L005001?
00BF 799 L005007?:
00BF 800 ; sourcecode.c:164: for(j=0; j<ms; j++)
00BF 0C 801 inc r4
00C0 BC0000 802 cjne r4,#0x00,L005005?
00C3 0D 803 inc r5
00C4 8000 804 sjmp L005005?
00C6 805 L005009?:
00C6 22 806 ret
00C7 807 ;------------------------------------------------------------
00C7 808 ;Allocation info for local variables in function 'InitPinADC'
00C7 809 ;------------------------------------------------------------
00C7 810 ;pinno Allocated with name '_InitPinADC_PARM_2'
00C7 811 ;portno Allocated to registers r2
00C7 812 ;mask Allocated to registers r3
00C7 813 ;------------------------------------------------------------
00C7 814 ; sourcecode.c:170: void InitPinADC (unsigned char portno, unsigned char pinno)
00C7 815 ; -----------------------------------------
00C7 816 ; function InitPinADC
00C7 817 ; -----------------------------------------
00C7 818 _InitPinADC:
00C7 AA82 819 mov r2,dpl
00C9 820 ; sourcecode.c:174: mask=1<<pinno;
00C9 85C8F0 821 mov b,_InitPinADC_PARM_2
00CC 05F0 822 inc b
00CE 7401 823 mov a,#0x01
00D0 8000 824 sjmp L006013?
00D2 825 L006011?:
00D2 25E0 826 add a,acc
00D4 827 L006013?:
00D4 D5F0C0 828 djnz b,L006011?
00D7 FB 829 mov r3,a
00D8 830 ; sourcecode.c:176: SFRPAGE = 0x20;
00D8 75A720 831 mov _SFRPAGE,#0x20
00DB 832 ; sourcecode.c:177: switch (portno)
00DB BA0000 833 cjne r2,#0x00,L006014?
00DE 8000 834 sjmp L006001?
00E0 835 L006014?:
00E0 BA0180 836 cjne r2,#0x01,L006015?
00E3 8000 837 sjmp L006002?
00E5 838 L006015?:
00E5 839 ; sourcecode.c:179: case 0:
00E5 BA0200 840 cjne r2,#0x02,L006005?
00E8 8000 841 sjmp L006003?
00EA 842 L006001?:
00EA 843 ; sourcecode.c:180: P0MDIN &= (~mask); // Set pin as analog input
00EA EB 844 mov a,r3
00EB F4 845 cpl a
00EC FA 846 mov r2,a
00ED 52F1 847 anl _P0MDIN,a
00EF 848 ; sourcecode.c:181: P0SKIP |= mask; // Skip Crossbar decoding for this pin
00EF EB 849 mov a,r3
00F0 42D4 850 orl _P0SKIP,a
00F2 851 ; sourcecode.c:182: break;
00F2 852 ; sourcecode.c:183: case 1:
00F2 8000 853 sjmp L006005?
00F4 854 L006002?:
00F4 855 ; sourcecode.c:184: P1MDIN &= (~mask); // Set pin as analog input
00F4 EB 856 mov a,r3
00F5 F4 857 cpl a
00F6 FA 858 mov r2,a
00F7 52F2 859 anl _P1MDIN,a
00F9 860 ; sourcecode.c:185: P1SKIP |= mask; // Skip Crossbar decoding for this pin
00F9 EB 861 mov a,r3
00FA 42D5 862 orl _P1SKIP,a
00FC 863 ; sourcecode.c:186: break;
00FC 864 ; sourcecode.c:187: case 2:
00FC 8000 865 sjmp L006005?
00FE 866 L006003?:
00FE 867 ; sourcecode.c:188: P2MDIN &= (~mask); // Set pin as analog input
00FE EB 868 mov a,r3
00FF F4 869 cpl a
0100 FA 870 mov r2,a
0101 52F3 871 anl _P2MDIN,a
0103 872 ; sourcecode.c:189: P2SKIP |= mask; // Skip Crossbar decoding for this pin
0103 EB 873 mov a,r3
0104 42CC 874 orl _P2SKIP,a
0106 875 ; sourcecode.c:193: }
0106 876 L006005?:
0106 877 ; sourcecode.c:194: SFRPAGE = 0x00;
0106 75A700 878 mov _SFRPAGE,#0x00
0109 22 879 ret
010A 880 ;------------------------------------------------------------
010A 881 ;Allocation info for local variables in function 'ADC_at_Pin'
010A 882 ;------------------------------------------------------------
010A 883 ;pin Allocated to registers
010A 884 ;------------------------------------------------------------
010A 885 ; sourcecode.c:197: unsigned int ADC_at_Pin(unsigned char pin)
010A 886 ; -----------------------------------------
010A 887 ; function ADC_at_Pin
010A 888 ; -----------------------------------------
010A 889 _ADC_at_Pin:
010A 8582BB 890 mov _ADC0MX,dpl
010D 891 ; sourcecode.c:200: ADINT = 0;
010D C2ED 892 clr _ADINT
010F 893 ; sourcecode.c:201: ADBUSY = 1; // Convert voltage at the pin
010F D2EC 894 setb _ADBUSY
0111 895 ; sourcecode.c:202: while (!ADINT); // Wait for conversion to complete
0111 896 L007001?:
0111 30ED80 897 jnb _ADINT,L007001?
0114 898 ; sourcecode.c:203: return (ADC0);
0114 85BD82 899 mov dpl,_ADC0
0117 85BE83 900 mov dph,(_ADC0 >> 8)
011A 22 901 ret
011B 902 ;------------------------------------------------------------
011B 903 ;Allocation info for local variables in function 'Volts_at_Pin'
011B 904 ;------------------------------------------------------------
011B 905 ;pin Allocated to registers r2
011B 906 ;------------------------------------------------------------
011B 907 ; sourcecode.c:207: float Volts_at_Pin(unsigned char pin)
011B 908 ; -----------------------------------------
011B 909 ; function Volts_at_Pin
011B 910 ; -----------------------------------------
011B 911 _Volts_at_Pin:
011B 912 ; sourcecode.c:209: return ((ADC_at_Pin(pin)*VDD)/0b_0011_1111_1111_1111);
011B 120000 913 lcall _ADC_at_Pin
011E 120000 914 lcall ___uint2fs
0121 AA82 915 mov r2,dpl
0123 AB83 916 mov r3,dph
0125 ACF0 917 mov r4,b
0127 FD 918 mov r5,a
0128 C002 919 push ar2
012A C003 920 push ar3
012C C004 921 push ar4
012E C005 922 push ar5
0130 90923A 923 mov dptr,#0x923A
0133 75F053 924 mov b,#0x53
0136 7440 925 mov a,#0x40
0138 120000 926 lcall ___fsmul
013B AA82 927 mov r2,dpl
013D AB83 928 mov r3,dph
013F ACF0 929 mov r4,b
0141 FD 930 mov r5,a
0142 E581 931 mov a,sp
0144 24FC 932 add a,#0xfc
0146 F581 933 mov sp,a
0148 E4 934 clr a
0149 C0E0 935 push acc
014B 74FC 936 mov a,#0xFC
014D C0E0 937 push acc
014F 747F 938 mov a,#0x7F
0151 C0E0 939 push acc
0153 7446 940 mov a,#0x46
0155 C0E0 941 push acc
0157 8A82 942 mov dpl,r2
0159 8B83 943 mov dph,r3
015B 8CF0 944 mov b,r4
015D ED 945 mov a,r5
015E 120000 946 lcall ___fsdiv
0161 AA82 947 mov r2,dpl
0163 AB83 948 mov r3,dph
0165 ACF0 949 mov r4,b
0167 FD 950 mov r5,a
0168 E581 951 mov a,sp
016A 24FC 952 add a,#0xfc
016C F581 953 mov sp,a
016E 8A82 954 mov dpl,r2
0170 8B83 955 mov dph,r3
0172 8CF0 956 mov b,r4
0174 ED 957 mov a,r5
0175 22 958 ret
0176 959 ;------------------------------------------------------------
0176 960 ;Allocation info for local variables in function 'TIMER0_Init'
0176 961 ;------------------------------------------------------------
0176 962 ;------------------------------------------------------------
0176 963 ; sourcecode.c:212: void TIMER0_Init(void)
0176 964 ; -----------------------------------------
0176 965 ; function TIMER0_Init
0176 966 ; -----------------------------------------
0176 967 _TIMER0_Init:
0176 968 ; sourcecode.c:214: TMOD&=0b_1111_0000; // Set the bits of Timer/Counter 0 to zero
0176 5389F0 969 anl _TMOD,#0xF0
0179 970 ; sourcecode.c:215: TMOD|=0b_0000_0001; // Timer/Counter 0 used as a 16-bit counter
0179 438901 971 orl _TMOD,#0x01
017C 972 ; sourcecode.c:216: TR0=0; // Stop Timer/Counter 0
017C C28C 973 clr _TR0
017E 22 974 ret
017F 975 ;------------------------------------------------------------
017F 976 ;Allocation info for local variables in function 'LCD_pulse'
017F 977 ;------------------------------------------------------------
017F 978 ;------------------------------------------------------------
017F 979 ; sourcecode.c:220: void LCD_pulse (void)
017F 980 ; -----------------------------------------
017F 981 ; function LCD_pulse
017F 982 ; -----------------------------------------
017F 983 _LCD_pulse:
017F 984 ; sourcecode.c:222: LCD_E=1;
017F D2A0 985 setb _P2_0
0181 986 ; sourcecode.c:223: Timer3us(40);
0181 758228 987 mov dpl,#0x28
0184 120000 988 lcall _Timer3us
0187 989 ; sourcecode.c:224: LCD_E=0;
0187 C2A0 990 clr _P2_0
0189 22 991 ret
018A 992 ;------------------------------------------------------------
018A 993 ;Allocation info for local variables in function 'LCD_byte'
018A 994 ;------------------------------------------------------------
018A 995 ;x Allocated to registers r2
018A 996 ;------------------------------------------------------------
018A 997 ; sourcecode.c:227: void LCD_byte (unsigned char x)
018A 998 ; -----------------------------------------
018A 999 ; function LCD_byte
018A 1000 ; -----------------------------------------