timers/squarewave.c fájlreferencia

#include "piccolo_all.h"
#include "timers.h"

Ugrás a fájl forráskódjához.

Függvények

void hi_isr (void)
 Magas prioritású programmegszakítás kiszolgálása.
void lo_isr ()
 Alacsony prioritású programmegszakítás kiszolgálása.
void main (void)

Változók

volatile unsigned char delay
 számláló késletetéshez


Részletes leírás

Négyszöghullám jelet állít elő az RB5 kimeneten, Timer2-vel keltett periodikus programmegszakítás segítségével. A programban úgy konfiguráljuk a Timer2 időzítőt, hogy 5 ms-onként generáljon programmegszakítást. Az interrupt kiszolgálásakor töröljük a TMR2IF jelzőbitet és ellenkező állapotba billentjük az RB5 kimenetet. Mellékfeltételként egy delay nevű számlálót is csökkentjük minden 5 ms-os időszelet elteltekor, amíg a számláló nullára nem csökken. A számlálásra használt változó szemaforként hasznosítható: nulla állapota jelzi, hogy letelt az előírt késleltetési idő. A szemafort a főprogramban LED1 villogtatására használjuk "életjelző" funkcióként.

Hardver követelmények: a "A kísérleti áramkör" című fejezetben bemutatott referencia áramkör RB5 kimenetét rá kell kötni egy oszcilloszkópra, vagy logikai analizátorra (a PICkit2 is használható logikai analizátorként). Ha nincs alkalmas eszközünk a vizsgálathoz, akkor közvetett módon a LED1 villogása is jelzi, hogy rendben zajlanak a programmegszakítások.

Projekt konfiguráció: A program helyes működéséhez a HID_BOOTLOADER mellett a USE_INTERRUPT szimbólumot is definiálni kell! Az USB kapcsolatot nem használjuk.

Definíció a(z) squarewave.c fájlban.


Projekt: PICCOLO projekt - PIC18 támogatói programkönyvtár Készült: Thu Apr 7 21:00:25 2011 Készítette:   doxygen 1.5.9