Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
Forum général sur le langage C !

Modérateur : Jérémy

Probleme de compilation avec un PIC 16F628A
tdegremont
Débutant
Débutant
Messages : 30
Enregistré en : novembre 2015

#1 Message par tdegremont » mer. 13 janv. 2016 11:09

Bonjour à toutes et à tous,
Bon, à la lecture de ces posts, je pense avoir compris certaines choses concernant le bootloader...enfin je croyais car cela fait un petit bout de temps que je m'arrache les cheveux avec la programmation d'un PIC16F628A.
Pour résumer, maintenant je n'y comprends plus rien.
J'explique mon petit soucis, et si quelqu'un à une once de solution je suis preneur.

J'ai un fichier d'extension *.hex qui a été développé pour un PIC16f628A (qui est un indicateur de rapport de vitesse).
j'ai fais le schéma sur Proteus v7.9 et chargé le fichier hex dans le microcontroleur....ça fonctionne parfaitement.
Jusque là tout va bien.

Donc je courre acheter un uC 16f628A (vierge).
Et je sors ma carte Easypic v7 (qui n'a jamais encore servi ;-) ), j'installe tous les drivers, et connexion USB cable...
Je lis la documentation, je paramètre correctement les switchs sur la carte.
Et je charge via "Mikroprog Suite for Pic" le fichier Hex dans le PIC...tout se passe bien...pas de message d'erreur...tout à l'air OK.

Je fais mon montage, et là, rien ne se passe, on dirait que le programme ne tourne pas dans le uC.

Donc je commence à lire, et je tombe sur ce fameux Bootloader.
Je crois comprendre, que mon programme principal est bien chargé dans le uC mais sans bootloader serait la même chose qu'un ordinateur sans système d'exploitation (Windows ou autres).
J'utilise l'IDE mikroElectronica, donc toujours en connectant mon easyPic v7 en USB, je voulais utiliser le bootloarder dans le menu Tools.
Je ne vois apparaître que 3 ports COM. et là mon problème arrive, je n'arrive pas à communiquer avec ma carte. impossible de se connecter, j'ai tout essayé tous les ports avec toutes les vitesses. Même problème avec tiny bootloader.
Faut-il un autre câble que USB entre l'ordinateur et ma carte easypic?
la carte EasyPic permet-elle d'enregistrer un bootloader 16F dans un uC16F628A?
Comment savoir que ma carte Easypic est bien sur tel ou tel port COM?
.....

Bref, si quelqu'un à une idée ou des pistes , je suis preneur...

merci d'avance
Thierry

Quest-ce qu'un BootLoader ?
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2597
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#2 Message par paulfjujo » mer. 13 janv. 2016 15:34

bonjour,

Je crois comprendre, que mon programme principal est bien chargé dans le uC mais sans bootloader serait la même chose qu'un ordinateur sans système d'exploitation (Windows ou autres)


un PIC n'a pas besoin de bootloader pour executer une application.
Un 16F628A me parait trop (petit) juste en taille ROM pour pouvoir contenir un bootloader . (il faut minimum 100 , à 256 octets maxi).
J'en ai deja installé dans des versions 16F876 ,877,887,18F25x,18F4685.. mais jamais en 16F628
Je ne dis pas que cela n'est pas possible.

Teste si ton ficher *.hex original a bien son vecteur de demarrage à l'adresse 0000h, saute par dessus le vecteur interruption 0004h
ou qu'il ne renvoi pas vers une zone en fin de memoire .. .
As-tu du code en fond de memoire Flash ROM ?

As-tu le source de ton programme ?

San bootloader incorporé, pour charger l'HEX dans ce PIC , il faudra passer par la liaison ICSP .
et un Pickit2 (3) ou outil programmateur MikroE .
Aide toi, le ciel ou FantasPic t'aidera

Quest-ce qu'un BootLoader ?
tdegremont
Débutant
Débutant
Messages : 30
Enregistré en : novembre 2015

#3 Message par tdegremont » mer. 13 janv. 2016 15:49

bon, donc, a priori, le problème ne viendrait pas d'un bootloader.
pour répondre à tes questions "paulfjujo".

As-tu du code en fond de memoire Flash ROM ?
je ne sais pas comment faire pour le vérifier?????
As-tu le source de ton programme ? non je n'ai que le fichier HEX que j'ai decompiler aussi en fichier asm

San bootloader incorporé, pour charger l'HEX dans ce PIC , il faudra passer par la liaison ICSP .
et un Pickit2 (3) ou outil programmateur MikroE .

c'est à dire que ma carte easypic n'est pas capable de le faire?
Indicateur Rapport Engagé.zip
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.

Probleme de compilation avec un PIC 16F628A
Jérémy
Administrateur du site
Administrateur du site
Messages : 2725
Âge : 45
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#4 Message par Jérémy » mer. 13 janv. 2016 18:43

Bonjour à tous,

Bienvenue à toi tdegremont sur le forum dédié aux PIC FantasPic

moderation a écrit :
Je me suis permis de diviser le sujet pur créer ton propre sujet .
==> Il est préférable d'avoir un sujet par post, facilitant le suivi et les recherches des membres pour l'avenir. Tu pourras changer le titre que j'ai donné à ta post sans probléme.
Je te propose également de bien vouloir mettre un lien sur la DS de ton PIC en éditant ton premier message, suivre les instructions ici, facilitant le travail des personnes désireuses de t'aider !
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Probleme de compilation avec un PIC 16F628A
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#5 Message par Guest » mer. 13 janv. 2016 19:28

Bonsoir

Un simple programmateur Type pickit2 ou 3 va faire affaire j'ai vue ton programme en ASM .il est fait pour un 16F84a . ATTENTION, et il a était décompilé

Simple question comme tu as eu Ton fichier hex ?

Pour ta carte pas de problème, elle doit faire cela tres bien

A+

Probleme de compilation avec un PIC 16F628A
tdegremont
Débutant
Débutant
Messages : 30
Enregistré en : novembre 2015

#6 Message par tdegremont » mer. 13 janv. 2016 21:13

bonsoir et merci d'avoir déplacé le post.
Le fichier asm m'a été donné par un copain motard qui bidouillait lui aussi l'eletronique mais à un niveau plus haut que le mien.
Je ne le vois plus maintenant, mais il y a deux an il m'avait donné ce fichier en me disant si le composant crame (ce qu'il s'est passé un jour de pluie sur ma moto) tu pourras le recharger.
16f84a c'est bizarre il est dans un 16f628a...ça j'en suis sur.

Ce que je ne comprends pas, c'est que, quand je le charge avec "mikroProg Suite For PIC" tout se passe bien. je vois les voyants de la carte easypic s'allumer, et aucun message d'erreur, mais apres, rien ne se passe.....contrairement au montage en simulation avec proteus 7?

Donc comment faire?
Vistesse Rapport engage.png


voici une copie du source une fois le fichier hex charger dans proteus avec le pic16f628A
; original File = G:\Electronique\IndicVitesseEngagees010113.hex

Code : Tout sélectionner


    processor 16F628A
    
#include <P16F628A.INC>
    __config 0x216A
;   _CP_OFF & _DATA_CP_OFF & _LVP_OFF & _BODEN_ON & _MCLRE_ON & _PWRTE_OFF & _WDT_OFF 
;   & _HS_OSC 

; RAM-Variable
LRAM_0x0B equ 0x0B
LRAM_0x1F equ 0x1F
LRAM_0x20 equ 0x20
LRAM_0x21 equ 0x21
LRAM_0x22 equ 0x22
LRAM_0x23 equ 0x23
LRAM_0x24 equ 0x24
LRAM_0x25 equ 0x25
LRAM_0x70 equ 0x70
LRAM_0x71 equ 0x71
LRAM_0x72 equ 0x72
LRAM_0x7C equ 0x7C
LRAM_0x7D equ 0x7D

; Program

    Org 0x0000

;   Reset-Vector
    GOTO LADR_0x0052

    Org 0x0003

LADR_0x0003
    MOVLW 0xA5           
;   b'10100101'  d'165'
;   Interrupt-Vector
    BCF STATUS
,RP0       ; !!Bank Register-Bank(0/1)-Select
    BCF STATUS
,RP1       ; !!Bank Register-Bank(2/3)-Select
    MOVWF LRAM_0x7D
LADR_0x0007
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x0007
    NOP
    NOP
    RETURN
LADR_0x000C
    BCF STATUS
,RP0       ; !!Bank Register-Bank(0/1)-Select
    BCF STATUS
,RP1       ; !!Bank Register-Bank(2/3)-Select
    CLRF LRAM_0x25
    MOVF LRAM_0x22
,W
    MOVWF LRAM_0x71
    MOVLW 0x01           
;   b'00000001'  d'001'
    MOVWF LRAM_0x70
    MOVF LRAM_0x71
,W
LADR_0x0014
    BTFSC STATUS
,Z
    GOTO LADR_0x001A
    RLF LRAM_0x70
,F
    BCF LRAM_0x70
,0
    ADDLW 0xFF           
;   b'11111111'  d'255'
    GOTO LADR_0x0014
LADR_0x001A
    MOVF LRAM_0x21
,W
    MOVWF FSR
    MOVF LRAM_0x70
,W
    ANDWF INDF
,W
    MOVWF LRAM_0x72
    CLRF LRAM_0x71
    MOVF LRAM_0x72
,W
    XORLW 0x00           
;   b'00000000'  d'000'
    BTFSC STATUS,Z
    GOTO LADR_0x0026
    MOVLW 0x01           
;   b'00000001'  d'001'
    MOVWF LRAM_0x71
LADR_0x0026
    MOVF LRAM_0x71
,W
    XORWF LRAM_0x24
,W
    BTFSS STATUS
,Z
    GOTO LADR_0x004F
LADR_0x002A
    MOVF LRAM_0x23
,W
    SUBLW 0x00           
;   b'00000000'  d'000'
    BTFSC STATUS,C
    GOTO LADR_0x0032
    CALL LADR_0x0003
    CALL LADR_0x0003
    DECF LRAM_0x23
,F
    GOTO LADR_0x002A
LADR_0x0032
    MOVF LRAM_0x22
,W
    MOVWF LRAM_0x71
    MOVLW 0x01           
;   b'00000001'  d'001'
    MOVWF LRAM_0x70
    MOVF LRAM_0x71
,W
LADR_0x0037
    BTFSC STATUS
,Z
    GOTO LADR_0x003D
    RLF LRAM_0x70
,F
    BCF LRAM_0x70
,0
    ADDLW 0xFF           
;   b'11111111'  d'255'
    GOTO LADR_0x0037
LADR_0x003D
    MOVF LRAM_0x21
,W
    MOVWF FSR
    MOVF LRAM_0x70
,W
    ANDWF INDF
,W
    MOVWF LRAM_0x72
    CLRF LRAM_0x71
    MOVF LRAM_0x72
,W
    XORLW 0x00           
;   b'00000000'  d'000'
    BTFSC STATUS,Z
    GOTO LADR_0x0049
    MOVLW 0x01           
;   b'00000001'  d'001'
    MOVWF LRAM_0x71
LADR_0x0049
    MOVF LRAM_0x71
,W
    XORWF LRAM_0x24
,W
    BTFSS STATUS
,Z
    GOTO LADR_0x004F
    MOVLW 0xFF           
;   b'11111111'  d'255'
    MOVWF LRAM_0x25
LADR_0x004F
    MOVF LRAM_0x25
,W
    MOVWF LRAM_0x70
    RETURN
LADR_0x0052
    MOVLW 0x07           
;   b'00000111'  d'007'
    BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    BCF STATUS
,RP1       ; !!Bank Register-Bank(2/3)-Select
    MOVWF LRAM_0x1F
    CLRF LRAM_0x0B
    MOVLW 0x1F           
;   b'00011111'  d'031'
    BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    MOVWF TMR0           
; !!Bank!! TMR0 - OPTION_REG - TMR0 - OPTION_REG
    CLRF PORTA           
; !!Bank!! PORTA - TRISA - Unimplemented - Unimplemented
    MOVLW 0xE0           
;   b'11100000'  d'224'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    MOVLW 0x06           
;   b'00000110'  d'006'
    BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    MOVWF LRAM_0x20
LADR_0x0060
    BTFSC PORTB
,5        ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    GOTO LADR_0x0064
    BCF LRAM_0x72
,0
    GOTO LADR_0x0065
LADR_0x0064
    BSF LRAM_0x72
,0
LADR_0x0065
    BTFSC PORTB
,6        ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    GOTO LADR_0x0069
    BCF STATUS
,C
    GOTO LADR_0x006A
LADR_0x0069
    BSF STATUS
,C
LADR_0x006A
    BTFSS LRAM_0x72
,0
    GOTO LADR_0x0070
    BTFSS STATUS
,C
    GOTO LADR_0x0070
    BSF LRAM_0x72
,0
    GOTO LADR_0x0071
LADR_0x0070
    BCF LRAM_0x72
,0
LADR_0x0071
    BTFSS LRAM_0x72
,0
    GOTO LADR_0x016B
LADR_0x0073
    BTFSC PORTB
,7        ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    GOTO LADR_0x009E
    MOVLW 0xFC           
;   b'11111100'  d'252'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    MOVLW 0x0B           
;   b'00001011'  d'011'
    MOVWF LRAM_0x7C
    MOVLW 0x62           
;   b'01100010'  d'098'  "b"
    MOVWF LRAM_0x7D
LADR_0x007B
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x007B
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x007B
    NOP
    MOVLW 0xF3           
;   b'11110011'  d'243'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    MOVLW 0x0B           
;   b'00001011'  d'011'
    MOVWF LRAM_0x7C
    MOVLW 0x62           
;   b'01100010'  d'098'  "b"
    MOVWF LRAM_0x7D
LADR_0x0086
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x0086
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x0086
    NOP
    MOVLW 0xFF           
;   b'11111111'  d'255'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    CLRF PORTA           
; !!Bank!! PORTA - TRISA - Unimplemented - Unimplemented
    MOVLW 0x07           
;   b'00000111'  d'007'
    MOVWF LRAM_0x7C
    MOVLW 0x7D           
;   b'01111101'  d'125'  "}"
    MOVWF LRAM_0x7D
LADR_0x0092
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x0092
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x0092
    MOVLW 0x03           
;   b'00000011'  d'003'
    MOVWF PORTA          ; !!Bank!! PORTA - TRISA - Unimplemented - Unimplemented
    MOVF LRAM_0x20
,W
    XORLW 0x00           
;   b'00000000'  d'000'
    BTFSC STATUS,Z
    GOTO LADR_0x009D
    CLRF LRAM_0x20
LADR_0x009D
    GOTO LADR_0x0073
LADR_0x009E
    MOVF LRAM_0x20
,W
    XORLW 0x01           
;   b'00000001'  d'001'
    BTFSS STATUS,Z
    GOTO LADR_0x00AE
    MOVLW 0xFC           
;   b'11111100'  d'252'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    MOVLW 0x14           
;   b'00010100'  d'020'
    MOVWF LRAM_0x7C
    MOVLW 0x79           
;   b'01111001'  d'121'  "y"
    MOVWF LRAM_0x7D
LADR_0x00A8
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x00A8
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x00A8
    NOP
    NOP
LADR_0x00AE
    MOVF LRAM_0x20
,W
    XORLW 0x02           
;   b'00000010'  d'002'
    BTFSS STATUS,Z
    GOTO LADR_0x00D6
    MOVLW 0xEF           
;   b'11101111'  d'239'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    MOVLW 0x07           
;   b'00000111'  d'007'
    MOVWF LRAM_0x7C
    MOVLW 0x7D           
;   b'01111101'  d'125'  "}"
    MOVWF LRAM_0x7D
LADR_0x00B8
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x00B8
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x00B8
    MOVLW 0xFA           
;   b'11111010'  d'250'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    MOVLW 0x0B           
;   b'00001011'  d'011'
    MOVWF LRAM_0x7C
    MOVLW 0x62           
;   b'01100010'  d'098'  "b"
    MOVWF LRAM_0x7D
LADR_0x00C2
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x00C2
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x00C2
    NOP
    MOVLW 0xFF           
;   b'11111111'  d'255'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    CLRF PORTA           
; !!Bank!! PORTA - TRISA - Unimplemented - Unimplemented
    MOVLW 0x08           
;   b'00001000'  d'008'
    MOVWF LRAM_0x7C
    MOVLW 0xC9           
;   b'11001001'  d'201'
    MOVWF LRAM_0x7D
LADR_0x00CE
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x00CE
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x00CE
    NOP
    NOP
    MOVLW 0x03           
;   b'00000011'  d'003'
    MOVWF PORTA          ; !!Bank!! PORTA - TRISA - Unimplemented - Unimplemented
LADR_0x00D6
    MOVF LRAM_0x20
,W
    XORLW 0x03           
;   b'00000011'  d'003'
    BTFSS STATUS,Z
    GOTO LADR_0x00FE
    MOVLW 0xEF           
;   b'11101111'  d'239'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    MOVLW 0x07           
;   b'00000111'  d'007'
    MOVWF LRAM_0x7C
    MOVLW 0x7D           
;   b'01111101'  d'125'  "}"
    MOVWF LRAM_0x7D
LADR_0x00E0
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x00E0
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x00E0
    MOVLW 0xFC           
;   b'11111100'  d'252'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    MOVLW 0x0B           
;   b'00001011'  d'011'
    MOVWF LRAM_0x7C
    MOVLW 0x62           
;   b'01100010'  d'098'  "b"
    MOVWF LRAM_0x7D
LADR_0x00EA
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x00EA
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x00EA
    NOP
    MOVLW 0xFF           
;   b'11111111'  d'255'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    CLRF PORTA           
; !!Bank!! PORTA - TRISA - Unimplemented - Unimplemented
    MOVLW 0x08           
;   b'00001000'  d'008'
    MOVWF LRAM_0x7C
    MOVLW 0xC9           
;   b'11001001'  d'201'
    MOVWF LRAM_0x7D
LADR_0x00F6
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x00F6
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x00F6
    NOP
    NOP
    MOVLW 0x03           
;   b'00000011'  d'003'
    MOVWF PORTA          ; !!Bank!! PORTA - TRISA - Unimplemented - Unimplemented
LADR_0x00FE
    MOVF LRAM_0x20
,W
    XORLW 0x04           
;   b'00000100'  d'004'
    BTFSS STATUS,Z
    GOTO LADR_0x011A
    MOVLW 0xFC           
;   b'11111100'  d'252'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    MOVLW 0x0D           
;   b'00001101'  d'013'
    MOVWF LRAM_0x7C
    MOVLW 0xFB           
;   b'11111011'  d'251'
    MOVWF LRAM_0x7D
LADR_0x0108
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x0108
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x0108
    NOP
    NOP
    MOVLW 0xE7           
;   b'11100111'  d'231'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    MOVLW 0x0D           
;   b'00001101'  d'013'
    MOVWF LRAM_0x7C
    MOVLW 0xFB           
;   b'11111011'  d'251'
    MOVWF LRAM_0x7D
LADR_0x0114
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x0114
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x0114
    NOP
    NOP
LADR_0x011A
    MOVF LRAM_0x20
,W
    XORLW 0x05           
;   b'00000101'  d'005'
    BTFSS STATUS,Z
    GOTO LADR_0x0142
    MOVLW 0xEF           
;   b'11101111'  d'239'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    MOVLW 0x07           
;   b'00000111'  d'007'
    MOVWF LRAM_0x7C
    MOVLW 0x7D           
;   b'01111101'  d'125'  "}"
    MOVWF LRAM_0x7D
LADR_0x0124
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x0124
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x0124
    MOVLW 0xF5           
;   b'11110101'  d'245'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    MOVLW 0x0B           
;   b'00001011'  d'011'
    MOVWF LRAM_0x7C
    MOVLW 0x62           
;   b'01100010'  d'098'  "b"
    MOVWF LRAM_0x7D
LADR_0x012E
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x012E
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x012E
    NOP
    MOVLW 0xFF           
;   b'11111111'  d'255'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    CLRF PORTA           
; !!Bank!! PORTA - TRISA - Unimplemented - Unimplemented
    MOVLW 0x08           
;   b'00001000'  d'008'
    MOVWF LRAM_0x7C
    MOVLW 0xC9           
;   b'11001001'  d'201'
    MOVWF LRAM_0x7D
LADR_0x013A
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x013A
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x013A
    NOP
    NOP
    MOVLW 0x03           
;   b'00000011'  d'003'
    MOVWF PORTA          ; !!Bank!! PORTA - TRISA - Unimplemented - Unimplemented
LADR_0x0142
    MOVF LRAM_0x20
,W
    XORLW 0x06           
;   b'00000110'  d'006'
    BTFSS STATUS,Z
    GOTO LADR_0x016A
    MOVLW 0xEF           
;   b'11101111'  d'239'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    MOVLW 0x07           
;   b'00000111'  d'007'
    MOVWF LRAM_0x7C
    MOVLW 0x7D           
;   b'01111101'  d'125'  "}"
    MOVWF LRAM_0x7D
LADR_0x014C
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x014C
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x014C
    MOVLW 0xF3           
;   b'11110011'  d'243'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    MOVLW 0x0B           
;   b'00001011'  d'011'
    MOVWF LRAM_0x7C
    MOVLW 0x62           
;   b'01100010'  d'098'  "b"
    MOVWF LRAM_0x7D
LADR_0x0156
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x0156
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x0156
    NOP
    MOVLW 0xFF           
;   b'11111111'  d'255'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    CLRF PORTA           
; !!Bank!! PORTA - TRISA - Unimplemented - Unimplemented
    MOVLW 0x08           
;   b'00001000'  d'008'
    MOVWF LRAM_0x7C
    MOVLW 0xC9           
;   b'11001001'  d'201'
    MOVWF LRAM_0x7D
LADR_0x0162
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x0162
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x0162
    NOP
    NOP
    MOVLW 0x03           
;   b'00000011'  d'003'
    MOVWF PORTA          ; !!Bank!! PORTA - TRISA - Unimplemented - Unimplemented
LADR_0x016A
    GOTO LADR_0x0060
LADR_0x016B
    MOVLW 0x06           
;   b'00000110'  d'006'
    MOVWF LRAM_0x21
    MOVLW 0x05           
;   b'00000101'  d'005'
    MOVWF LRAM_0x22
    MOVLW 0x0A           
;   b'00001010'  d'010'
    MOVWF LRAM_0x23
    CLRF LRAM_0x24
    CALL LADR_0x000C
    MOVF LRAM_0x70
,W
    BTFSC STATUS
,Z
    GOTO LADR_0x025F
LADR_0x0176
    BTFSC PORTB
,7        ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    GOTO LADR_0x01A1
    MOVLW 0xFC           
;   b'11111100'  d'252'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    MOVLW 0x0B           
;   b'00001011'  d'011'
    MOVWF LRAM_0x7C
    MOVLW 0x62           
;   b'01100010'  d'098'  "b"
    MOVWF LRAM_0x7D
LADR_0x017E
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x017E
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x017E
    NOP
    MOVLW 0xF3           
;   b'11110011'  d'243'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    MOVLW 0x0B           
;   b'00001011'  d'011'
    MOVWF LRAM_0x7C
    MOVLW 0x62           
;   b'01100010'  d'098'  "b"
    MOVWF LRAM_0x7D
LADR_0x0189
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x0189
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x0189
    NOP
    MOVLW 0xFF           
;   b'11111111'  d'255'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    CLRF PORTA           
; !!Bank!! PORTA - TRISA - Unimplemented - Unimplemented
    MOVLW 0x07           
;   b'00000111'  d'007'
    MOVWF LRAM_0x7C
    MOVLW 0x7D           
;   b'01111101'  d'125'  "}"
    MOVWF LRAM_0x7D
LADR_0x0195
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x0195
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x0195
    MOVLW 0x03           
;   b'00000011'  d'003'
    MOVWF PORTA          ; !!Bank!! PORTA - TRISA - Unimplemented - Unimplemented
    MOVF LRAM_0x20
,W
    XORLW 0x00           
;   b'00000000'  d'000'
    BTFSC STATUS,Z
    GOTO LADR_0x01A0
    CLRF LRAM_0x20
LADR_0x01A0
    GOTO LADR_0x0176
LADR_0x01A1
    MOVF LRAM_0x20
,W
    SUBLW 0x01           
;   b'00000001'  d'001'
    MOVLW 0xFF           ;   b'11111111'  d'255'
    BTFSC STATUS,C
    MOVLW 0x00           
;   b'00000000'  d'000'
    MOVWF LRAM_0x71
    MOVF LRAM_0x20
,W
    SUBLW 0x05           
;   b'00000101'  d'005'
    MOVLW 0xFF           ;   b'11111111'  d'255'
    BTFSS STATUS,C
    MOVLW 0x00           
;   b'00000000'  d'000'
    MOVWF LRAM_0x70
    MOVF LRAM_0x71
,W
    ANDWF LRAM_0x70
,F
    BTFSC STATUS
,Z
    GOTO LADR_0x01B2
    DECF LRAM_0x20
,F
LADR_0x01B2
    MOVF LRAM_0x20
,W
    XORLW 0x00           
;   b'00000000'  d'000'
    BTFSS STATUS,Z
    GOTO LADR_0x01B8
    MOVLW 0x01           
;   b'00000001'  d'001'
    MOVWF LRAM_0x20
LADR_0x01B8
    BTFSC PORTB
,5        ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    GOTO LADR_0x025F
    MOVF LRAM_0x20
,W
    XORLW 0x01           
;   b'00000001'  d'001'
    BTFSS STATUS,Z
    GOTO LADR_0x01CA
    MOVLW 0xFC           
;   b'11111100'  d'252'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    MOVLW 0x14           
;   b'00010100'  d'020'
    MOVWF LRAM_0x7C
    MOVLW 0x79           
;   b'01111001'  d'121'  "y"
    MOVWF LRAM_0x7D
LADR_0x01C4
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x01C4
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x01C4
    NOP
    NOP
LADR_0x01CA
    MOVF LRAM_0x20
,W
    XORLW 0x02           
;   b'00000010'  d'002'
    BTFSS STATUS,Z
    GOTO LADR_0x01F2
    MOVLW 0xEF           
;   b'11101111'  d'239'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    MOVLW 0x07           
;   b'00000111'  d'007'
    MOVWF LRAM_0x7C
    MOVLW 0x7D           
;   b'01111101'  d'125'  "}"
    MOVWF LRAM_0x7D
LADR_0x01D4
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x01D4
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x01D4
    MOVLW 0xFA           
;   b'11111010'  d'250'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    MOVLW 0x0B           
;   b'00001011'  d'011'
    MOVWF LRAM_0x7C
    MOVLW 0x62           
;   b'01100010'  d'098'  "b"
    MOVWF LRAM_0x7D
LADR_0x01DE
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x01DE
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x01DE
    NOP
    MOVLW 0xFF           
;   b'11111111'  d'255'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    CLRF PORTA           
; !!Bank!! PORTA - TRISA - Unimplemented - Unimplemented
    MOVLW 0x08           
;   b'00001000'  d'008'
    MOVWF LRAM_0x7C
    MOVLW 0xC9           
;   b'11001001'  d'201'
    MOVWF LRAM_0x7D
LADR_0x01EA
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x01EA
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x01EA
    NOP
    NOP
    MOVLW 0x03           
;   b'00000011'  d'003'
    MOVWF PORTA          ; !!Bank!! PORTA - TRISA - Unimplemented - Unimplemented
LADR_0x01F2
    MOVF LRAM_0x20
,W
    XORLW 0x03           
;   b'00000011'  d'003'
    BTFSS STATUS,Z
    GOTO LADR_0x021A
    MOVLW 0xEF           
;   b'11101111'  d'239'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    MOVLW 0x07           
;   b'00000111'  d'007'
    MOVWF LRAM_0x7C
    MOVLW 0x7D           
;   b'01111101'  d'125'  "}"
    MOVWF LRAM_0x7D
LADR_0x01FC
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x01FC
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x01FC
    MOVLW 0xFC           
;   b'11111100'  d'252'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    MOVLW 0x0B           
;   b'00001011'  d'011'
    MOVWF LRAM_0x7C
    MOVLW 0x62           
;   b'01100010'  d'098'  "b"
    MOVWF LRAM_0x7D
LADR_0x0206
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x0206
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x0206
    NOP
    MOVLW 0xFF           
;   b'11111111'  d'255'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    CLRF PORTA           
; !!Bank!! PORTA - TRISA - Unimplemented - Unimplemented
    MOVLW 0x08           
;   b'00001000'  d'008'
    MOVWF LRAM_0x7C
    MOVLW 0xC9           
;   b'11001001'  d'201'
    MOVWF LRAM_0x7D
LADR_0x0212
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x0212
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x0212
    NOP
    NOP
    MOVLW 0x03           
;   b'00000011'  d'003'
    MOVWF PORTA          ; !!Bank!! PORTA - TRISA - Unimplemented - Unimplemented
LADR_0x021A
    MOVF LRAM_0x20
,W
    XORLW 0x04           
;   b'00000100'  d'004'
    BTFSS STATUS,Z
    GOTO LADR_0x0236
    MOVLW 0xFC           
;   b'11111100'  d'252'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    MOVLW 0x0D           
;   b'00001101'  d'013'
    MOVWF LRAM_0x7C
    MOVLW 0xFB           
;   b'11111011'  d'251'
    MOVWF LRAM_0x7D
LADR_0x0224
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x0224
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x0224
    NOP
    NOP
    MOVLW 0xE7           
;   b'11100111'  d'231'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    MOVLW 0x0D           
;   b'00001101'  d'013'
    MOVWF LRAM_0x7C
    MOVLW 0xFB           
;   b'11111011'  d'251'
    MOVWF LRAM_0x7D
LADR_0x0230
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x0230
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x0230
    NOP
    NOP
LADR_0x0236
    MOVF LRAM_0x20
,W
    XORLW 0x06           
;   b'00000110'  d'006'
    BTFSS STATUS,Z
    GOTO LADR_0x025E
    MOVLW 0xEF           
;   b'11101111'  d'239'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    MOVLW 0x07           
;   b'00000111'  d'007'
    MOVWF LRAM_0x7C
    MOVLW 0x7D           
;   b'01111101'  d'125'  "}"
    MOVWF LRAM_0x7D
LADR_0x0240
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x0240
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x0240
    MOVLW 0xF3           
;   b'11110011'  d'243'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    MOVLW 0x0B           
;   b'00001011'  d'011'
    MOVWF LRAM_0x7C
    MOVLW 0x62           
;   b'01100010'  d'098'  "b"
    MOVWF LRAM_0x7D
LADR_0x024A
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x024A
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x024A
    NOP
    MOVLW 0xFF           
;   b'11111111'  d'255'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    CLRF PORTA           
; !!Bank!! PORTA - TRISA - Unimplemented - Unimplemented
    MOVLW 0x08           
;   b'00001000'  d'008'
    MOVWF LRAM_0x7C
    MOVLW 0xC9           
;   b'11001001'  d'201'
    MOVWF LRAM_0x7D
LADR_0x0256
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x0256
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x0256
    NOP
    NOP
    MOVLW 0x03           
;   b'00000011'  d'003'
    MOVWF PORTA          ; !!Bank!! PORTA - TRISA - Unimplemented - Unimplemented
LADR_0x025E
    GOTO LADR_0x01B8
LADR_0x025F
    MOVLW 0x06           
;   b'00000110'  d'006'
    MOVWF LRAM_0x21
    MOVLW 0x06           
;   b'00000110'  d'006'
    MOVWF LRAM_0x22
    MOVLW 0x0A           
;   b'00001010'  d'010'
    MOVWF LRAM_0x23
    CLRF LRAM_0x24
    CALL LADR_0x000C
    MOVF LRAM_0x70
,W
    BTFSC STATUS
,Z
    GOTO LADR_0x036B
LADR_0x026A
    BTFSC PORTB
,7        ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    GOTO LADR_0x0295
    MOVLW 0xFC           
;   b'11111100'  d'252'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    MOVLW 0x0B           
;   b'00001011'  d'011'
    MOVWF LRAM_0x7C
    MOVLW 0x62           
;   b'01100010'  d'098'  "b"
    MOVWF LRAM_0x7D
LADR_0x0272
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x0272
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x0272
    NOP
    MOVLW 0xF3           
;   b'11110011'  d'243'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    MOVLW 0x0B           
;   b'00001011'  d'011'
    MOVWF LRAM_0x7C
    MOVLW 0x62           
;   b'01100010'  d'098'  "b"
    MOVWF LRAM_0x7D
LADR_0x027D
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x027D
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x027D
    NOP
    MOVLW 0xFF           
;   b'11111111'  d'255'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    CLRF PORTA           
; !!Bank!! PORTA - TRISA - Unimplemented - Unimplemented
    MOVLW 0x07           
;   b'00000111'  d'007'
    MOVWF LRAM_0x7C
    MOVLW 0x7D           
;   b'01111101'  d'125'  "}"
    MOVWF LRAM_0x7D
LADR_0x0289
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x0289
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x0289
    MOVLW 0x03           
;   b'00000011'  d'003'
    MOVWF PORTA          ; !!Bank!! PORTA - TRISA - Unimplemented - Unimplemented
    MOVF LRAM_0x20
,W
    XORLW 0x00           
;   b'00000000'  d'000'
    BTFSC STATUS,Z
    GOTO LADR_0x0294
    CLRF LRAM_0x20
LADR_0x0294
    GOTO LADR_0x026A
LADR_0x0295
    MOVF LRAM_0x20
,W
    SUBLW 0x00           
;   b'00000000'  d'000'
    MOVLW 0xFF           ;   b'11111111'  d'255'
    BTFSC STATUS,C
    MOVLW 0x00           
;   b'00000000'  d'000'
    MOVWF LRAM_0x71
    MOVLW 0x05           
;   b'00000101'  d'005'
    SUBWF LRAM_0x20,W
    MOVLW 0xFF           
;   b'11111111'  d'255'
    BTFSC STATUS,C
    MOVLW 0x00           
;   b'00000000'  d'000'
    MOVWF LRAM_0x70
    MOVF LRAM_0x71
,W
    ANDWF LRAM_0x70
,F
    BTFSC STATUS
,Z
    GOTO LADR_0x02A6
    INCF LRAM_0x20
,F
LADR_0x02A6
    MOVF LRAM_0x20
,W
    XORLW 0x00           
;   b'00000000'  d'000'
    BTFSS STATUS,Z
    GOTO LADR_0x02AC
    MOVLW 0x02           
;   b'00000010'  d'002'
    MOVWF LRAM_0x20
LADR_0x02AC
    BTFSC PORTB
,6        ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    GOTO LADR_0x036B
    MOVF LRAM_0x20
,W
    XORLW 0x02           
;   b'00000010'  d'002'
    BTFSS STATUS,Z
    GOTO LADR_0x02D6
    MOVLW 0xEF           
;   b'11101111'  d'239'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    MOVLW 0x07           
;   b'00000111'  d'007'
    MOVWF LRAM_0x7C
    MOVLW 0x7D           
;   b'01111101'  d'125'  "}"
    MOVWF LRAM_0x7D
LADR_0x02B8
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x02B8
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x02B8
    MOVLW 0xFA           
;   b'11111010'  d'250'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    MOVLW 0x0B           
;   b'00001011'  d'011'
    MOVWF LRAM_0x7C
    MOVLW 0x62           
;   b'01100010'  d'098'  "b"
    MOVWF LRAM_0x7D
LADR_0x02C2
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x02C2
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x02C2
    NOP
    MOVLW 0xFF           
;   b'11111111'  d'255'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    CLRF PORTA           
; !!Bank!! PORTA - TRISA - Unimplemented - Unimplemented
    MOVLW 0x08           
;   b'00001000'  d'008'
    MOVWF LRAM_0x7C
    MOVLW 0xC9           
;   b'11001001'  d'201'
    MOVWF LRAM_0x7D
LADR_0x02CE
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x02CE
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x02CE
    NOP
    NOP
    MOVLW 0x03           
;   b'00000011'  d'003'
    MOVWF PORTA          ; !!Bank!! PORTA - TRISA - Unimplemented - Unimplemented
LADR_0x02D6
    MOVF LRAM_0x20
,W
    XORLW 0x03           
;   b'00000011'  d'003'
    BTFSS STATUS,Z
    GOTO LADR_0x02FE
    MOVLW 0xEF           
;   b'11101111'  d'239'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    MOVLW 0x07           
;   b'00000111'  d'007'
    MOVWF LRAM_0x7C
    MOVLW 0x7D           
;   b'01111101'  d'125'  "}"
    MOVWF LRAM_0x7D
LADR_0x02E0
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x02E0
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x02E0
    MOVLW 0xFC           
;   b'11111100'  d'252'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    MOVLW 0x0B           
;   b'00001011'  d'011'
    MOVWF LRAM_0x7C
    MOVLW 0x62           
;   b'01100010'  d'098'  "b"
    MOVWF LRAM_0x7D
LADR_0x02EA
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x02EA
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x02EA
    NOP
    MOVLW 0xFF           
;   b'11111111'  d'255'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    CLRF PORTA           
; !!Bank!! PORTA - TRISA - Unimplemented - Unimplemented
    MOVLW 0x08           
;   b'00001000'  d'008'
    MOVWF LRAM_0x7C
    MOVLW 0xC9           
;   b'11001001'  d'201'
    MOVWF LRAM_0x7D
LADR_0x02F6
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x02F6
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x02F6
    NOP
    NOP
    MOVLW 0x03           
;   b'00000011'  d'003'
    MOVWF PORTA          ; !!Bank!! PORTA - TRISA - Unimplemented - Unimplemented
LADR_0x02FE
    MOVF LRAM_0x20
,W
    XORLW 0x04           
;   b'00000100'  d'004'
    BTFSS STATUS,Z
    GOTO LADR_0x031A
    MOVLW 0xFC           
;   b'11111100'  d'252'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    MOVLW 0x0D           
;   b'00001101'  d'013'
    MOVWF LRAM_0x7C
    MOVLW 0xFB           
;   b'11111011'  d'251'
    MOVWF LRAM_0x7D
LADR_0x0308
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x0308
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x0308
    NOP
    NOP
    MOVLW 0xE7           
;   b'11100111'  d'231'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    MOVLW 0x0D           
;   b'00001101'  d'013'
    MOVWF LRAM_0x7C
    MOVLW 0xFB           
;   b'11111011'  d'251'
    MOVWF LRAM_0x7D
LADR_0x0314
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x0314
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x0314
    NOP
    NOP
LADR_0x031A
    MOVF LRAM_0x20
,W
    XORLW 0x05           
;   b'00000101'  d'005'
    BTFSS STATUS,Z
    GOTO LADR_0x0342
    MOVLW 0xEF           
;   b'11101111'  d'239'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    MOVLW 0x07           
;   b'00000111'  d'007'
    MOVWF LRAM_0x7C
    MOVLW 0x7D           
;   b'01111101'  d'125'  "}"
    MOVWF LRAM_0x7D
LADR_0x0324
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x0324
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x0324
    MOVLW 0xF5           
;   b'11110101'  d'245'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    MOVLW 0x0B           
;   b'00001011'  d'011'
    MOVWF LRAM_0x7C
    MOVLW 0x62           
;   b'01100010'  d'098'  "b"
    MOVWF LRAM_0x7D
LADR_0x032E
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x032E
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x032E
    NOP
    MOVLW 0xFF           
;   b'11111111'  d'255'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    CLRF PORTA           
; !!Bank!! PORTA - TRISA - Unimplemented - Unimplemented
    MOVLW 0x08           
;   b'00001000'  d'008'
    MOVWF LRAM_0x7C
    MOVLW 0xC9           
;   b'11001001'  d'201'
    MOVWF LRAM_0x7D
LADR_0x033A
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x033A
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x033A
    NOP
    NOP
    MOVLW 0x03           
;   b'00000011'  d'003'
    MOVWF PORTA          ; !!Bank!! PORTA - TRISA - Unimplemented - Unimplemented
LADR_0x0342
    MOVF LRAM_0x20
,W
    XORLW 0x06           
;   b'00000110'  d'006'
    BTFSS STATUS,Z
    GOTO LADR_0x036A
    MOVLW 0xEF           
;   b'11101111'  d'239'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    MOVLW 0x07           
;   b'00000111'  d'007'
    MOVWF LRAM_0x7C
    MOVLW 0x7D           
;   b'01111101'  d'125'  "}"
    MOVWF LRAM_0x7D
LADR_0x034C
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x034C
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x034C
    MOVLW 0xF3           
;   b'11110011'  d'243'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    MOVLW 0x0B           
;   b'00001011'  d'011'
    MOVWF LRAM_0x7C
    MOVLW 0x62           
;   b'01100010'  d'098'  "b"
    MOVWF LRAM_0x7D
LADR_0x0356
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x0356
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x0356
    NOP
    MOVLW 0xFF           
;   b'11111111'  d'255'
    MOVWF PORTB          ; !!Bank!! PORTB - TRISB - PORTB - TRISB
    CLRF PORTA           
; !!Bank!! PORTA - TRISA - Unimplemented - Unimplemented
    MOVLW 0x08           
;   b'00001000'  d'008'
    MOVWF LRAM_0x7C
    MOVLW 0xC9           
;   b'11001001'  d'201'
    MOVWF LRAM_0x7D
LADR_0x0362
    DECFSZ LRAM_0x7D
,F
    GOTO LADR_0x0362
    DECFSZ LRAM_0x7C
,F
    GOTO LADR_0x0362
    NOP
    NOP
    MOVLW 0x03           
;   b'00000011'  d'003'
    MOVWF PORTA          ; !!Bank!! PORTA - TRISA - Unimplemented - Unimplemented
LADR_0x036A
    GOTO LADR_0x02AC
LADR_0x036B
    GOTO LADR_0x0060
LADR_0x036C
    GOTO LADR_0x036C

    End
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Modifié en dernier par tdegremont le mer. 13 janv. 2016 21:40, modifié 5 fois.

Probleme de compilation avec un PIC 16F628A
Jérémy
Administrateur du site
Administrateur du site
Messages : 2725
Âge : 45
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#7 Message par Jérémy » mer. 13 janv. 2016 21:31

Grace à la carte easyPIC7 ( je possède la meme), tu pourrais essayer de faire s'allumer une led sur un port, avant de t'occuper du programme en entier. Ca éliminera quelques suppositions.

Sur l’état de ton PIC, de ta carte etc ... On partirais sur une bonne base . Letop serait que tu post ton programme direct en ligne plutôt que par un ZIP, en utilisant les balises codes ( explication ici )
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Probleme de compilation avec un PIC 16F628A
tdegremont
Débutant
Débutant
Messages : 30
Enregistré en : novembre 2015

#8 Message par tdegremont » mer. 13 janv. 2016 21:45

L'astuce de ce montage, ce qui me plaisait bien, c'était qu'il était basé sur la pertinence rétinienne. et le pic afficher rapidement que 1 segment à la fois (à haute vitesse pour former le chiffre).
Donc économie de place sur la moto.

Pour ce qui est des tests j'ai fait les premiers exemples avec le pic fournis par MikroElectronica, mais tu as raison je vais en faire un de suite avec mon pic16f

Je vous tiens au courant ;-)

