Displayinitialisierung_16F877A_abfragen_fix.asm


1
;**********************************************************************
2
;   This file is a basic code template for assembly code generation   *
3
;   on the PIC16F877A. This file contains the basic code              *
4
;   building blocks to build upon.                                    *  
5
;                                                                     *
6
;   Refer to the MPASM User's Guide for additional information on     *
7
;   features of the assembler (Document DS33014).                     *
8
;                                                                     *
9
;   Refer to the respective PIC data sheet for additional             *
10
;   information on the instruction set.                               *
11
;                                                                     *
12
;**********************************************************************
13
;                                                                     *
14
;    Filename:      Displayinitialisierung 16F877A.asm                *
15
;    Date:                                                            *
16
;    File Version:  1.0                                               *
17
;                                                                     *
18
;    Author:                                                          *
19
;    Company:                                                         *
20
;                                                                     * 
21
;                                                                     *
22
;**********************************************************************
23
;                                                                     *
24
;    Files Required: P16F877A.INC                                     *
25
;                                                                     *
26
;**********************************************************************
27
;                                                                     *
28
;    Notes:                                                           *
29
;                                                                     *
30
;**********************************************************************
31
32
33
  list    p=16f877A  ; list directive to define processor
34
  #include  <p16f877A.inc>  ; processor specific variable definitions
35
  
36
  __CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _HS_OSC & _WRT_OFF & _LVP_OFF & _CPD_OFF
37
38
; '__CONFIG' directive is used to embed configuration data within .asm file.
39
; The lables following the directive are located in the respective .inc file.
40
; See respective data sheet for additional information on configuration word.
41
42
43
44
45
46
47
;***** VARIABLE DEFINITIONS
48
w_temp      EQU    0x7D    ; variable used for context saving 
49
status_temp    EQU    0x7E    ; variable used for context saving
50
pclath_temp    EQU    0x7F    ; variable used for context saving
51
buffer      EQU    0x20
52
bytecount    EQU    0x21
53
counterp    EQU    0x22
54
counter0    EQU    0x23
55
timercache    EQU     0x24
56
timer      EQU    0x25
57
wait1      EQU    0x26
58
wait2      EQU    0x27
59
rstwait1    EQU    0x28
60
rstwait2    EQU    0x29
61
62
63
; Pin Definitionen
64
65
#define  SCE      PORTB,0
66
#define RST      PORTB,3
67
#define  DC      PORTB,4
68
#define VDD      PORTB,5    ; VDD Display
69
#define SW1      PORTB,6    ; On/Off
70
#define SW2      PORTB,7    ; PWM Steuerung
71
#define  COLLED    PORTA,0    ; Datenkollisions-LED
72
#define  BL      PORTA,1    ; Hintergrundbeleuchtung PWM gesteuert
73
74
75
76
77
;**********************************************************************
78
    ORG     0x000             ; processor reset vector
79
    clrf    PCLATH            ; ensure page bits are cleared
80
      goto    Init               ; go to beginning of program
81
82
    ORG     0x004             ; interrupt vector location
83
84
  movwf   w_temp            ; save off current W register contents
85
  movf  STATUS,w          ; move status register into W register
86
  movwf  status_temp       ; save off contents of STATUS register
87
  movf  PCLATH,w    ; move pclath register into w register
88
  movwf  pclath_temp    ; save off contents of PCLATH register
89
90
; isr code can go here or be located as a call subroutine elsewhere
91
92
  movf  pclath_temp,w    ; retrieve copy of PCLATH register
93
  movwf  PCLATH      ; restore pre-isr PCLATH register contents
94
  movf    status_temp,w     ; retrieve copy of STATUS register
95
  movwf  STATUS            ; restore pre-isr STATUS register contents
96
  swapf   w_temp,f
97
  swapf   w_temp,w          ; restore pre-isr W register contents
98
  retfie                    ; return from interrupt
99
100
101
102
Init
103
104
  clrf  INTCON
105
  BCF   STATUS, RP0      ;
106
  BCF   STATUS, RP1     ; Bank0
107
  CLRF   PORTA         ; Initialize PORTA by
108
  CLRF   PORTB
109
  clrf   PORTC        ; clearing output
110
                ; data latches
111
  BSF   STATUS, RP0     ; Select Bank 1
112
  MOVLW   0x06         ; Configure all pins
113
  MOVWF   ADCON1         ; as digital inputs
114
  bcf     STATUS, RP0      ; unschalten auf Bank 0
115
  bsf    STATUS, RP0
116
  movlw  B'00000000'      ; RA output
117
  movwf  TRISA
118
  bcf    STATUS, RP0
119
  clrf  PORTA
120
  bsf    STATUS, RP0      
121
  movlw  B'11000000'      ;RB0-RB5 output
122
  movwf  TRISB
123
  bcf    STATUS, RP0
124
  clrf  PORTB
125
  bsf    STATUS, RP0
126
  movlw  B'00010000'      ; RC output
127
  movwf  TRISC
