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
Platine test
- F6FCO
Expert- Messages : 1431
- Âge : 70
- Enregistré en : décembre 2017
- Localisation : Furtif je suis.
- Contact :
Hello les gens,
Un petit projet qui ne paie pas de mine qui pourrait être bien pratique dans le temps. J'ai fais çà en // avec le projet du tour, j'avais un 18F4525 qui avait une pin HS mais je ne me rappelais plus lequel ni quelle pin . Quand on a passé des heures à débugger un code c'est bien de savoir quelle pin est hs, je me suis dit qu'un petit montage de test ne serait pas de trop et pourrait resservir.
Rien de compliqué, juste un couple résistance/led sur chaque pin, on fait clignoter et on voit les réfractaires.
Schéma:
Implantation sur le PCB:
Le code pour un 4525, tout simple, on allume et on éteind, puis on recommence.
Le fichier init:
Fichier main:
Un petit projet qui ne paie pas de mine qui pourrait être bien pratique dans le temps. J'ai fais çà en // avec le projet du tour, j'avais un 18F4525 qui avait une pin HS mais je ne me rappelais plus lequel ni quelle pin . Quand on a passé des heures à débugger un code c'est bien de savoir quelle pin est hs, je me suis dit qu'un petit montage de test ne serait pas de trop et pourrait resservir.
Rien de compliqué, juste un couple résistance/led sur chaque pin, on fait clignoter et on voit les réfractaires.
Schéma:
Implantation sur le PCB:
Le code pour un 4525, tout simple, on allume et on éteind, puis on recommence.
Le fichier init:
Code : Tout sélectionner
;************************************************************************************************
; F6FCO - Platine test PIC 16F/18F 40pins
; Platine test 18F4525
; 25sept23
;
;
;********************************************************************************************** ;
Errorlevel-302 ; Supprime le message "Ensure that bank bits are correct"
list p=18f4525 ; processeur utilisé
#include <p18f4525.inc> ; Définitions des constantes PIC
CONFIG OSC = INTIO67 ; Oscillateur interne 8MHz
CONFIG IESO = OFF ; Délai au démarrage (ON/OFF)
CONFIG BOREN = OFF ; Reset si chute de tension (ON/OFF)
CONFIG PWRT = ON ; Délai au démarrage (ON/OFF)
CONFIG BORV = 0 ; Tension de reset en 1/10ème Volts
CONFIG WDT = OFF ; Mise hors service du watchdog (ON/OFF)
CONFIG PBADEN = OFF ; PORTB<4:0> les broches sont configurées comme E/S numériques lors de la réinitialisation
CONFIG LPT1OSC = OFF ; Timer1 configuré pour un fonctionnement plus puissant
CONFIG MCLRE = ON ; Mclr configuré comme entrée
CONFIG STVREN = ON ; Reset sur débordement de pile (ON/OFF)
CONFIG LVP = OFF ; Programmation basse tension autorisée (ON/OFF)
CONFIG XINST = OFF ; L'extension du jeu d'instructions et le mode d'adressage indexé sont désactivés(mode hérité)
CONFIG DEBUG = OFF ; Debugger hors service
CONFIG CP0 = OFF ; Code protection sur block 0 (ON/OFF)
CONFIG CP1 = OFF ; Code protection sur block 1 (ON/OFF)
CONFIG CP2 = OFF ; Code protection sur block 2 (ON/OFF)
CONFIG CPB = OFF ; Code protection sur bootblock (ON/OFF)
CONFIG CPD = OFF ; Code protection sur eeprom (ON/OFF)
CONFIG WRT0 = OFF ; Protection écriture block 0 (ON/OFF)
CONFIG WRT1 = OFF ; Protection écriture block 1 (ON/OFF)
CONFIG WRT2 = OFF ; Protection écriture block 2 (ON/OFF)
CONFIG WRTB = OFF ; Protection écriture bootblock (ON/OFF)
CONFIG WRTC = OFF ; Protection écriture configurations (ON/OFF)
CONFIG WRTD = OFF ; Protection écriture zone eeprom (ON/OFF)
CONFIG EBTR0 = OFF ; Protection lecture de table block 0 (ON/OFF)
CONFIG EBTR1 = OFF ; Protection lecture de table block 1 (ON/OFF)
CONFIG EBTR2 = OFF ; Protection lecture de table block 2 (ON/OFF)
CONFIG EBTRB = OFF ; Protection lecture de table bootblock (ON/OFF)
CBLOCK H'0'
;--------------- variables
Reg_1 :1 ; tempo
Reg_2 :1 ; tempo
Reg_3 :1 ; tempo
conchita :2 ; bonne à tout faire
ENDC
ORG H'0'
init
movlw B'01110011'
movwf OSCCON ; oscillateur à 8 Mhz
movlw 0Fh
movwf ADCON1 ; mode analogique
movwf 07h
movwf CMCON
movlw b'00000000'
movwf TRISA
clrf PORTA
movlw b'00000000'
movwf TRISB
clrf PORTB
movlw b'00000000'
movwf TRISC
clrf PORTC
movlw b'00000000'
movwf TRISD
clrf PORTD
movlw b'00000000'
movwf TRISE
clrf PORTE
Fichier main:
Code : Tout sélectionner
#include <Platine_init.asm>
main
movlw b'11111111'
movwf PORTA
movwf PORTB
movwf PORTC
movwf PORTD
movwf PORTE
call tempo500ms
clrf PORTA
clrf PORTB
clrf PORTC
clrf PORTD
clrf PORTE
call tempo500ms
bra main
tempo500ms
; Délai 400 000 Cycles de la machine
; Durée du délai 200 millisecond
; Fréquence de l'oscillateur 8 MHZ
movlw .119
movwf Reg_1,1
movlw .8
movwf Reg_2
movlw .3
movwf Reg_3
decfsz Reg_1,F,1
bra $-2
decfsz Reg_2
bra $-6
decfsz Reg_3
bra $-.10
return
END
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Platine test
Bonsoir F6FCO, et tout le forum,
Tu as que des bonnes idées
Mais attention, car chaque led vont consommer 10 mA pour une résistance de 470 Ohms sous 5 volts d'aprés ton schéma,
Ce qui nous fait pour 36 Led x 10mA = 360 mA, même si sa dure 500ms d'après ton programme, c'est suffisant pour tuer un pic
Certain pic ne vont pas le supporter
A+
Tu as que des bonnes idées
Mais attention, car chaque led vont consommer 10 mA pour une résistance de 470 Ohms sous 5 volts d'aprés ton schéma,
Ce qui nous fait pour 36 Led x 10mA = 360 mA, même si sa dure 500ms d'après ton programme, c'est suffisant pour tuer un pic
Certain pic ne vont pas le supporter
A+
Platine test
Platine test
Platine test
- F6FCO
Expert- Messages : 1431
- Âge : 70
- Enregistré en : décembre 2017
- Localisation : Furtif je suis.
- Contact :
C'est mieux comme çà
https://www.youtube.com/watch?v=SPP6cAQosIQ
https://www.youtube.com/watch?v=SPP6cAQosIQ
Code : Tout sélectionner
#include <Platine_init.asm>
main
call block1
nop
call block2
nop
call block3
nop
call block4
nop
bra main
#include<Platine_routines.asm>
END
Code : Tout sélectionner
block1
bsf PORTA,0
bsf PORTA,1
bsf PORTA,2
bsf PORTA,3
bsf PORTA,4
bsf PORTA,5
bsf PORTE,0
bsf PORTE,1
bsf PORTE,2
call tempo300ms
bcf PORTA,0
bcf PORTA,1
bcf PORTA,2
bcf PORTA,3
bcf PORTA,4
bcf PORTA,5
bcf PORTE,0
bcf PORTE,1
bcf PORTE,2
call tempo300ms
return
block2
bsf PORTA,6
bsf PORTA,7
bsf PORTE,3
bsf PORTC,0
bsf PORTC,1
bsf PORTC,2
bsf PORTC,3
bsf PORTD,0
bsf PORTD,1
call tempo300ms
bcf PORTA,6
bcf PORTA,7
bcf PORTE,3
bcf PORTC,0
bcf PORTC,1
bcf PORTC,2
bcf PORTC,3
bcf PORTD,0
bcf PORTD,1
call tempo300ms
return
block3
bsf PORTD,2
bsf PORTD,3
bsf PORTC,4
bsf PORTC,5
bsf PORTC,6
bsf PORTC,7
bsf PORTD,4
bsf PORTD,5
bsf PORTD,6
bsf PORTD,7
call tempo300ms
bcf PORTD,2
bcf PORTD,3
bcf PORTC,4
bcf PORTC,5
bcf PORTC,6
bcf PORTC,7
bcf PORTD,4
bcf PORTD,5
bcf PORTD,6
bcf PORTD,7
call tempo300ms
return
block4
bsf PORTB,0
bsf PORTB,1
bsf PORTB,2
bsf PORTB,3
bsf PORTB,4
bsf PORTB,5
bsf PORTB,6
bsf PORTB,7
call tempo300ms
bcf PORTB,0
bcf PORTB,1
bcf PORTB,2
bcf PORTB,3
bcf PORTB,4
bcf PORTB,5
bcf PORTB,6
bcf PORTB,7
call tempo300ms
return
tempo300ms
; Délai 600 000 Cycles de la machine
; Durée du délai 300 millisecond
; Fréquence de l'oscillateur 8 MHZ
movlw .51
movwf Reg_1,1
movlw .12
movwf Reg_2
movlw .4
movwf Reg_3
decfsz Reg_1,F,1
bra $-2
decfsz Reg_2
bra $-6
decfsz Reg_3
bra $-.10
nop
nop
return
Platine test
Bonsoir a tous.
C'est tellement basique mais super efficace. Bravo pour cette brillante idée F6FCO
@++
C'est tellement basique mais super efficace. Bravo pour cette brillante idée F6FCO
@++
Platine test
Retourner vers « Langage ASM »
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 4 invités