.....quelques instant plus tard....ca marche...voici le code qui me fait clignoter RA2

Code : Tout sélectionner


void main
()
 {
TRISA 0x00;
PORTA 0x00;
CMCON 0x07;
while(
1)
{
 
RA2_bit=1;
 
Delay_ms(1000);
 
RA2_bit=0;
 
Delay_ms(1000);
}

}
 

Probleme de compilation avec un PIC 16F628A
Jérémy
Administrateur du site
Administrateur du site
Messages : 2725
Âge : 45
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#9 Message par Jérémy » mer. 13 janv. 2016 22:19

Donc c'est ton code qui a un problème !

Par contre c'est de l'ASM . si tu me confirme , je bouge ton post dans cette catégorie !

La persistance rétinienne est valable en dessous de 20ms , ce qui doit être largement le cas ici .
Par contre il te manque quelques petites choses sur ton schéma .
résistance de pull-up sur tes bp, plus un petit conso en // anti rebonds .

Ne faudrait-il pas des R sur chaque segments ? genre 470 ohms
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Probleme de compilation avec un PIC 16F628A
tdegremont
Débutant
Débutant
Messages : 30
Enregistré en : novembre 2015

#10 Message par tdegremont » mer. 13 janv. 2016 23:03

Bonsoir Jeremy,
Oui c'est de l'ASM.
Non pas de resistance de Pull-UP et DOWN car j'utilise des capteur Effet HALL auto-alimenter qui remplace mes boutons sur le shema. Les capteurs ne sont pas representés sur le schéma c'est vrai.
NON, NON, NON pas de restistance sur chaque segment, c'est tout l'interet du montage le code fait clignoter un segment et un seul à la fois. donc gain de place et surtout pas de besoin de transistor pour alimenter 7*30mA = 210mA. Ce circuit ne consomme qu'une petite trentaine de milli ampere.
C'est tout l'interet ;-)


BON BONNE NOUVELLE.....ça marche, j'avais simplement choisi le mauvais paramètre "OSCILLATOR" dans la config. il fallait choisir INTOSC RA6 as CLKOUT.

Merci encore pour toute votre aide....

bonne soirée à tous


Retourner vers « Langage C »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 45 invités