128
  bcf    STATUS, RP0
129
  clrf  PORTC
130
  bsf    STATUS, RP0
131
  movlw  B'01000000'
132
  movwf  SSPSTAT
133
  bcf    STATUS, RP0
134
  movlw  B'00100001'
135
  movwf  SSPCON
136
  movlw  D'123'
137
  movwf  counter0
138
  clrf  PIR1
139
140
LCDinit
141
142
  
143
  bsf    SCE
144
  bsf    VDD
145
  bcf    RST        ; Display Reset nach Vdd on
146
  clrf  rstwait1
147
  clrf  rstwait2
148
  call  wait4rst
149
  bcf    DC
150
  bsf    RST
151
  goto  config1
152
153
154
wait4rst
155
156
  clrf  STATUS
157
  incfsz  rstwait1,f  
158
  goto  wait4rst
159
  clrf  STATUS
160
  incfsz  rstwait2,f
161
  goto  wait4rst
162
163
  return
164
165
config1
166
167
  bcf    SCE
168
  movlw  B'00100001'
169
  movwf  SSPBUF
170
  
171
172
  BANKSEL SSPSTAT       ; BANK 1
173
174
config2
175
176
  btfss   SSPSTAT,BF       ; Data transfer complete? (Buffer Full?)
177
  goto   config2       ; if not, check again
178
  BANKSEL SSPBUF         ; BANK0
179
  movf   SSPBUF,W       ; Get Data from SSPBUF
180
  ;                 ; Throw it away
181
  bcf    DC
182
  movlw  0xB5        ;Displaykontrast**************************************************************
183
  movwf  SSPBUF
184
  btfsc  SSPCON,7
185
  bcf    COLLED
186
187
  BANKSEL  SSPSTAT
188
  
189
config3
190
191
  btfss   SSPSTAT,BF       ; Data transfer complete? (Buffer Full?)
192
  goto   config3       ; if not, check again
193
  BANKSEL SSPBUF         ; BANK0
194
  movf   SSPBUF,W       ; Get Data from SSPBUF
195
  ;                 ; Throw it away
196
  bcf    DC
197
  movlw  0x04
198
  movwf  SSPBUF
199
  btfsc  SSPCON,7
200
  bsf    COLLED
201
  
202
  BANKSEL  SSPSTAT
203
204
config4
205
206
  
207
  btfss   SSPSTAT,BF       ; Data transfer complete? (Buffer Full?)
208
  goto   config4       ; if not, check again
209
  BANKSEL SSPBUF         ; BANK0
210
  movf   SSPBUF,W       ; Get Data from SSPBUF
211
  ;                 ; Throw it away
212
  bcf    DC
213
  movlw  0x14
214
  movwf  SSPBUF
215
  btfsc  SSPCON,7
216
  bcf    COLLED
217
  
218
  BANKSEL  SSPSTAT
219
220
config5
221
222
  
223
  btfss   SSPSTAT,BF       ; Data transfer complete? (Buffer Full?)
224
  goto   config5       ; if not, check again
225
  BANKSEL SSPBUF         ; BANK0
226
  movf   SSPBUF,W       ; Get Data from SSPBUF
227
  ;                 ; Throw it away
228
  bcf    DC
229
  movlw  0x20
230
  movwf  SSPBUF
231
  btfsc  SSPCON,7
232
  bsf    COLLED
233
  
234
  BANKSEL  SSPSTAT
235
236
config6
237
238
  
239
  btfss   SSPSTAT,BF       ; Data transfer complete? (Buffer Full?)
240
  goto   config2       ; if not, check again
241
  BANKSEL SSPBUF         ; BANK0
242
  movf   SSPBUF,W       ; Get Data from SSPBUF
243
  ;                 ; Throw it away
244
  bcf    DC
245
  movlw  0x0C
246
  movwf  SSPBUF
247
  btfsc  SSPCON,7
248
  bcf    COLLED
249
  
250
  BANKSEL  SSPSTAT
251
  
252
config7
253
254
  
255
  btfss   SSPSTAT,BF       ; Data transfer complete? (Buffer Full?)
256
  goto   config2       ; if not, check again
257
  BANKSEL SSPBUF         ; BANK0
258
  movf   SSPBUF,W       ; Get Data from SSPBUF
259
  ;                 ; Throw it away
260
  bcf    DC
261
  movlw  B'00100010'
262
  movwf  SSPBUF
263
  btfsc  SSPCON,7
264
  bsf    COLLED
265
266
  bsf    SCE
267
268
LCDon
269
270
  btfsc  SW1
271
  goto  LCDon
272
  call  wait4set
273
  clrf  wait1
274
  clrf  wait2
275
  call  setxaddr
276
  bsf    DC
277
  bcf    SCE
278
  goto  SendT1
279
280
setxaddr
281
282
  bcf    DC
283
  BANKSEL  SSPSTAT
284
  btfss   SSPSTAT,BF       ; Data transfer complete? (Buffer Full?)
