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