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 : mazertoc
PIC24FJ128GC006
Bonsoir Temps-x,
Très bien ta carte, bravo, te loupe pas sur la soudure
Quelques infos pour ton soft.
Les instructions PIC24 se servent des 16 registres 16 bits W0 à W15.
On met # devant les données pour distinguer adresses et données.
Pour l'adressage indirect, les 16 registres peuvent contenir des adresses et ainsi jouer le rôle des FSR 8 bits. Là on peut voir que c'est très puissant.
Je me suis amusé à convertir le jeu d'instructions 8 bits vers l'équivalent en 16 bits, c'est quand même très proche.
Très bien ta carte, bravo, te loupe pas sur la soudure
Quelques infos pour ton soft.
Les instructions PIC24 se servent des 16 registres 16 bits W0 à W15.
On met # devant les données pour distinguer adresses et données.
Code : Tout sélectionner
mov #29,W1 -> mettre 29 dans le registre W1.
mov 29,W1 -> copier le contenu de l'adresse 29 vers le registre W1.
sub W2,W3,W4 -> soustraire W3 à W2, placer le résultat dans W4 (W2-W3=W4).
sub.b W2,W3,W4 -> soustraire en mode byte W3 à W2, placer le résultat dans W4 (W2-W3=W4).
Pour l'adressage indirect, les 16 registres peuvent contenir des adresses et ainsi jouer le rôle des FSR 8 bits. Là on peut voir que c'est très puissant.
Code : Tout sélectionner
add W2,[W3],[W4++] -> ajouter word d'adresse W3 au registre W2,
résultat placé à l'adresse W4, ajouter 2 à W4.
add.b W2,[W3--],[W4++] -> ajouter byte d'adresse W3 à l'octet bas du registre W2,
byte résultant placé à l'adresse W4, enlever 1 à W3 et ajouter 1 à W4.
Je me suis amusé à convertir le jeu d'instructions 8 bits vers l'équivalent en 16 bits, c'est quand même très proche.
Code : Tout sélectionner
WREG -> W0
Ws,Wd -> W0 à W15 (utilisables en mode word 16 bits ou byte 8 bits)
ff -> ram 0 à 65535 (all ram, accès direct en mode word aligné sur adresse paire,
accès indirect en mode byte ou word aligné)
f -> ram 0 à 8191 (near ram, permet en plus l'accès direct en mode byte)
.b -> suffixe pour opération en mode byte
. -> instructions PIC16
instructions PIC18 -> instructions PIC24
bcf bsf btg -> bclr bset btg
btfsc btfss -> btsc btss
bc bz bn bov -> bra
bnc bnz bnn bnov -> bra
rlncf rrncf rlcf rrcf -> rlnc rrnc rlc rrc
incf decf -> inc dec
andwf iorwf xorwf -> and ior xor
andlw iorlw xorlw -> and ior xor
addwf addwfc -> add addc
subwf subwfb subfwb -> sub subb subbr
addlw sublw -> add sub
. nop -> nop
reset -> reset
. clrwdt -> clrwdt
. sleep -> pwrsav #0
. movwf f -> mov (.b) WREG,f mov Ws,ff
. movf f,w movf f -> mov (.b) f,WREG mov (.b) f mov ff,Wd
. andwf f,w andwf f -> and (.b) f,WREG and (.b) f
. addwf f,w addwf f -> add (.b) f,WREG add (.b) f
. subwf f,w subwf f -> sub (.b) f,WREG sub (.b) f
. incf f,w incf f -> inc (.b) f,WREG inc (.b) f
rlncf f,w rlncf f -> rlnc (.b) f,WREG rlnc (.b) f
. rlcf f,w rlcf f -> rlc (.b) f,WREG rlc (.b) f
. comf f,w comf f -> com (.b) f,WREG com (.b) f
negf f -> neg (.b) f,WREG neg (.b) f
mulwf f -> mul (.b) f
. clrf f -> clr (.b) f
setf f -> setm (.b) f
daw -> daw.b Wd
. swapf f,w swapf f -> swap (.b) Wd
. movlw d8 -> mov (.b) #d16,Wd
. andlw d8 -> and (.b) #d10,Wd
. addlw d8 -> add (.b) #d10,Wd
. sublw d8 -> sub (.b) #d10,Wd (sub fait la soustraction inverse de sublw)
mullw u8 -> mul.uu Ws,#u5,Wd mul.uu Ws,Wk,Wd
. bcf f,u3 -> bclr (.b) f,#u4
. btfsc f,u3 -> btsc (.b) f,#u4
bc s8 -> bra c,s16 (c z n ov nc nz nn nov ltu leu gtu geu lt le gt ge)
bra s11 -> bra s16
rcall s11 -> rcall s16
. call u20 -> call u23
. goto u20 -> goto u23
. retfie -> retfie
. return -> return
. retlw u8 -> retlw #d10,Wd
. incfsz f,w incfsnz f -> voir inc,btss,btsc
decfsz f,w decfsnz f -> voir dec,btss,btsc
cpfseq f -> voir cp,btss
cpfsgt f cpfsltf f -> voir cp,btss,btsc
tstfsz f -> voir mov,btss
tblrd* tblwt* -> voir PSV ou tblrd,tblwt
movff f,fd -> voir mov [Ws],[Wd] ou mov ff,Wd puis mov Wd,ff
PIC24FJ128GC006
Bonsoir satinas,
Avec le binoculaire sa devrait faire... enfin j'espère
Un grand pour toutes ses informations, qui vont me servir, faut que j'arrive à me les rentrer dans ma petite tête
Mais pour l'instant place à la soudure....
J'ai fait une gestion USB pour ce Pic, pour usart...
Coté alimentation, on peut l'alimenté en 5 volts ou par usb car j'ai mi un régulateur 3.3 volts. ou utilisé le programmateur Pickit3 pour alimentation du montage
D'après ce que j'ai lu, le pickit3 ajuste l'alimenttion au moment de l'utilisation, ce qui fait quand ne peut pas dépassé 3.3 volts pour utilisation.
Il faut bien sur entrée le pic quand utilise pour que cela sois possible, avec la nouvelle version de PICkitminus Standalone mon pic figure dans la liste, ce qui n'était pas le cas dans l'ancinne version de PICkitminus Standalone
A+
satinas a écrit :Source du message te loupe pas sur la soudure
Avec le binoculaire sa devrait faire... enfin j'espère
satinas a écrit :Source du message Quelques infos pour ton soft.
Un grand pour toutes ses informations, qui vont me servir, faut que j'arrive à me les rentrer dans ma petite tête
Mais pour l'instant place à la soudure....
J'ai fait une gestion USB pour ce Pic, pour usart...
Coté alimentation, on peut l'alimenté en 5 volts ou par usb car j'ai mi un régulateur 3.3 volts. ou utilisé le programmateur Pickit3 pour alimentation du montage
D'après ce que j'ai lu, le pickit3 ajuste l'alimenttion au moment de l'utilisation, ce qui fait quand ne peut pas dépassé 3.3 volts pour utilisation.
Il faut bien sur entrée le pic quand utilise pour que cela sois possible, avec la nouvelle version de PICkitminus Standalone mon pic figure dans la liste, ce qui n'était pas le cas dans l'ancinne version de PICkitminus Standalone
A+
PIC24FJ128GC006
Bonjour,
Belle erreur, en 16 bits on ne peut accéder que sur adresse paire, la RAM étant constituée de mots 16 bits.
Comme la flash, les mots sont stockés en little endian, c'est à dire octet de poids faible en premier.
satinas a écrit :Source du message mov 29,W1 -> copier le contenu de l'adresse 29 vers le registre W1.
Belle erreur, en 16 bits on ne peut accéder que sur adresse paire, la RAM étant constituée de mots 16 bits.
Comme la flash, les mots sont stockés en little endian, c'est à dire octet de poids faible en premier.
Code : Tout sélectionner
mov 28,W1 ; accès direct 16 bits sur adresse paire vers W1
mov.b 28,WREG ; accès direct 8 bits vers octet de poids faible de W0, octet de poids fort inchangé
mov.b 29,WREG ; accès direct 8 bits vers octet de poids faible de W0, octet de poids fort inchangé
PIC24FJ128GC006
Bonsoir satinas,
Tu vas plus vite que moi, mais l'information est bonne à prendre, et pour un 16 bits c'est un peu normal.
Petite info sur le PCB que j'ai fait, et ben ....je suis obligé de recommencer mon PCB, le fer à soudé à décollé les pistes, car la plaque que j'ai pris était de très mauvaise qualité, (bakelite)
La bakelite n'est pas une bonne option pour les circuits de precision , elle est flexible et tient mal à la chaleur, du coup j'ai commandé sur Aliexpress de la fibre de verre en qualité FR4 pour réalisé de nouveau mon PCB
Par contre on peut utilser la bakelite pour faire des PCB en grosses pistes, mais il faut quand même y aller mollo sur la tempèrature du fer à souder.
J'attends l'arrivé des plaques de fibre de verre en qualité FR4, livraison en 10 jours d'après Aliexpress.
Pour l'instant, j'installe un éclairage sur mon binoculaire, j'ouvrirai un post sur ce petit projet au cas ou des personne voudrais faire la même chose.
pour le retour satinas
A+
Tu vas plus vite que moi, mais l'information est bonne à prendre, et pour un 16 bits c'est un peu normal.
Petite info sur le PCB que j'ai fait, et ben ....je suis obligé de recommencer mon PCB, le fer à soudé à décollé les pistes, car la plaque que j'ai pris était de très mauvaise qualité, (bakelite)
La bakelite n'est pas une bonne option pour les circuits de precision , elle est flexible et tient mal à la chaleur, du coup j'ai commandé sur Aliexpress de la fibre de verre en qualité FR4 pour réalisé de nouveau mon PCB
Par contre on peut utilser la bakelite pour faire des PCB en grosses pistes, mais il faut quand même y aller mollo sur la tempèrature du fer à souder.
J'attends l'arrivé des plaques de fibre de verre en qualité FR4, livraison en 10 jours d'après Aliexpress.
Pour l'instant, j'installe un éclairage sur mon binoculaire, j'ouvrirai un post sur ce petit projet au cas ou des personne voudrais faire la même chose.
pour le retour satinas
A+
PIC24FJ128GC006
Bonsoir tous le forum,
J'ai reçu mes plaques de PCB en fibre de verre en qualité FR4 en moins de 7 jours chapeau à Aliexpress.
Super bonne qualité, du solide comme plaque, dimension 150x200 mm, quantité 20 plaques pour avoir le port gratuit, total payé 16.53 Euros, j'en ai à vie.
Reste à trouver de la perchlorure de fer à bas prix, sur ce lien ICI j'en ai trouvé à 26,28 Euros les 5 litres.
Je vais voir si il n'y a pas d'autre solution que d'utiliser le perchlorure de fer
A+
J'ai reçu mes plaques de PCB en fibre de verre en qualité FR4 en moins de 7 jours chapeau à Aliexpress.
Super bonne qualité, du solide comme plaque, dimension 150x200 mm, quantité 20 plaques pour avoir le port gratuit, total payé 16.53 Euros, j'en ai à vie.
Reste à trouver de la perchlorure de fer à bas prix, sur ce lien ICI j'en ai trouvé à 26,28 Euros les 5 litres.
Je vais voir si il n'y a pas d'autre solution que d'utiliser le perchlorure de fer
A+
PIC24FJ128GC006
PIC24FJ128GC006
Bonsoir Gérard,
Voir post #34
Exacte j'aurais du mettre le lien marchant, le voici
1 commande est égal à 10 plaques de PCB pour 8.37 euros, il faut 20 plaques de PCB pour avoir le port gratuit (2 fois 8.37 euros)
Il faut arriver à 10 euros pour un port gratuit, après rien n'embêche d'aller prendre dans sa boutique un composant d'une valeur de 1.63 euro
A+
Gérard a écrit :Source du message Ce n'est pas gravé?
Voir post #34
Gérard a écrit :Source du message C'est quel site Ali où tu as acheté?
Exacte j'aurais du mettre le lien marchant, le voici
1 commande est égal à 10 plaques de PCB pour 8.37 euros, il faut 20 plaques de PCB pour avoir le port gratuit (2 fois 8.37 euros)
Il faut arriver à 10 euros pour un port gratuit, après rien n'embêche d'aller prendre dans sa boutique un composant d'une valeur de 1.63 euro
A+
PIC24FJ128GC006
PIC24FJ128GC006
Bonsoir Gérard,
Ben ouais ..... Regarde en post #1 tu comprendras
Gérard comprends vite, mais il faut lui expliqué longtemps
A+
Gérard a écrit :Source du message OK, je viens de comprendre, tu achètes les plaques et tu graves chez toi.
Ben ouais ..... Regarde en post #1 tu comprendras
Gérard comprends vite, mais il faut lui expliqué longtemps
A+
PIC24FJ128GC006
Retourner vers « Langage ASM »
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 5 invités