285
  goto   setxaddr       ; if not, check again
286
  BANKSEL SSPBUF         ; BANK0
287
  movf   SSPBUF,W       ; Get Data from SSPBUF
288
  ;                 ; Throw it away
289
  bcf    DC
290
  bcf    SCE
291
  movlw  B'10000000'
292
  movwf  SSPBUF
293
  btfsc  SSPCON,7
294
  bcf    COLLED
295
  
296
  BANKSEL  SSPSTAT
297
setyaddr
298
299
  bcf    DC
300
  btfss   SSPSTAT,BF       ; Data transfer complete? (Buffer Full?)
301
  goto   setyaddr       ; if not, check again
302
  BANKSEL SSPBUF         ; BANK0
303
  movf   SSPBUF,W       ; Get Data from SSPBUF
304
  ;                 ; Throw it away
305
  movlw  B'01000000'
306
  movwf  SSPBUF
307
  btfsc  SSPCON,7
308
  bsf    COLLED
309
  
310
311
  return
312
313
wait4set
314
315
  clrf  STATUS
316
  incfsz  wait1,f  
317
  goto  wait4set
318
  clrf  STATUS
319
  incfsz  wait2,f
320
  goto  wait4set
321
  
322
  
323
chk4set
324
  
325
  btfss  SW1
326
  goto  chk4set
327
328
  return
329
330
LCDoff
331
332
; Software-PWM Hintergrundbeleuchtung
333
  
334
  movf  counter0,w
335
  bsf    STATUS,C
336
  bcf    STATUS,Z
337
  subwf  counterp,w
338
  btfsc  STATUS,Z
339
  bcf    BL
340
  btfss  STATUS,C
341
  bcf    BL
342
  bcf    STATUS,C
343
  incf  counterp,f
344
  btfsc  STATUS,C
345
  bsf    BL
346
  btfss  SW2
347
  call  incPWM
348
  
349
; OFF-Tasterabfrage
350
351
  btfsc  PIR1,3
352
  bcf    DC
353
  btfsc  PIR1,3
354
  bsf    SCE
355
  btfsc  SW1
356
  goto  LCDoff
357
  call  wait4set
358
  bcf    SCE
359
  bsf    DC
360
  bcf    BL
361
  clrf  bytecount
362
363
powerdown
364
365
  btfss  PIR1,3
366
  goto  powerdown
367
  bcf    PIR1,3
368
  movlw  0x00
369
  movwf  SSPBUF
370
  incf  bytecount,f
371
  movf  bytecount,w
372
  clrf  STATUS
373
  sublw  D'252'
374
  btfss  STATUS,Z
375
  goto  powerdown
376
377
  clrf  bytecount
378
379
powerdown2
380
381
  btfss  PIR1,3
382
  goto  powerdown2
383
  bcf    PIR1,3
384
  movlw  0x00
385
  movwf  SSPBUF
386
  incf  bytecount,f
387
  movf  bytecount,w
388
  clrf  STATUS
389
  sublw  D'252'
390
  btfss  STATUS,Z
391
  goto  powerdown2
392
  
393
  bcf    DC
394
  clrf  bytecount
395
396
sendPD
397
398
  btfss  PIR1,3
399
  goto  sendPD
400
  bcf    PIR1,3
401
  movlw  B'00100100'
402
  movwf  SSPBUF
403
  
404
wakeup
405
406
  btfsc  SW1
407
  goto  wakeup
408
  call  wait4set
409
  
410
411
412
wakeupbyte
413
414
  btfss  PIR1,3
415
  goto  wakeupbyte
416
  movlw  0x20  
417
  movwf  SSPBUF
418
419
  goto  LCDon
420
421
422
incPWM
423
  
424
  clrf  STATUS
425
  incf  timercache,f
426
  btfsc  STATUS,C
427
  incf  timer,f
428
  movf  timer,w
429
  clrf  STATUS
430
  sublw  D'27'
431
  btfsc  STATUS,Z
432
  incf  counter0,f
433
  
434
  return
435
436
SendT1
437
438
  BANKSEL  SSPSTAT
439
  btfss   SSPSTAT,BF       ; Data transfer complete? (Buffer Full?)
440
  goto   SendT1         ; if not, check again
441
  BANKSEL SSPBUF         ; BANK0
442
  movf   SSPBUF,W       ; Get Data from SSPBUF
443
  ;                 ; Throw it away
444
  bsf    DC
445
  movlw   HIGH  Logo1T1 
446
    movwf   PCLATH
447
  movf  bytecount,w
448
  call  Logo1T1
449
  movwf  SSPBUF
450
  incf  bytecount,f
451
  bcf    STATUS,Z
452
  movlw  D'252'
453
  subwf  bytecount,w
454
  btfss  STATUS,Z
455
456
  goto  SendT1
457
  clrf  bytecount
458
  
459
SendT2
460
461
  BANKSEL  SSPSTAT
462
  btfss   SSPSTAT,BF       ; Data transfer complete? (Buffer Full?)
