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 ---
- 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 ---
Modérateur : Jérémy
Probleme de compilation avec un PIC 16F628A
-
tdegremont
Débutant- Messages : 30
- Enregistré en : novembre 2015
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
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
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
bonjour,
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 .
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 .
Quest-ce qu'un BootLoader ?
-
tdegremont
Débutant- Messages : 30
- Enregistré en : novembre 2015
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?
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?
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- Messages : 2725
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Bonjour à tous,
Bienvenue à toi tdegremont sur le forum dédié aux PIC FantasPic
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 !
Probleme de compilation avec un PIC 16F628A
Probleme de compilation avec un PIC 16F628A
-
tdegremont
Débutant- Messages : 30
- Enregistré en : novembre 2015
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?
voici une copie du source une fois le fichier hex charger dans proteus avec le pic16f628A
; original File = G:\Electronique\IndicVitesseEngagees010113.hex
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?
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- Messages : 2725
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
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 )
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 )
Probleme de compilation avec un PIC 16F628A
-
tdegremont
Débutant- Messages : 30
- Enregistré en : novembre 2015
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
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- Messages : 2725
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
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
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
Probleme de compilation avec un PIC 16F628A
-
tdegremont
Débutant- Messages : 30
- Enregistré en : novembre 2015
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
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
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 45 invités