-
Notifications
You must be signed in to change notification settings - Fork 0
/
hr_monitor.lst
1889 lines (1889 loc) · 105 KB
/
hr_monitor.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 #1069 (Apr 23 2015) (MSVC)
0000 4 ; This file was generated Thu Mar 01 13:16:04 2018
0000 5 ;--------------------------------------------------------
5 $name hr_monitor
6 $optc51 --model-small
0000 8 R_DSEG segment data
0000 9 R_CSEG segment code
0000 10 R_BSEG segment bit
0000 11 R_XSEG segment xdata
0000 12 R_PSEG segment xdata
0000 13 R_ISEG segment idata
0000 14 R_OSEG segment data overlay
0000 15 BIT_BANK segment data overlay
0000 16 R_HOME segment code
0000 17 R_GSINIT segment code
0000 18 R_IXSEG segment xdata
0000 19 R_CONST segment code
0000 20 R_XINIT segment code
0000 21 R_DINIT segment code
0000 22
0000 23 ;--------------------------------------------------------
0000 24 ; Public variables in this module
0000 25 ;--------------------------------------------------------
0000 26 public _main
0000 27 public _TIMER0_Init
0000 28 public _getsn
0000 29 public _LCDprint_inv
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 _waitms
0000 37 public _Timer3us
0000 38 public __c51_external_startup
0000 39 public _LCDprint_inv_PARM_3
0000 40 public _LCDprint_PARM_3
0000 41 public _getsn_PARM_2
0000 42 public _LCDprint_inv_PARM_2
0000 43 public _LCDprint_PARM_2
0000 44 public _overflow_count
0000 45 ;--------------------------------------------------------
0000 46 ; Special Function Registers
0000 47 ;--------------------------------------------------------
0000 48 _ACC DATA 0xe0
0000 49 _ADC0ASAH DATA 0xb6
0000 50 _ADC0ASAL DATA 0xb5
0000 51 _ADC0ASCF DATA 0xa1
0000 52 _ADC0ASCT DATA 0xc7
0000 53 _ADC0CF0 DATA 0xbc
0000 54 _ADC0CF1 DATA 0xb9
0000 55 _ADC0CF2 DATA 0xdf
0000 56 _ADC0CN0 DATA 0xe8
0000 57 _ADC0CN1 DATA 0xb2
0000 58 _ADC0CN2 DATA 0xb3
0000 59 _ADC0GTH DATA 0xc4
0000 60 _ADC0GTL DATA 0xc3
0000 61 _ADC0H DATA 0xbe
0000 62 _ADC0L DATA 0xbd
0000 63 _ADC0LTH DATA 0xc6
0000 64 _ADC0LTL DATA 0xc5
0000 65 _ADC0MX DATA 0xbb
0000 66 _B DATA 0xf0
0000 67 _CKCON0 DATA 0x8e
0000 68 _CKCON1 DATA 0xa6
0000 69 _CLEN0 DATA 0xc6
0000 70 _CLIE0 DATA 0xc7
0000 71 _CLIF0 DATA 0xe8
0000 72 _CLKSEL DATA 0xa9
0000 73 _CLOUT0 DATA 0xd1
0000 74 _CLU0CF DATA 0xb1
0000 75 _CLU0FN DATA 0xaf
0000 76 _CLU0MX DATA 0x84
0000 77 _CLU1CF DATA 0xb3
0000 78 _CLU1FN DATA 0xb2
0000 79 _CLU1MX DATA 0x85
0000 80 _CLU2CF DATA 0xb6
0000 81 _CLU2FN DATA 0xb5
0000 82 _CLU2MX DATA 0x91
0000 83 _CLU3CF DATA 0xbf
0000 84 _CLU3FN DATA 0xbe
0000 85 _CLU3MX DATA 0xae
0000 86 _CMP0CN0 DATA 0x9b
0000 87 _CMP0CN1 DATA 0x99
0000 88 _CMP0MD DATA 0x9d
0000 89 _CMP0MX DATA 0x9f
0000 90 _CMP1CN0 DATA 0xbf
0000 91 _CMP1CN1 DATA 0xac
0000 92 _CMP1MD DATA 0xab
0000 93 _CMP1MX DATA 0xaa
0000 94 _CRC0CN0 DATA 0xce
0000 95 _CRC0CN1 DATA 0x86
0000 96 _CRC0CNT DATA 0xd3
0000 97 _CRC0DAT DATA 0xcb
0000 98 _CRC0FLIP DATA 0xcf
0000 99 _CRC0IN DATA 0xca
0000 100 _CRC0ST DATA 0xd2
0000 101 _DAC0CF0 DATA 0x91
0000 102 _DAC0CF1 DATA 0x92
0000 103 _DAC0H DATA 0x85
0000 104 _DAC0L DATA 0x84
0000 105 _DAC1CF0 DATA 0x93
0000 106 _DAC1CF1 DATA 0x94
0000 107 _DAC1H DATA 0x8a
0000 108 _DAC1L DATA 0x89
0000 109 _DAC2CF0 DATA 0x95
0000 110 _DAC2CF1 DATA 0x96
0000 111 _DAC2H DATA 0x8c
0000 112 _DAC2L DATA 0x8b
0000 113 _DAC3CF0 DATA 0x9a
0000 114 _DAC3CF1 DATA 0x9c
0000 115 _DAC3H DATA 0x8e
0000 116 _DAC3L DATA 0x8d
0000 117 _DACGCF0 DATA 0x88
0000 118 _DACGCF1 DATA 0x98
0000 119 _DACGCF2 DATA 0xa2
0000 120 _DERIVID DATA 0xad
0000 121 _DEVICEID DATA 0xb5
0000 122 _DPH DATA 0x83
0000 123 _DPL DATA 0x82
0000 124 _EIE1 DATA 0xe6
0000 125 _EIE2 DATA 0xf3
0000 126 _EIP1 DATA 0xbb
0000 127 _EIP1H DATA 0xee
0000 128 _EIP2 DATA 0xed
0000 129 _EIP2H DATA 0xf6
0000 130 _EMI0CN DATA 0xe7
0000 131 _FLKEY DATA 0xb7
0000 132 _HFO0CAL DATA 0xc7
0000 133 _HFO1CAL DATA 0xd6
0000 134 _HFOCN DATA 0xef
0000 135 _I2C0ADM DATA 0xff
0000 136 _I2C0CN0 DATA 0xba
0000 137 _I2C0DIN DATA 0xbc
0000 138 _I2C0DOUT DATA 0xbb
0000 139 _I2C0FCN0 DATA 0xad
0000 140 _I2C0FCN1 DATA 0xab
0000 141 _I2C0FCT DATA 0xf5
0000 142 _I2C0SLAD DATA 0xbd
0000 143 _I2C0STAT DATA 0xb9
0000 144 _IE DATA 0xa8
0000 145 _IP DATA 0xb8
0000 146 _IPH DATA 0xf2
0000 147 _IT01CF DATA 0xe4
0000 148 _LFO0CN DATA 0xb1
0000 149 _P0 DATA 0x80
0000 150 _P0MASK DATA 0xfe
0000 151 _P0MAT DATA 0xfd
0000 152 _P0MDIN DATA 0xf1
0000 153 _P0MDOUT DATA 0xa4
0000 154 _P0SKIP DATA 0xd4
0000 155 _P1 DATA 0x90
0000 156 _P1MASK DATA 0xee
0000 157 _P1MAT DATA 0xed
0000 158 _P1MDIN DATA 0xf2
0000 159 _P1MDOUT DATA 0xa5
0000 160 _P1SKIP DATA 0xd5
0000 161 _P2 DATA 0xa0
0000 162 _P2MASK DATA 0xfc
0000 163 _P2MAT DATA 0xfb
0000 164 _P2MDIN DATA 0xf3
0000 165 _P2MDOUT DATA 0xa6
0000 166 _P2SKIP DATA 0xcc
0000 167 _P3 DATA 0xb0
0000 168 _P3MDIN DATA 0xf4
0000 169 _P3MDOUT DATA 0x9c
0000 170 _PCA0CENT DATA 0x9e
0000 171 _PCA0CLR DATA 0x9c
0000 172 _PCA0CN0 DATA 0xd8
0000 173 _PCA0CPH0 DATA 0xfc
0000 174 _PCA0CPH1 DATA 0xea
0000 175 _PCA0CPH2 DATA 0xec
0000 176 _PCA0CPH3 DATA 0xf5
0000 177 _PCA0CPH4 DATA 0x85
0000 178 _PCA0CPH5 DATA 0xde
0000 179 _PCA0CPL0 DATA 0xfb
0000 180 _PCA0CPL1 DATA 0xe9
0000 181 _PCA0CPL2 DATA 0xeb
0000 182 _PCA0CPL3 DATA 0xf4
0000 183 _PCA0CPL4 DATA 0x84
0000 184 _PCA0CPL5 DATA 0xdd
0000 185 _PCA0CPM0 DATA 0xda
0000 186 _PCA0CPM1 DATA 0xdb
0000 187 _PCA0CPM2 DATA 0xdc
0000 188 _PCA0CPM3 DATA 0xae
0000 189 _PCA0CPM4 DATA 0xaf
0000 190 _PCA0CPM5 DATA 0xcc
0000 191 _PCA0H DATA 0xfa
0000 192 _PCA0L DATA 0xf9
0000 193 _PCA0MD DATA 0xd9
0000 194 _PCA0POL DATA 0x96
0000 195 _PCA0PWM DATA 0xf7
0000 196 _PCON0 DATA 0x87
0000 197 _PCON1 DATA 0xcd
0000 198 _PFE0CN DATA 0xc1
0000 199 _PRTDRV DATA 0xf6
0000 200 _PSCTL DATA 0x8f
0000 201 _PSTAT0 DATA 0xaa
0000 202 _PSW DATA 0xd0
0000 203 _REF0CN DATA 0xd1
0000 204 _REG0CN DATA 0xc9
0000 205 _REVID DATA 0xb6
0000 206 _RSTSRC DATA 0xef
0000 207 _SBCON1 DATA 0x94
0000 208 _SBRLH1 DATA 0x96
0000 209 _SBRLL1 DATA 0x95
0000 210 _SBUF DATA 0x99
0000 211 _SBUF0 DATA 0x99
0000 212 _SBUF1 DATA 0x92
0000 213 _SCON DATA 0x98
0000 214 _SCON0 DATA 0x98
0000 215 _SCON1 DATA 0xc8
0000 216 _SFRPAGE DATA 0xa7
0000 217 _SFRPGCN DATA 0xbc
0000 218 _SFRSTACK DATA 0xd7
0000 219 _SMB0ADM DATA 0xd6
0000 220 _SMB0ADR DATA 0xd7
0000 221 _SMB0CF DATA 0xc1
0000 222 _SMB0CN0 DATA 0xc0
0000 223 _SMB0DAT DATA 0xc2
0000 224 _SMB0FCN0 DATA 0xc3
0000 225 _SMB0FCN1 DATA 0xc4
0000 226 _SMB0FCT DATA 0xef
0000 227 _SMB0RXLN DATA 0xc5
0000 228 _SMB0TC DATA 0xac
0000 229 _SMOD1 DATA 0x93
0000 230 _SP DATA 0x81
0000 231 _SPI0CFG DATA 0xa1
0000 232 _SPI0CKR DATA 0xa2
0000 233 _SPI0CN0 DATA 0xf8
0000 234 _SPI0DAT DATA 0xa3
0000 235 _SPI0FCN0 DATA 0x9a
0000 236 _SPI0FCN1 DATA 0x9b
0000 237 _SPI0FCT DATA 0xf7
0000 238 _SPI0PCF DATA 0xdf
0000 239 _TCON DATA 0x88
0000 240 _TH0 DATA 0x8c
0000 241 _TH1 DATA 0x8d
0000 242 _TL0 DATA 0x8a
0000 243 _TL1 DATA 0x8b
0000 244 _TMOD DATA 0x89
0000 245 _TMR2CN0 DATA 0xc8
0000 246 _TMR2CN1 DATA 0xfd
0000 247 _TMR2H DATA 0xcf
0000 248 _TMR2L DATA 0xce
0000 249 _TMR2RLH DATA 0xcb
0000 250 _TMR2RLL DATA 0xca
0000 251 _TMR3CN0 DATA 0x91
0000 252 _TMR3CN1 DATA 0xfe
0000 253 _TMR3H DATA 0x95
0000 254 _TMR3L DATA 0x94
0000 255 _TMR3RLH DATA 0x93
0000 256 _TMR3RLL DATA 0x92
0000 257 _TMR4CN0 DATA 0x98
0000 258 _TMR4CN1 DATA 0xff
0000 259 _TMR4H DATA 0xa5
0000 260 _TMR4L DATA 0xa4
0000 261 _TMR4RLH DATA 0xa3
0000 262 _TMR4RLL DATA 0xa2
0000 263 _TMR5CN0 DATA 0xc0
0000 264 _TMR5CN1 DATA 0xf1
0000 265 _TMR5H DATA 0xd5
0000 266 _TMR5L DATA 0xd4
0000 267 _TMR5RLH DATA 0xd3
0000 268 _TMR5RLL DATA 0xd2
0000 269 _UART0PCF DATA 0xd9
0000 270 _UART1FCN0 DATA 0x9d
0000 271 _UART1FCN1 DATA 0xd8
0000 272 _UART1FCT DATA 0xfa
0000 273 _UART1LIN DATA 0x9e
0000 274 _UART1PCF DATA 0xda
0000 275 _VDM0CN DATA 0xff
0000 276 _WDTCN DATA 0x97
0000 277 _XBR0 DATA 0xe1
0000 278 _XBR1 DATA 0xe2
0000 279 _XBR2 DATA 0xe3
0000 280 _XOSC0CN DATA 0x86
0000 281 _DPTR DATA 0x8382
0000 282 _TMR2RL DATA 0xcbca
0000 283 _TMR3RL DATA 0x9392
0000 284 _TMR4RL DATA 0xa3a2
0000 285 _TMR5RL DATA 0xd3d2
0000 286 _TMR0 DATA 0x8c8a
0000 287 _TMR1 DATA 0x8d8b
0000 288 _TMR2 DATA 0xcfce
0000 289 _TMR3 DATA 0x9594
0000 290 _TMR4 DATA 0xa5a4
0000 291 _TMR5 DATA 0xd5d4
0000 292 _SBRL1 DATA 0x9695
0000 293 _PCA0 DATA 0xfaf9
0000 294 _PCA0CP0 DATA 0xfcfb
0000 295 _PCA0CP1 DATA 0xeae9
0000 296 _PCA0CP2 DATA 0xeceb
0000 297 _PCA0CP3 DATA 0xf5f4
0000 298 _PCA0CP4 DATA 0x8584
0000 299 _PCA0CP5 DATA 0xdedd
0000 300 _ADC0ASA DATA 0xb6b5
0000 301 _ADC0GT DATA 0xc4c3
0000 302 _ADC0 DATA 0xbebd
0000 303 _ADC0LT DATA 0xc6c5
0000 304 _DAC0 DATA 0x8584
0000 305 _DAC1 DATA 0x8a89
0000 306 _DAC2 DATA 0x8c8b
0000 307 _DAC3 DATA 0x8e8d
0000 308 ;--------------------------------------------------------
0000 309 ; special function bits
0000 310 ;--------------------------------------------------------
0000 311 _ACC_0 BIT 0xe0
0000 312 _ACC_1 BIT 0xe1
0000 313 _ACC_2 BIT 0xe2
0000 314 _ACC_3 BIT 0xe3
0000 315 _ACC_4 BIT 0xe4
0000 316 _ACC_5 BIT 0xe5
0000 317 _ACC_6 BIT 0xe6
0000 318 _ACC_7 BIT 0xe7
0000 319 _TEMPE BIT 0xe8
0000 320 _ADGN0 BIT 0xe9
0000 321 _ADGN1 BIT 0xea
0000 322 _ADWINT BIT 0xeb
0000 323 _ADBUSY BIT 0xec
0000 324 _ADINT BIT 0xed
0000 325 _IPOEN BIT 0xee
0000 326 _ADEN BIT 0xef
0000 327 _B_0 BIT 0xf0
0000 328 _B_1 BIT 0xf1
0000 329 _B_2 BIT 0xf2
0000 330 _B_3 BIT 0xf3
0000 331 _B_4 BIT 0xf4
0000 332 _B_5 BIT 0xf5
0000 333 _B_6 BIT 0xf6
0000 334 _B_7 BIT 0xf7
0000 335 _C0FIF BIT 0xe8
0000 336 _C0RIF BIT 0xe9
0000 337 _C1FIF BIT 0xea
0000 338 _C1RIF BIT 0xeb
0000 339 _C2FIF BIT 0xec
0000 340 _C2RIF BIT 0xed
0000 341 _C3FIF BIT 0xee
0000 342 _C3RIF BIT 0xef
0000 343 _D1SRC0 BIT 0x88
0000 344 _D1SRC1 BIT 0x89
0000 345 _D1AMEN BIT 0x8a
0000 346 _D01REFSL BIT 0x8b
0000 347 _D3SRC0 BIT 0x8c
0000 348 _D3SRC1 BIT 0x8d
0000 349 _D3AMEN BIT 0x8e
0000 350 _D23REFSL BIT 0x8f
0000 351 _D0UDIS BIT 0x98
0000 352 _D1UDIS BIT 0x99
0000 353 _D2UDIS BIT 0x9a
0000 354 _D3UDIS BIT 0x9b
0000 355 _EX0 BIT 0xa8
0000 356 _ET0 BIT 0xa9
0000 357 _EX1 BIT 0xaa
0000 358 _ET1 BIT 0xab
0000 359 _ES0 BIT 0xac
0000 360 _ET2 BIT 0xad
0000 361 _ESPI0 BIT 0xae
0000 362 _EA BIT 0xaf
0000 363 _PX0 BIT 0xb8
0000 364 _PT0 BIT 0xb9
0000 365 _PX1 BIT 0xba
0000 366 _PT1 BIT 0xbb
0000 367 _PS0 BIT 0xbc
0000 368 _PT2 BIT 0xbd
0000 369 _PSPI0 BIT 0xbe
0000 370 _P0_0 BIT 0x80
0000 371 _P0_1 BIT 0x81
0000 372 _P0_2 BIT 0x82
0000 373 _P0_3 BIT 0x83
0000 374 _P0_4 BIT 0x84
0000 375 _P0_5 BIT 0x85
0000 376 _P0_6 BIT 0x86
0000 377 _P0_7 BIT 0x87
0000 378 _P1_0 BIT 0x90
0000 379 _P1_1 BIT 0x91
0000 380 _P1_2 BIT 0x92
0000 381 _P1_3 BIT 0x93
0000 382 _P1_4 BIT 0x94
0000 383 _P1_5 BIT 0x95
0000 384 _P1_6 BIT 0x96
0000 385 _P1_7 BIT 0x97
0000 386 _P2_0 BIT 0xa0
0000 387 _P2_1 BIT 0xa1
0000 388 _P2_2 BIT 0xa2
0000 389 _P2_3 BIT 0xa3
0000 390 _P2_4 BIT 0xa4
0000 391 _P2_5 BIT 0xa5
0000 392 _P2_6 BIT 0xa6
0000 393 _P3_0 BIT 0xb0
0000 394 _P3_1 BIT 0xb1
0000 395 _P3_2 BIT 0xb2
0000 396 _P3_3 BIT 0xb3
0000 397 _P3_4 BIT 0xb4
0000 398 _P3_7 BIT 0xb7
0000 399 _CCF0 BIT 0xd8
0000 400 _CCF1 BIT 0xd9
0000 401 _CCF2 BIT 0xda
0000 402 _CCF3 BIT 0xdb
0000 403 _CCF4 BIT 0xdc
0000 404 _CCF5 BIT 0xdd
0000 405 _CR BIT 0xde
0000 406 _CF BIT 0xdf
0000 407 _PARITY BIT 0xd0
0000 408 _F1 BIT 0xd1
0000 409 _OV BIT 0xd2
0000 410 _RS0 BIT 0xd3
0000 411 _RS1 BIT 0xd4
0000 412 _F0 BIT 0xd5
0000 413 _AC BIT 0xd6
0000 414 _CY BIT 0xd7
0000 415 _RI BIT 0x98
0000 416 _TI BIT 0x99
0000 417 _RB8 BIT 0x9a
0000 418 _TB8 BIT 0x9b
0000 419 _REN BIT 0x9c
0000 420 _CE BIT 0x9d
0000 421 _SMODE BIT 0x9e
0000 422 _RI1 BIT 0xc8
0000 423 _TI1 BIT 0xc9
0000 424 _RBX1 BIT 0xca
0000 425 _TBX1 BIT 0xcb
0000 426 _REN1 BIT 0xcc
0000 427 _PERR1 BIT 0xcd
0000 428 _OVR1 BIT 0xce
0000 429 _SI BIT 0xc0
0000 430 _ACK BIT 0xc1
0000 431 _ARBLOST BIT 0xc2
0000 432 _ACKRQ BIT 0xc3
0000 433 _STO BIT 0xc4
0000 434 _STA BIT 0xc5
0000 435 _TXMODE BIT 0xc6
0000 436 _MASTER BIT 0xc7
0000 437 _SPIEN BIT 0xf8
0000 438 _TXNF BIT 0xf9
0000 439 _NSSMD0 BIT 0xfa
0000 440 _NSSMD1 BIT 0xfb
0000 441 _RXOVRN BIT 0xfc
0000 442 _MODF BIT 0xfd
0000 443 _WCOL BIT 0xfe
0000 444 _SPIF BIT 0xff
0000 445 _IT0 BIT 0x88
0000 446 _IE0 BIT 0x89
0000 447 _IT1 BIT 0x8a
0000 448 _IE1 BIT 0x8b
0000 449 _TR0 BIT 0x8c
0000 450 _TF0 BIT 0x8d
0000 451 _TR1 BIT 0x8e
0000 452 _TF1 BIT 0x8f
0000 453 _T2XCLK0 BIT 0xc8
0000 454 _T2XCLK1 BIT 0xc9
0000 455 _TR2 BIT 0xca
0000 456 _T2SPLIT BIT 0xcb
0000 457 _TF2CEN BIT 0xcc
0000 458 _TF2LEN BIT 0xcd
0000 459 _TF2L BIT 0xce
0000 460 _TF2H BIT 0xcf
0000 461 _T4XCLK0 BIT 0x98
0000 462 _T4XCLK1 BIT 0x99
0000 463 _TR4 BIT 0x9a
0000 464 _T4SPLIT BIT 0x9b
0000 465 _TF4CEN BIT 0x9c
0000 466 _TF4LEN BIT 0x9d
0000 467 _TF4L BIT 0x9e
0000 468 _TF4H BIT 0x9f
0000 469 _T5XCLK0 BIT 0xc0
0000 470 _T5XCLK1 BIT 0xc1
0000 471 _TR5 BIT 0xc2
0000 472 _T5SPLIT BIT 0xc3
0000 473 _TF5CEN BIT 0xc4
0000 474 _TF5LEN BIT 0xc5
0000 475 _TF5L BIT 0xc6
0000 476 _TF5H BIT 0xc7
0000 477 _RIE BIT 0xd8
0000 478 _RXTO0 BIT 0xd9
0000 479 _RXTO1 BIT 0xda
0000 480 _RFRQ BIT 0xdb
0000 481 _TIE BIT 0xdc
0000 482 _TXHOLD BIT 0xdd
0000 483 _TXNF1 BIT 0xde
0000 484 _TFRQ BIT 0xdf
0000 485 ;--------------------------------------------------------
0000 486 ; overlayable register banks
0000 487 ;--------------------------------------------------------
0000 488 rbank0 segment data overlay
0000 489 ;--------------------------------------------------------
0000 490 ; internal ram data
0000 491 ;--------------------------------------------------------
0000 492 rseg R_DSEG
0000 493 _overflow_count:
0000 494 ds 1
0001 495 _LCDprint_PARM_2:
0001 496 ds 1
0002 497 _LCDprint_inv_PARM_2:
0002 498 ds 1
0003 499 _LCDprint_inv_length_1_43:
0003 500 ds 2
0005 501 _getsn_PARM_2:
0005 502 ds 2
0007 503 _getsn_buff_1_44:
0007 504 ds 3
000A 505 _getsn_sloc0_1_0:
000A 506 ds 2
000C 507 _main_mem_1_52:
000C 508 ds 4
0010 509 _main_unstable_1_52:
0010 510 ds 2
0012 511 _main_count_1_52:
0012 512 ds 2
0014 513 _main_bpm_string_1_52:
0014 514 ds 3
0017 515 ;--------------------------------------------------------
0017 516 ; overlayable items in internal ram
0017 517 ;--------------------------------------------------------
0000 518 rseg R_OSEG
0000 519 ;--------------------------------------------------------
0000 520 ; indirectly addressable internal ram data
0000 521 ;--------------------------------------------------------
0000 522 rseg R_ISEG
0000 523 ;--------------------------------------------------------
0000 524 ; absolute internal ram data
0000 525 ;--------------------------------------------------------
0000 526 DSEG
0000 527 ;--------------------------------------------------------
0000 528 ; bit data
0000 529 ;--------------------------------------------------------
0000 530 rseg R_BSEG
0000 531 _LCDprint_PARM_3:
0000 532 DBIT 1
0001 533 _LCDprint_inv_PARM_3:
0001 534 DBIT 1
0002 535 ;--------------------------------------------------------
0002 536 ; paged external ram data
0002 537 ;--------------------------------------------------------
0000 538 rseg R_PSEG
0000 539 ;--------------------------------------------------------
0000 540 ; external ram data
0000 541 ;--------------------------------------------------------
0000 542 rseg R_XSEG
0000 543 ;--------------------------------------------------------
0000 544 ; absolute external ram data
0000 545 ;--------------------------------------------------------
0000 546 XSEG
0000 547 ;--------------------------------------------------------
0000 548 ; external initialized ram data
0000 549 ;--------------------------------------------------------
0000 550 rseg R_IXSEG
0000 551 rseg R_HOME
0000 552 rseg R_GSINIT
0000 553 rseg R_CSEG
0000 554 ;--------------------------------------------------------
0000 555 ; Reset entry point and interrupt vectors
0000 556 ;--------------------------------------------------------
0000 557 CSEG at 0x0000
0000 020100 558 ljmp _crt0
0003 559 ;--------------------------------------------------------
0003 560 ; global & static initialisations
0003 561 ;--------------------------------------------------------
0000 562 rseg R_HOME
0000 563 rseg R_GSINIT
0000 564 rseg R_GSINIT
0000 565 ;--------------------------------------------------------
0000 566 ; data variables initialization
0000 567 ;--------------------------------------------------------
0000 568 rseg R_DINIT
0000 569 ; The linker places a 'ret' at the end of segment R_DINIT.
0000 570 ;--------------------------------------------------------
0000 571 ; code
0000 572 ;--------------------------------------------------------
0000 573 rseg R_CSEG
0000 574 ;------------------------------------------------------------
0000 575 ;Allocation info for local variables in function '_c51_external_startup'
0000 576 ;------------------------------------------------------------
0000 577 ;------------------------------------------------------------
0000 578 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:31: char _c51_external_startup (void)
0000 579 ; -----------------------------------------
0000 580 ; function _c51_external_startup
0000 581 ; -----------------------------------------
0000 582 __c51_external_startup:
0000 583 using 0
0000 584 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:34: SFRPAGE = 0x00;
0000 75A700 585 mov _SFRPAGE,#0x00
0003 586 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:35: WDTCN = 0xDE; //First key
0003 7597DE 587 mov _WDTCN,#0xDE
0006 588 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:36: WDTCN = 0xAD; //Second key
0006 7597AD 589 mov _WDTCN,#0xAD
0009 590 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:38: VDM0CN |= 0x80;
0009 43FF80 591 orl _VDM0CN,#0x80
000C 592 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:39: RSTSRC = 0x02;
000C 75EF02 593 mov _RSTSRC,#0x02
000F 594 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:46: SFRPAGE = 0x10;
000F 75A710 595 mov _SFRPAGE,#0x10
0012 596 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:47: PFE0CN = 0x20; // SYSCLK < 75 MHz.
0012 75C120 597 mov _PFE0CN,#0x20
0015 598 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:48: SFRPAGE = 0x00;
0015 75A700 599 mov _SFRPAGE,#0x00
0018 600 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:69: CLKSEL = 0x00;
0018 75A900 601 mov _CLKSEL,#0x00
001B 602 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:70: CLKSEL = 0x00;
001B 75A900 603 mov _CLKSEL,#0x00
001E 604 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:71: while ((CLKSEL & 0x80) == 0);
001E 605 L002001?:
001E E5A9 606 mov a,_CLKSEL
0020 30E7A8 607 jnb acc.7,L002001?
0023 608 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:72: CLKSEL = 0x03;
0023 75A903 609 mov _CLKSEL,#0x03
0026 610 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:73: CLKSEL = 0x03;
0026 75A903 611 mov _CLKSEL,#0x03
0029 612 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:74: while ((CLKSEL & 0x80) == 0);
0029 613 L002004?:
0029 E5A9 614 mov a,_CLKSEL
002B 30E728 615 jnb acc.7,L002004?
002E 616 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:79: P0MDOUT |= 0x10; // Enable UART0 TX as push-pull output
002E 43A410 617 orl _P0MDOUT,#0x10
0031 618 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:80: XBR0 = 0x01; // Enable UART0 on P0.4(TX) and P0.5(RX)
0031 75E101 619 mov _XBR0,#0x01
0034 620 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:81: XBR1 = 0X00;
0034 75E200 621 mov _XBR1,#0x00
0037 622 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:82: XBR2 = 0x40; // Enable crossbar and weak pull-ups
0037 75E340 623 mov _XBR2,#0x40
003A 624 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:88: SCON0 = 0x10;
003A 759810 625 mov _SCON0,#0x10
003D 626 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:89: CKCON0 |= 0b_0000_0000 ; // Timer 1 uses the system clock divided by 12.
003D 858E8E 627 mov _CKCON0,_CKCON0
0040 628 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:90: TH1 = 0x100-((SYSCLK/BAUDRATE)/(2L*12L));
0040 758DE6 629 mov _TH1,#0xE6
0043 630 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:91: TL1 = TH1; // Init Timer1
0043 858D8B 631 mov _TL1,_TH1
0046 632 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:92: TMOD &= ~0xf0; // TMOD: timer 1 in 8-bit auto-reload
0046 53890F 633 anl _TMOD,#0x0F
0049 634 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:93: TMOD |= 0x20;
0049 438920 635 orl _TMOD,#0x20
004C 636 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:94: TR1 = 1; // START Timer1
004C D28E 637 setb _TR1
004E 638 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:95: TI = 1; // Indicate TX0 ready
004E D299 639 setb _TI
0050 640 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:97: return 0;
0050 758200 641 mov dpl,#0x00
0053 22 642 ret
0054 643 ;------------------------------------------------------------
0054 644 ;Allocation info for local variables in function 'Timer3us'
0054 645 ;------------------------------------------------------------
0054 646 ;us Allocated to registers r2
0054 647 ;i Allocated to registers r3
0054 648 ;------------------------------------------------------------
0054 649 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:103: void Timer3us(unsigned char us)
0054 650 ; -----------------------------------------
0054 651 ; function Timer3us
0054 652 ; -----------------------------------------
0054 653 _Timer3us:
0054 AA82 654 mov r2,dpl
0056 655 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:108: CKCON0|=0b_0100_0000;
0056 438E40 656 orl _CKCON0,#0x40
0059 657 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:110: TMR3RL = (-(SYSCLK)/1000000L); // Set Timer3 to overflow in 1us.
0059 7592B8 658 mov _TMR3RL,#0xB8
005C 7593FF 659 mov (_TMR3RL >> 8),#0xFF
005F 660 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:111: TMR3 = TMR3RL; // Initialize Timer3 for first overflow
005F 859294 661 mov _TMR3,_TMR3RL
0062 859395 662 mov (_TMR3 >> 8),(_TMR3RL >> 8)
0065 663 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:113: TMR3CN0 = 0x04; // Sart Timer3 and clear overflow flag
0065 759104 664 mov _TMR3CN0,#0x04
0068 665 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:114: for (i = 0; i < us; i++) // Count <us> overflows
0068 7B00 666 mov r3,#0x00
006A 667 L003004?:
006A C3 668 clr c
006B EB 669 mov a,r3
006C 9A 670 subb a,r2
006D 5001 671 jnc L003007?
006F 672 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:116: while (!(TMR3CN0 & 0x80)); // Wait for overflow
006F 673 L003001?:
006F E591 674 mov a,_TMR3CN0
0071 30E728 675 jnb acc.7,L003001?
0074 676 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:117: TMR3CN0 &= ~(0x80); // Clear overflow indicator
0074 53917F 677 anl _TMR3CN0,#0x7F
0077 678 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:114: for (i = 0; i < us; i++) // Count <us> overflows
0077 0B 679 inc r3
0078 8001 680 sjmp L003004?
007A 681 L003007?:
007A 682 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:119: TMR3CN0 = 0 ; // Stop Timer3 and clear overflow flag
007A 759100 683 mov _TMR3CN0,#0x00
007D 22 684 ret
007E 685 ;------------------------------------------------------------
007E 686 ;Allocation info for local variables in function 'waitms'
007E 687 ;------------------------------------------------------------
007E 688 ;ms Allocated to registers r2 r3
007E 689 ;j Allocated to registers r4 r5
007E 690 ;k Allocated to registers r6
007E 691 ;------------------------------------------------------------
007E 692 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:122: void waitms (unsigned int ms)
007E 693 ; -----------------------------------------
007E 694 ; function waitms
007E 695 ; -----------------------------------------
007E 696 _waitms:
007E AA82 697 mov r2,dpl
0080 AB83 698 mov r3,dph
0082 699 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:126: for(j=0; j<ms; j++)
0082 7C00 700 mov r4,#0x00
0084 7D00 701 mov r5,#0x00
0086 702 L004005?:
0086 C3 703 clr c
0087 EC 704 mov a,r4
0088 9A 705 subb a,r2
0089 ED 706 mov a,r5
008A 9B 707 subb a,r3
008B 5001 708 jnc L004009?
008D 709 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:127: for (k=0; k<4; k++) Timer3us(250);
008D 7E00 710 mov r6,#0x00
008F 711 L004001?:
008F BE0468 712 cjne r6,#0x04,L004018?
0092 713 L004018?:
0092 5001 714 jnc L004007?
0094 7582FA 715 mov dpl,#0xFA
0097 C002 716 push ar2
0099 C003 717 push ar3
009B C004 718 push ar4
009D C005 719 push ar5
009F C006 720 push ar6
00A1 120100 721 lcall _Timer3us
00A4 D006 722 pop ar6
00A6 D005 723 pop ar5
00A8 D004 724 pop ar4
00AA D003 725 pop ar3
00AC D002 726 pop ar2
00AE 0E 727 inc r6
00AF 8001 728 sjmp L004001?
00B1 729 L004007?:
00B1 730 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:126: for(j=0; j<ms; j++)
00B1 0C 731 inc r4
00B2 BC00A8 732 cjne r4,#0x00,L004005?
00B5 0D 733 inc r5
00B6 8001 734 sjmp L004005?
00B8 735 L004009?:
00B8 22 736 ret
00B9 737 ;------------------------------------------------------------
00B9 738 ;Allocation info for local variables in function 'LCD_pulse'
00B9 739 ;------------------------------------------------------------
00B9 740 ;------------------------------------------------------------
00B9 741 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:130: void LCD_pulse (void)
00B9 742 ; -----------------------------------------
00B9 743 ; function LCD_pulse
00B9 744 ; -----------------------------------------
00B9 745 _LCD_pulse:
00B9 746 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:132: LCD_E=1;
00B9 D2A5 747 setb _P2_5
00BB 748 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:133: Timer3us(40);
00BB 758228 749 mov dpl,#0x28
00BE 120100 750 lcall _Timer3us
00C1 751 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:134: LCD_E=0;
00C1 C2A5 752 clr _P2_5
00C3 22 753 ret
00C4 754 ;------------------------------------------------------------
00C4 755 ;Allocation info for local variables in function 'LCD_byte'
00C4 756 ;------------------------------------------------------------
00C4 757 ;x Allocated to registers r2
00C4 758 ;------------------------------------------------------------
00C4 759 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:137: void LCD_byte (unsigned char x)
00C4 760 ; -----------------------------------------
00C4 761 ; function LCD_byte
00C4 762 ; -----------------------------------------
00C4 763 _LCD_byte:
00C4 AA82 764 mov r2,dpl
00C6 765 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:140: ACC=x; //Send high nible
00C6 8AE0 766 mov _ACC,r2
00C8 767 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:141: LCD_D7=ACC_7;
00C8 A2E7 768 mov c,_ACC_7
00CA 92A1 769 mov _P2_1,c
00CC 770 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:142: LCD_D6=ACC_6;
00CC A2E6 771 mov c,_ACC_6
00CE 92A2 772 mov _P2_2,c
00D0 773 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:143: LCD_D5=ACC_5;
00D0 A2E5 774 mov c,_ACC_5
00D2 92A3 775 mov _P2_3,c
00D4 776 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:144: LCD_D4=ACC_4;
00D4 A2E4 777 mov c,_ACC_4
00D6 92A4 778 mov _P2_4,c
00D8 779 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:145: LCD_pulse();
00D8 C002 780 push ar2
00DA 120100 781 lcall _LCD_pulse
00DD 782 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:146: Timer3us(40);
00DD 758228 783 mov dpl,#0x28
00E0 120100 784 lcall _Timer3us
00E3 D002 785 pop ar2
00E5 786 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:147: ACC=x; //Send low nible
00E5 8AE0 787 mov _ACC,r2
00E7 788 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:148: LCD_D7=ACC_3;
00E7 A2E3 789 mov c,_ACC_3
00E9 92A1 790 mov _P2_1,c
00EB 791 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:149: LCD_D6=ACC_2;
00EB A2E2 792 mov c,_ACC_2
00ED 92A2 793 mov _P2_2,c
00EF 794 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:150: LCD_D5=ACC_1;
00EF A2E1 795 mov c,_ACC_1
00F1 92A3 796 mov _P2_3,c
00F3 797 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:151: LCD_D4=ACC_0;
00F3 A2E0 798 mov c,_ACC_0
00F5 92A4 799 mov _P2_4,c
00F7 800 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:152: LCD_pulse();
00F7 020100 801 ljmp _LCD_pulse
00FA 802 ;------------------------------------------------------------
00FA 803 ;Allocation info for local variables in function 'WriteData'
00FA 804 ;------------------------------------------------------------
00FA 805 ;x Allocated to registers r2
00FA 806 ;------------------------------------------------------------
00FA 807 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:155: void WriteData (unsigned char x)
00FA 808 ; -----------------------------------------
00FA 809 ; function WriteData
00FA 810 ; -----------------------------------------
00FA 811 _WriteData:
00FA AA82 812 mov r2,dpl
00FC 813 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:157: LCD_RS=1;
00FC D2A6 814 setb _P2_6
00FE 815 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:158: LCD_byte(x);
00FE 8A82 816 mov dpl,r2
0100 120100 817 lcall _LCD_byte
0103 818 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:159: waitms(2);
0103 900002 819 mov dptr,#0x0002
0106 020100 820 ljmp _waitms
0109 821 ;------------------------------------------------------------
0109 822 ;Allocation info for local variables in function 'WriteCommand'
0109 823 ;------------------------------------------------------------
0109 824 ;x Allocated to registers r2
0109 825 ;------------------------------------------------------------
0109 826 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:162: void WriteCommand (unsigned char x)
0109 827 ; -----------------------------------------
0109 828 ; function WriteCommand
0109 829 ; -----------------------------------------
0109 830 _WriteCommand:
0109 AA82 831 mov r2,dpl
010B 832 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:164: LCD_RS=0;
010B C2A6 833 clr _P2_6
010D 834 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:165: LCD_byte(x);
010D 8A82 835 mov dpl,r2
010F 120100 836 lcall _LCD_byte
0112 837 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:166: waitms(5);
0112 900005 838 mov dptr,#0x0005
0115 020100 839 ljmp _waitms
0118 840 ;------------------------------------------------------------
0118 841 ;Allocation info for local variables in function 'LCD_4BIT'
0118 842 ;------------------------------------------------------------
0118 843 ;------------------------------------------------------------
0118 844 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:169: void LCD_4BIT (void)
0118 845 ; -----------------------------------------
0118 846 ; function LCD_4BIT
0118 847 ; -----------------------------------------
0118 848 _LCD_4BIT:
0118 849 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:171: LCD_E=0; // Resting state of LCD's enable is zero
0118 C2A5 850 clr _P2_5
011A 851 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:173: waitms(20);
011A 900014 852 mov dptr,#0x0014
011D 120100 853 lcall _waitms
0120 854 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:175: WriteCommand(0x33);
0120 758233 855 mov dpl,#0x33
0123 120100 856 lcall _WriteCommand
0126 857 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:176: WriteCommand(0x33);
0126 758233 858 mov dpl,#0x33
0129 120100 859 lcall _WriteCommand
012C 860 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:177: WriteCommand(0x32); // Change to 4-bit mode
012C 758232 861 mov dpl,#0x32
012F 120100 862 lcall _WriteCommand
0132 863 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:180: WriteCommand(0x28);
0132 758228 864 mov dpl,#0x28
0135 120100 865 lcall _WriteCommand
0138 866 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:181: WriteCommand(0x0c);
0138 75820C 867 mov dpl,#0x0C
013B 120100 868 lcall _WriteCommand
013E 869 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:182: WriteCommand(0x01); // Clear screen command (takes some time)
013E 758201 870 mov dpl,#0x01
0141 120100 871 lcall _WriteCommand
0144 872 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:183: waitms(20); // Wait for clear screen command to finsih.
0144 900014 873 mov dptr,#0x0014
0147 020100 874 ljmp _waitms
014A 875 ;------------------------------------------------------------
014A 876 ;Allocation info for local variables in function 'LCDprint'
014A 877 ;------------------------------------------------------------
014A 878 ;line Allocated with name '_LCDprint_PARM_2'
014A 879 ;string Allocated to registers r2 r3 r4
014A 880 ;j Allocated to registers r5 r6
014A 881 ;------------------------------------------------------------
014A 882 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:186: void LCDprint(char * string, unsigned char line, bit clear)
014A 883 ; -----------------------------------------
014A 884 ; function LCDprint
014A 885 ; -----------------------------------------
014A 886 _LCDprint:
014A AA82 887 mov r2,dpl
014C AB83 888 mov r3,dph
014E ACF0 889 mov r4,b
0150 890 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:190: WriteCommand(line==2?0xc0:0x80);
0150 7402 891 mov a,#0x02
0152 B5D028 892 cjne a,_LCDprint_PARM_2,L010013?
0155 7DC0 893 mov r5,#0xC0
0157 8001 894 sjmp L010014?
0159 895 L010013?:
0159 7D80 896 mov r5,#0x80
015B 897 L010014?:
015B 8D82 898 mov dpl,r5
015D C002 899 push ar2
015F C003 900 push ar3
0161 C004 901 push ar4
0163 120100 902 lcall _WriteCommand
0166 903 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:191: waitms(5);
0166 900005 904 mov dptr,#0x0005
0169 120100 905 lcall _waitms
016C D004 906 pop ar4
016E D003 907 pop ar3
0170 D002 908 pop ar2
0172 909 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:192: for(j=0; string[j]!=0; j++) WriteData(string[j]);// Write the message
0172 7D00 910 mov r5,#0x00
0174 7E00 911 mov r6,#0x00
0176 912 L010003?:
0176 ED 913 mov a,r5
0177 2A 914 add a,r2
0178 FF 915 mov r7,a
0179 EE 916 mov a,r6
017A 3B 917 addc a,r3
017B F8 918 mov r0,a
017C 8C01 919 mov ar1,r4
017E 8F82 920 mov dpl,r7
0180 8883 921 mov dph,r0
0182 89F0 922 mov b,r1
0184 120100 923 lcall __gptrget
0187 FF 924 mov r7,a
0188 6001 925 jz L010006?
018A 8F82 926 mov dpl,r7
018C C002 927 push ar2
018E C003 928 push ar3
0190 C004 929 push ar4
0192 C005 930 push ar5
0194 C006 931 push ar6
0196 120100 932 lcall _WriteData
0199 D006 933 pop ar6
019B D005 934 pop ar5
019D D004 935 pop ar4
019F D003 936 pop ar3
01A1 D002 937 pop ar2
01A3 0D 938 inc r5
01A4 BD00A8 939 cjne r5,#0x00,L010003?
01A7 0E 940 inc r6
01A8 8001 941 sjmp L010003?
01AA 942 L010006?:
01AA 943 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:193: if(clear) for(; j<CHARS_PER_LINE; j++) WriteData(' '); // Clear the rest of the line
01AA 30F068 944 jnb _LCDprint_PARM_3,L010011?
01AD 8D02 945 mov ar2,r5
01AF 8E03 946 mov ar3,r6
01B1 947 L010007?:
01B1 C3 948 clr c
01B2 EA 949 mov a,r2
01B3 9410 950 subb a,#0x10
01B5 EB 951 mov a,r3
01B6 6480 952 xrl a,#0x80
01B8 9480 953 subb a,#0x80
01BA 5001 954 jnc L010011?
01BC 758220 955 mov dpl,#0x20
01BF C002 956 push ar2
01C1 C003 957 push ar3
01C3 120100 958 lcall _WriteData
01C6 D003 959 pop ar3
01C8 D002 960 pop ar2
01CA 0A 961 inc r2
01CB BA00A8 962 cjne r2,#0x00,L010007?
01CE 0B 963 inc r3
01CF 8001 964 sjmp L010007?
01D1 965 L010011?:
01D1 22 966 ret
01D2 967 ;------------------------------------------------------------
01D2 968 ;Allocation info for local variables in function 'LCDprint_inv'
01D2 969 ;------------------------------------------------------------
01D2 970 ;line Allocated with name '_LCDprint_inv_PARM_2'
01D2 971 ;string Allocated to registers r2 r3 r4
01D2 972 ;j Allocated to registers r5 r6
01D2 973 ;length Allocated with name '_LCDprint_inv_length_1_43'
01D2 974 ;------------------------------------------------------------
01D2 975 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:196: void LCDprint_inv(char * string, unsigned char line, bit clear)
01D2 976 ; -----------------------------------------
01D2 977 ; function LCDprint_inv
01D2 978 ; -----------------------------------------
01D2 979 _LCDprint_inv:
01D2 AA82 980 mov r2,dpl
01D4 AB83 981 mov r3,dph
01D6 ACF0 982 mov r4,b
01D8 983 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:201: WriteCommand(line==2?0xc0:0x80);
01D8 7402 984 mov a,#0x02
01DA B580E8 985 cjne a,_LCDprint_inv_PARM_2,L011017?
01DD 7DC0 986 mov r5,#0xC0
01DF 8001 987 sjmp L011018?
01E1 988 L011017?:
01E1 7D80 989 mov r5,#0x80
01E3 990 L011018?:
01E3 8D82 991 mov dpl,r5
01E5 C002 992 push ar2
01E7 C003 993 push ar3
01E9 C004 994 push ar4
01EB 120100 995 lcall _WriteCommand
01EE 996 ; C:\Users\carso\Documents\1. School\0. Spring 2018\Elec 292\lab4\hr_monitor.c:202: waitms(5);
01EE 900005 997 mov dptr,#0x0005
01F1 120100 998 lcall _waitms
01F4 D004 999 pop ar4
01F6 D003 1000 pop ar3