463
  goto   config2       ; if not, check again
464
  BANKSEL SSPBUF         ; BANK0
465
  movf   SSPBUF,W       ; Get Data from SSPBUF
466
  ;                 ; Throw it away
467
  bsf    DC
468
  movlw   HIGH  Logo1T2 
469
    movwf   PCLATH
470
  movf  bytecount,w
471
  call  Logo1T2
472
  movwf  SSPBUF
473
  incf  bytecount,f
474
  bcf    STATUS,Z
475
  movlw  D'252'
476
  subwf  bytecount,w
477
  btfss  STATUS,Z
478
479
  goto  SendT2
480
  
481
  goto  LCDoff
482
483
484
;*************** Testtabellen
485
486
487
      org    0x200
488
489
Logo1T1
490
491
    addwf  PCL,1
492
        retlw   0xFF      ; Byte1
493
        retlw    0xFF      ; Byte2
494
        retlw    0xFF      ; Byte3
495
        retlw    0xDF      ; Byte4
496
        retlw    0x8F      ; Byte5
497
        retlw    0x07      ; Byte6
498
        retlw    0x07      ; Byte7
499
        retlw    0x07      ; Byte8
500
        retlw    0x07      ; Byte9
501
        retlw    0x07      ; Byte10
502
        retlw    0x07      ; Byte11
503
        retlw    0x07      ; Byte12
504
        retlw    0x07      ; Byte13
505
        retlw    0x07      ; Byte14
506
        retlw    0x07      ; Byte15
507
        retlw    0x07      ; Byte16
508
        retlw   0x07      ; Byte17
509
        retlw    0x07      ; Byte18
510
        retlw    0x07      ; Byte19
511
        retlw    0x07      ; Byte20
512
        retlw    0x07      ; Byte21
513
        retlw    0x07      ; Byte22
514
        retlw    0x07      ; Byte23
515
        retlw    0x07      ; Byte24
516
        retlw    0x07      ; Byte25
517
        retlw    0x07      ; Byte26
518
        retlw    0x07      ; Byte27
519
        retlw    0x07      ; Byte28
520
        retlw    0x07      ; Byte29
521
        retlw    0x07      ; Byte30
522
        retlw    0x07      ; Byte31
523
        retlw    0x07      ; Byte32
524
        retlw   0x07      ; Byte33
525
        retlw    0x07      ; Byte34
526
        retlw    0x07      ; Byte35
527
        retlw    0x07      ; Byte36
528
        retlw    0x07      ; Byte37
529
        retlw    0x07      ; Byte38
530
        retlw    0x07      ; Byte39
531
        retlw    0x07      ; Byte40
532
        retlw    0x8F      ; Byte41
533
        retlw    0xDF      ; Byte42
534
        retlw    0xFF      ; Byte43
535
        retlw    0xFF      ; Byte44
536
        retlw    0xFF      ; Byte45
537
        retlw    0xFF      ; Byte46
538
        retlw    0xFF      ; Byte47
539
        retlw    0xFF      ; Byte48
540
        retlw   0xFF      ; Byte49
541
        retlw    0xFF      ; Byte50
542
        retlw    0xFF      ; Byte51
543
        retlw    0xFF      ; Byte52
544
        retlw    0xFF      ; Byte53
545
        retlw    0xFF      ; Byte54
546
        retlw    0xFF      ; Byte55
547
        retlw    0xFF      ; Byte56
548
        retlw    0xFF      ; Byte57
549
        retlw    0xFF      ; Byte58
550
        retlw    0xFF      ; Byte59
551
        retlw    0xFF      ; Byte60
552
        retlw    0xFF      ; Byte61
553
        retlw    0xFF      ; Byte62
554
        retlw    0xFF      ; Byte63
555
        retlw    0xFF      ; Byte64
556
        retlw   0xFF      ; Byte65
557
        retlw    0xFF      ; Byte66
558
        retlw    0xFF      ; Byte67
559
        retlw    0xFF      ; Byte68
560
        retlw    0xFF      ; Byte69
561
        retlw    0xFF      ; Byte70
562
        retlw    0xFF      ; Byte71
563
        retlw    0xFF      ; Byte72
564
        retlw    0xFF      ; Byte73
565
        retlw    0xFF      ; Byte74
566
        retlw    0xFF      ; Byte75
567
        retlw    0xFF      ; Byte76
568
        retlw    0xFF      ; Byte77
569
        retlw    0xFF      ; Byte78
570
        retlw    0xFF      ; Byte79
571
        retlw    0xFF      ; Byte80
572
        retlw   0xFF      ; Byte81
573
        retlw    0xFF      ; Byte82
574
        retlw    0xFF      ; Byte83
575
        retlw    0xFF      ; Byte84
576
        retlw    0xFF      ; Byte85
577
        retlw    0xFF      ; Byte86
578
        retlw    0xFF      ; Byte87
579
        retlw    0xFF      ; Byte88
580
        retlw    0xFF      ; Byte89
