Tachymetre
TACHYMETRE.BAS / BasicPic Quartz de 8.196MHz, pas de chien de garde, power Off. Version Vitesse lente de 12 à 1200 trs / mn Principe de fonctionnement : - Mesure de la durée d’un tour (maximum 5 secondes) avec une résolution de 500 µs - Calcul de la fréquence ( f = 1/T ) - Calcul de la vitesse de rotation en trs / mn (de 12 à 1200 trs /mn) - Affichage
INCLUDE "C:\BASICPIC\16F84.inc" BYTE VU,VD,VC,VM BYTE P0,P1,P2 BYTE BYTE BYTE BYTE BYTE BYTE F FD U,D,C,M,AFF NP0,NP1,NP2 V3,V2,V1,V0 w_temp,status_temp REM REM REM REM REM REM REM REM REM Vitesse VU unités, VD dizaines, VC centaines, VM milliers Période (avec une résolution de 500 µs) F = 1/T Puis vitesse de rotation en fin de calcul Flag de passage par l’interruption Flag petite vitesse (1 si < 100 trs/mn) grande vitesse (0) Pour l'affichage Nombre représentant la fréquence f = 1/T Nombre représentant la seconde f = 1/T Pour Interruption
BIT CLOCK porta.4 ORG 0x0000 GOTO main ORG 0x0004 GOTO inter ORG 0x0005 main: trisb=0x00 trisa=0x10 Option_reg=11010001b intcon.7=1 intcon.5=0 VU=0:U=0 VD=0:D=0 VC=0:C=0 VM=0:M=0 AFF=0 Début: intcon.5=1 C0: IF CLOCK=1 THEN GOTO C0 C1: IF CLOCK=0 THEN GOTO C1 TMR0=00 intcon.2=0 REM REM REM REM
REM Impulsions en provenance du capteur du moteur REM Vecteur pour le Reset REM Vecteur pour le Timer
REM portb en sortie REM porta en sortie sauf pa4 entrée horloge REM Interruption Timer - 500µs avec quartz 8.192 MHz REM Valide le régime général des interruptions REM Interdit l'interruption Timer REM Initialisation des variables vitesse
REM Autorise l'interruption Timer sur le front montant REM Attente d'un état 0 en provenance du capteur REM Attente d'un front montant en provenance du capteur REM RAZ contenu du Timer REM Flag Timer effacé
********************************************************************************************* Mesure de la durée d’un tour (max 5 secondes) avec une résolution de 500 µs Si la période > 5s ou < 5ms