Stap 2: Een uitgangssignaal genereren wanneer tegenkomen een puls
Dus nu laten we beginnen bouwen de puls-analyzer. Omdat we willen Sample and Hold gebruiken om de amplitude van de pols, moeten we overstappen op de S/H wanneer er een puls. Dus de eerste stap is het schrijven van een programma dat PIC24F vertelt voor het verzenden van een puls (als de schakelaar aan de S/H) telkens als er zich een puls waarvoor we willen meten zijn amplitude.
====================================================================================
; Selecteer de p24FJ32GA002-processor
.EQU __p24FJ32GA002, 1
; opnemen van de definities van de processor
.include "p24FJ32GA002.inc"
; Configuratiebits;
config __CONFIG1 0x3f7f
config __CONFIG2 0x79cf
.Global __reset; Het label voor de eerste regel van de code.
;..............................................................................
; Gedeelte van de code in het programmageheugen; (DIT IS WAAR HET PROGRAMMA ZAL BEGINNEN NA RESET);...;
.Text; Begin van codesectie
__reset:
; RB1 pin5; Rb2 pin6; RB3 pin7; RA0 pin2.
BCLR TRISB, #1
JA TRISA, #0
JA AD1PCFG, #0; de pincode instellen om te worden van de digitale ingang
; LOOP1 & 2 controles IS er een stijgende-rand
LUS:
LOOP1: BTSS PORTA, #0; SLA ALS HOOG IS
BEHA LOOP1
JA LATB, #1; GEEFT EEN UITGANGSSIGNAAL
BCLR LATB, #1
LOOP2: BTSC PORTA, #0
BEHA LOOP2; OVERSLAAN ALS NIVEAU LAAG IS
BEHA LUS
.End; Einde van de programmacode in dit bestand
==================================================================================
Hierboven is een foto van de oscilloscoop scherm. De roze chanel is de inbreng op de microchip. Telkens als er zich een stijgende rand, dan is het een korte puls genereert en de oscilloscoop zal opnemen. Dat is de groene pieken die we zien. De breedte van elke gegenereerde puls is over 250ns, die is vrij snel! YAY :D