581
        retlw    0xFF      ; Byte90
582
        retlw    0xFF      ; Byte91
583
        retlw    0xFF      ; Byte92
584
        retlw    0xFF      ; Byte93
585
        retlw    0xFF      ; Byte94
586
        retlw    0x7F      ; Byte95
587
        retlw    0x3F      ; Byte96
588
        retlw   0x1F      ; Byte97
589
        retlw    0x0F      ; Byte98
590
        retlw    0x07      ; Byte99
591
        retlw    0x03      ; Byte100
592
        retlw    0x01      ; Byte101
593
        retlw    0x00      ; Byte102
594
        retlw    0x00      ; Byte103
595
        retlw    0x00      ; Byte104
596
        retlw    0x00      ; Byte105
597
        retlw    0x00      ; Byte106
598
        retlw    0x80      ; Byte107
599
        retlw    0xC0      ; Byte108
600
        retlw    0xE0      ; Byte109
601
        retlw    0xF0      ; Byte110
602
        retlw    0xF8      ; Byte111
603
        retlw    0xFC      ; Byte112
604
        retlw   0xFE      ; Byte113
605
        retlw    0xFF      ; Byte114
606
        retlw    0xFF      ; Byte115
607
        retlw    0xFF      ; Byte116
608
        retlw    0xFF      ; Byte117
609
        retlw    0xFF      ; Byte118
610
        retlw    0xFF      ; Byte119
611
        retlw    0xFF      ; Byte120
612
        retlw    0xFF      ; Byte121
613
        retlw    0xFF      ; Byte122
614
        retlw    0xFF      ; Byte123
615
        retlw    0xFF      ; Byte124
616
        retlw    0xFF      ; Byte125
617
        retlw    0xFF      ; Byte126
618
        retlw    0xFF      ; Byte127
619
        retlw    0xFF      ; Byte128
620
        retlw   0xFF      ; Byte129
621
        retlw    0xFF      ; Byte130
622
        retlw    0xFF      ; Byte131
623
        retlw    0xFF      ; Byte132
624
        retlw    0xFF      ; Byte133
625
        retlw    0xFF      ; Byte134
626
        retlw    0xFF      ; Byte135
627
        retlw    0xFF      ; Byte136
628
        retlw    0xFF      ; Byte137
629
        retlw    0xFF      ; Byte138
630
        retlw    0xFF      ; Byte139
631
        retlw    0xFF      ; Byte140
632
        retlw    0xFF      ; Byte141
633
        retlw    0xFF      ; Byte142
634
        retlw    0xFF      ; Byte143
635
        retlw    0xFF      ; Byte144
636
        retlw   0xFF      ; Byte145
637
        retlw    0xFF      ; Byte146
638
        retlw    0xFF      ; Byte147
639
        retlw    0xFF      ; Byte148
640
        retlw    0xFF      ; Byte149
641
        retlw    0xFF      ; Byte150
642
        retlw    0xFF      ; Byte151
643
        retlw    0xFF      ; Byte152
644
        retlw    0xFF      ; Byte153
645
        retlw    0xFF      ; Byte154
646
        retlw    0xFF      ; Byte155
647
        retlw    0xFF      ; Byte156
648
        retlw    0xFF      ; Byte157
649
        retlw    0xFF      ; Byte158
650
        retlw    0xFF      ; Byte159
651
        retlw    0xFF      ; Byte160
652
        retlw   0xFF      ; Byte161
653
        retlw    0xFF      ; Byte162
654
        retlw    0xFF      ; Byte163
655
        retlw    0xFF      ; Byte164
656
        retlw    0xFF      ; Byte165
657
        retlw    0xFF      ; Byte166
658
        retlw    0xFF      ; Byte167
659
        retlw    0xFF      ; Byte168
660
        retlw    0xFF      ; Byte169
661
        retlw    0xFF      ; Byte170
662
        retlw    0xFF      ; Byte171
663
        retlw    0xFF      ; Byte172
664
        retlw    0xFF      ; Byte173
665
        retlw    0xFF      ; Byte174
666
        retlw    0xFF      ; Byte175
667
        retlw    0xFB      ; Byte176
668
        retlw   0xF9      ; Byte177
669
        retlw    0xF8      ; Byte178
670
        retlw    0xF8      ; Byte179
671
        retlw    0x78      ; Byte180
672
        retlw    0x38      ; Byte181
673
        retlw    0x18      ; Byte182
674
        retlw    0x08      ; Byte183
675
        retlw    0x00      ; Byte184
676
        retlw    0x00      ; Byte185
677
        retlw    0x00      ; Byte186
678
        retlw    0x00      ; Byte187
679
        retlw    0x00      ; Byte188
680
        retlw    0x80      ; Byte189
681
        retlw    0xC0      ; Byte190
682
        retlw    0xE0      ; Byte191
683
        retlw    0xF0      ; Byte192
684
        retlw   0xF8      ; Byte193
685
        retlw    0xFC      ; Byte194
