Frequenzimetro 0,1 ÷ 999.999 Hz con micro Z8 – 3

Frequenzimetro 0,1 ÷ 999.999 Hz con micro Z8

IL SOFTWARE: Nei dettagli, il modo di funzionamento dello Z86E04 scaturisce dal software caricato nella sua memoria, software che è praticamente composto da due parti: la prima serve per la misura della frequenza, quindi per il conteggio, mentre la seconda riguarda il pilotaggio del display e perciò la visualizzazione dei valori rilevati di volta in volta. Vediamo di spiegare semplice-mente come vengono svolte le due fasi, e in che modo vengono gestiti gli ingressi e le uscite.

Partiamo dal momento dell’accensione e vediamo che dopo il reset iniziale il microcontrollore inizializza il bit P31 (bit 1 della porta 3) come ingresso digitale TTLcompatibile; i piedini 15, 16, 17, 18, 1, 2, 3, 4 (rispettivamente P20, P21, P22, P23, P24, P25, P26, P27) diventano uscite, quelle che formano il bus dati di 8 bit per l’invio delle informazioni al display intelligente, mentre i pin 12 e 13 (P01 e P02) sono configurati ancora come uscite, di cui la prima è per l’abi-litazione dello stesso display, e la seconda serve per scandire la comunicazione (strobe).

Ancora, P00 (piedino 11) è impostato come uscita per indica-re l’aggancio del trigger mediante il led LD1, che lampeggia ogni secondo; i pin 9 e 10 sono infine configurati come ingressi, e servono al micro per sapere dove spostare la virgola, ovvero il punto decimale sul visualizzatore. Concludiamo questa descrizione preliminare facendo notare che il display è retroilluminato con led verdi posti al proprio interno, alimentati tramite gli stessi piedini che ne fanno funzionare la logica: il 2 (positivo) l’1 ed il 5 (massa); la resistenza R5, collegata tra il pin 3 e massa, serve ad impostare il contrasto.

Bene, adesso possiamo riassumere come avviene la misura della frequenza: senza entrare troppo nello specifico diciamo che il software legge periodicamente i fronti del segnale applicato al piedino 8 (P31) ciascun periodo del quale attiva l’interrupt IRQ2; il micro conta un certo numero di periodi in un intervallo ben definito da una base-tempi scandita da un interrupt ogni 10 millisecondi. Allo scadere di ciascun blocco di tempo verifica quanto è stato rilevato dal contatore, quindi elabora il valore corrispondente in modo da inviarlo al bus-dati del display.

L’aggiornamento di quest’ulti-mo viene effettuato ogni secondo, in concomitanza con il trigger scandito dal lampeggìo del led LD1. Quanto alla visualizzazione del valore di frequenza, il microcontrollore Z86E04 avvia un’apposita routine che prevede le necessarie temporizzazioni, nonché la gestione dei due segnali di controllo Enable e S/R; nei dettagli, il numero corrispondente al valore letto viene mandato cifra per cifra, e ciascuna di queste viene espressa inviando lungo il bus dati il numero binario corrispondente al suo valore ASCII. Ad esempio il carattere 2 è espresso con il numero 50, ovvero 00110010 binario.

L’invio di ciascuna delle cifre che for-mano il valore letto dal frequenzimetro è scandito da un impulso sulla linea S/R, e dal livello alto al piedino di Enable (6 del display, 12 del microcontrollore) il quale rimane attivato per tutta la durata di ogni ciclo di refresh del display. Quanto al modo di lettura, va detto che il micro Z86E04 è stato programmato per disporre di 4 diverse opzioni, impostabili ciascuna mediante i dip-switch DS3 e DS4, ovvero cambiando lo stato logico dei piedini 9 e 10; in sostanza è possibile scegliere il modo di visualizzazione che si preferisce quando all’ingresso si pone un divisore, ovvero il prescaler.

Il kit è disponibile da Futura Elettronica

Leave a Reply