686
        retlw    0xFE      ; Byte195
687
        retlw    0xFF      ; Byte196
688
        retlw    0xFF      ; Byte197
689
        retlw    0xFF      ; Byte198
690
        retlw    0xFF      ; Byte199
691
        retlw    0xFF      ; Byte200
692
        retlw    0xFF      ; Byte201
693
        retlw    0xFF      ; Byte202
694
        retlw    0xFF      ; Byte203
695
        retlw    0xFF      ; Byte204
696
        retlw    0xFF      ; Byte205
697
        retlw    0xFF      ; Byte206
698
        retlw    0xFF      ; Byte207
699
        retlw    0xFF      ; Byte208
700
        retlw   0xFF      ; Byte209
701
        retlw    0xFF      ; Byte210
702
        retlw    0xFF      ; Byte211
703
        retlw    0xFF      ; Byte212
704
        retlw    0xFF      ; Byte213
705
        retlw    0xFF      ; Byte214
706
        retlw    0xFF      ; Byte215
707
        retlw    0xFF      ; Byte216
708
        retlw    0xFF      ; Byte217
709
        retlw    0xFF      ; Byte218
710
        retlw    0xFF      ; Byte219
711
        retlw    0xFF      ; Byte220
712
        retlw    0xFF      ; Byte221
713
        retlw    0xFF      ; Byte222
714
        retlw    0xFF      ; Byte223
715
        retlw    0xFF      ; Byte224
716
        retlw   0xFF      ; Byte225
717
        retlw    0xFF      ; Byte226
718
        retlw    0xFF      ; Byte227
719
        retlw    0xFF      ; Byte228
720
        retlw    0xFF      ; Byte229
721
        retlw    0xFF      ; Byte230
722
        retlw    0xFF      ; Byte231
723
        retlw    0xFF      ; Byte232
724
        retlw    0xFF      ; Byte233
725
        retlw    0xFF      ; Byte234
726
        retlw    0xFF      ; Byte235
727
        retlw    0xFF      ; Byte236
728
        retlw    0xFF      ; Byte237
729
        retlw    0xFF      ; Byte238
730
        retlw    0xFF      ; Byte239
731
        retlw    0xFF      ; Byte240
732
        retlw   0xFF      ; Byte241
733
        retlw    0xFF      ; Byte242
734
        retlw    0xFF      ; Byte243
735
        retlw    0xFF      ; Byte244
736
        retlw    0xFF      ; Byte245
737
        retlw    0xFF      ; Byte246
738
        retlw    0xFF      ; Byte247
739
        retlw    0xFF      ; Byte248
740
        retlw    0xFF      ; Byte249
741
        retlw    0xFF      ; Byte250
742
        retlw    0xFF      ; Byte251
743
        retlw    0xFF      ; Byte252
744
        
745
    
746
747
748
      org    0x500
749
750
Logo1T2
751
752
    addwf   PCL,1
753
        retlw    0xFF      ; Byte253
754
        retlw    0xFF      ; Byte254
755
        retlw    0xFF      ; Byte255
756
        retlw    0xFF      ; Byte256
757
        retlw   0xFF      ; Byte257
758
        retlw    0xDF      ; Byte258
759
        retlw    0xCF      ; Byte259
760
        retlw    0xC7      ; Byte260
761
        retlw    0xC3      ; Byte261
762
        retlw    0x41      ; Byte262
763
        retlw    0x00      ; Byte263
764
        retlw    0x00      ; Byte264
765
        retlw    0x00      ; Byte265
766
        retlw    0x00      ; Byte266
767
        retlw    0x00      ; Byte267
768
        retlw    0x00      ; Byte268
769
        retlw    0x00      ; Byte269
770
        retlw    0x00      ; Byte270
771
        retlw    0x82      ; Byte271
772
        retlw    0xC3      ; Byte272
773
        retlw   0x63      ; Byte273
774
        retlw    0x73      ; Byte274
775
        retlw    0x7B      ; Byte275
776
        retlw    0x7F      ; Byte276
777
        retlw    0xFF      ; Byte277
778
        retlw    0xFF      ; Byte278
779
        retlw    0xFF      ; Byte279
780
        retlw    0xFF      ; Byte280
781
        retlw    0x7F      ; Byte281
782
        retlw    0x7F      ; Byte282
783
        retlw    0x7F      ; Byte283
784
        retlw    0x7F      ; Byte284
785
        retlw    0xFF      ; Byte285
786
        retlw    0xFF      ; Byte286
787
        retlw    0xFF      ; Byte287
788
        retlw    0xFF      ; Byte288
789
        retlw   0xFF      ; Byte289
790
        retlw    0x7F      ; Byte290
791
        retlw    0x3F      ; Byte291
792
        retlw    0x3F      ; Byte292
793
        retlw    0x3F      ; Byte293
794
        retlw    0xFF      ; Byte294
795
        retlw    0xFF      ; Byte295
796
        retlw    0xFF      ; Byte296
797
        retlw    0xFF      ; Byte297
798
        retlw    0xFF      ; Byte298
799
        retlw    0xFF      ; Byte299
800
        retlw    0xFF      ; Byte300
801
        retlw    0xFF      ; Byte301
802
        retlw    0x7F      ; Byte302
803
        retlw    0x7F      ; Byte303
804
        retlw    0xFF      ; Byte304
805
        retlw   0xFF      ; Byte305
806
        retlw    0xFF      ; Byte306
807
        retlw    0xFF      ; Byte307
808
        retlw    0xFF      ; Byte308
809
        retlw    0xFF      ; Byte309
810
        retlw    0xFF      ; Byte310
811
        retlw    0xFF      ; Byte311
812
        retlw    0x7F      ; Byte312
813
        retlw    0x3F      ; Byte313
814
        retlw    0x1F      ; Byte314
815
        retlw    0x0F      ; Byte315
816
        retlw    0x0F      ; Byte316
817
        retlw    0x0F      ; Byte317
818
        retlw    0xCF      ; Byte318
819
        retlw    0xFF      ; Byte319
820
        retlw    0xFF      ; Byte320
821
        retlw   0xFF      ; Byte321
822
        retlw    0xDF      ; Byte322
823
        retlw    0x8F      ; Byte323
824
        retlw    0x8F      ; Byte324
825
        retlw    0x8F      ; Byte325
826
        retlw    0x9F      ; Byte326
827
        retlw    0x9F      ; Byte327
828
        retlw    0x9F      ; Byte328
829
        retlw    0x9F      ; Byte329
830
        retlw    0x1F      ; Byte330
831
        retlw    0x1F      ; Byte331
832
        retlw    0x1F      ; Byte332
833
        retlw    0x1F      ; Byte333
834
        retlw    0x9F      ; Byte334
835
        retlw    0xDF      ; Byte335
836
        retlw    0xFF      ; Byte336
837
        retlw   0xFF      ; Byte337
838
        retlw    0xFF      ; Byte338
839
        retlw    0xFF      ; Byte339
840
        retlw    0xFF      ; Byte340
841
        retlw    0xFF      ; Byte341
842
        retlw    0x3F      ; Byte342
843
        retlw    0x1F      ; Byte343
844
        retlw    0x07      ; Byte344
845
        retlw    0x01      ; Byte345
846
        retlw    0x00      ; Byte346
847
        retlw    0x80      ; Byte347
848
        retlw    0xC0      ; Byte348
849
        retlw    0xE0      ; Byte349
850
        retlw    0xF0      ; Byte350
851
        retlw    0xF8      ; Byte351
852
        retlw    0xFC      ; Byte352
853
        retlw   0xFE      ; Byte353
854
        retlw    0xFF      ; Byte354
855
        retlw    0x7F      ; Byte355
856
        retlw    0x0F      ; Byte356
857
        retlw    0x01      ; Byte357
858
        retlw    0xC0      ; Byte358
859
        retlw    0xCC      ; Byte359
860
        retlw    0xCF      ; Byte360
861
        retlw    0xCF      ; Byte361
862
        retlw    0xCF      ; Byte362
863
        retlw    0x0F      ; Byte363
864
        retlw    0x0F      ; Byte364
865
        retlw    0x81      ; Byte365
866
        retlw    0xC0      ; Byte366
867
        retlw    0xEC      ; Byte367
868
        retlw    0x9F      ; Byte368
869
        retlw   0x07      ; Byte369
870
        retlw    0x07      ; Byte370
871
        retlw    0xE3      ; Byte371
872
        retlw    0xF1      ; Byte372
873
        retlw    0xF8      ; Byte373
874
        retlw    0xFC      ; Byte374
875
        retlw    0xFE      ; Byte375
876
        retlw    0xFE      ; Byte376
877
        retlw    0x7C      ; Byte377
878
        retlw    0x38      ; Byte378
879
        retlw    0x01      ; Byte379
880
        retlw    0x83      ; Byte380
881
        retlw    0xC7      ; Byte381
882
        retlw    0xFF      ; Byte382
883
        retlw    0x03      ; Byte383
884
        retlw    0x01      ; Byte384
885
        retlw   0x80      ; Byte385
886
        retlw    0x0C      ; Byte386
887
        retlw    0x0C      ; Byte387
888
        retlw    0xC0      ; Byte388
889
        retlw    0xE0      ; Byte389
890
        retlw    0xF1      ; Byte390
891
        retlw    0xFB      ; Byte391
892
        retlw    0xFF      ; Byte392
893
        retlw    0xFF      ; Byte393
894
        retlw    0xF9      ; Byte394
895
        retlw    0xF8      ; Byte395
896
        retlw    0x7C      ; Byte396
897
        retlw    0x1E      ; Byte397
898
        retlw    0x03      ; Byte398
899
        retlw    0xC0      ; Byte399
900
        retlw    0xF0      ; Byte400
901
        retlw   0xFE      ; Byte401
902
        retlw    0xFF      ; Byte402
903
        retlw    0xFF      ; Byte403
904
        retlw    0xFF      ; Byte404
905
        retlw    0xFF      ; Byte405
906
        retlw    0x7F      ; Byte406
907
        retlw    0x3F      ; Byte407
908
        retlw    0x0F      ; Byte408
909
        retlw    0x07      ; Byte409
910
        retlw    0x87      ; Byte410
911
        retlw    0xC3      ; Byte411
912
        retlw    0xE1      ; Byte412
913
        retlw    0xF0      ; Byte413
914
        retlw    0xF8      ; Byte414
915
        retlw    0xFC      ; Byte415
916
        retlw    0xFE      ; Byte416
917
        retlw   0xFF      ; Byte417
918
        retlw    0xFF      ; Byte418
919
        retlw    0xFF      ; Byte419
920
        retlw    0xFF      ; Byte420
921
        retlw    0xFF      ; Byte421
922
        retlw    0xBF      ; Byte422
923
        retlw    0xCF      ; Byte423
924
        retlw    0xC3      ; Byte424
925
        retlw    0xE0      ; Byte425
926
        retlw    0xF0      ; Byte426
927
        retlw    0xF8      ; Byte427
928
        retlw    0xFC      ; Byte428
929
        retlw    0xFE      ; Byte429
930
        retlw    0xFF      ; Byte430
931
        retlw    0xFF      ; Byte431
932
        retlw    0xFF      ; Byte432
933
        retlw   0xFF      ; Byte433
934
        retlw    0xFF      ; Byte434
935
        retlw    0xFF      ; Byte435
936
        retlw    0xFF      ; Byte436
937
        retlw    0xEF      ; Byte437
938
        retlw    0xE3      ; Byte438
939
        retlw    0xE0      ; Byte439
940
        retlw    0xE8      ; Byte440
941
        retlw    0xFF      ; Byte441
942
        retlw    0xFF      ; Byte442
943
        retlw    0xFF      ; Byte443
944
        retlw    0xFF      ; Byte444
945
        retlw    0xEF      ; Byte445
946
        retlw    0xE3      ; Byte446
947
        retlw    0xE0      ; Byte447
948
        retlw    0xE8      ; Byte448
949
        retlw   0xFF      ; Byte449
950
        retlw    0xFF      ; Byte450
951
        retlw    0xFF      ; Byte451
952
        retlw    0xFF      ; Byte452
953
        retlw    0xFE      ; Byte453
954
        retlw    0xF8      ; Byte454
955
        retlw    0xF0      ; Byte455
956
        retlw    0xF1      ; Byte456
957
        retlw    0xF1      ; Byte457
958
        retlw    0xF1      ; Byte458
959
        retlw    0xF9      ; Byte459
960
        retlw    0xF8      ; Byte460
961
        retlw    0xFC      ; Byte461
962
        retlw    0xFE      ; Byte462
963
        retlw    0xFF      ; Byte463
964
        retlw    0xFF      ; Byte464
965
        retlw   0xFF      ; Byte465
966
        retlw    0xF7      ; Byte466
967
        retlw    0xF0      ; Byte467
968
        retlw    0xF0      ; Byte468
969
        retlw    0xF7      ; Byte469
970
        retlw    0xFF      ; Byte470
971
        retlw    0xFC      ; Byte471
972
        retlw    0xF8      ; Byte472
973
        retlw    0xF1      ; Byte473
974
        retlw    0xF3      ; Byte474
975
        retlw    0xFF      ; Byte475
976
        retlw    0xFF      ; Byte476
977
        retlw    0xEF      ; Byte477
978
        retlw    0xE7      ; Byte478
979
        retlw    0xE1      ; Byte479
980
        retlw    0xE0      ; Byte480
981
        retlw   0xE0      ; Byte481
982
        retlw    0xE6      ; Byte482
983
        retlw    0xEF      ; Byte483
984
        retlw    0xFF      ; Byte484
985
        retlw    0xEF      ; Byte485
986
        retlw    0xE7      ; Byte486
987
        retlw    0xE3      ; Byte487
988
        retlw    0xE1      ; Byte488
989
        retlw    0xE0      ; Byte489
990
        retlw    0xE8      ; Byte490
991
        retlw    0xFC      ; Byte491
992
        retlw    0xFE      ; Byte492
993
        retlw    0xFF      ; Byte493
994
        retlw    0xFF      ; Byte494
995
        retlw    0xFF      ; Byte495
996
        retlw    0xFF      ; Byte496
997
        retlw   0xFF      ; Byte497
998
        retlw    0xFF      ; Byte498
999
        retlw    0xFF      ; Byte499
1000
        retlw    0xFF      ; Byte500
1001
        retlw    0xFF      ; Byte501
1002
        retlw    0xFF      ; Byte502
1003
        retlw    0xFF      ; Byte503
1004
        retlw    0xFF      ; Byte504
1005
    
1006
    
1007
1008
1009
1010
1011
    END                       ; directive 'end of program'