Kul med PIC församling - episod 16 (2 / 2 steg)
Steg 2: programvara
Programvaran länk nedan. Medan det är måltavlan för 12F683, är det lätt portas till större versioner av bilden. Det kräver oftast ändra namn som TRISIO till TRISA och GPIO att PORTA. Du måste också ändra raden som identifierar den PIC versionen (lista =) och INCLUDE-filen men de är intuitivt förändringar. Den __CONFIG linjen kan också behöva tweaking bara för att en eller två av de etiketter som används är stavat fel i några av inkluderade filer. Den enda skillnaden i _CONFIG raden från tidigare 12F683 projekt är att posten för att använda en intern oscillator har ersatts av posten _FOSC_HS (hög hastighet externa oscillator).
Timer1 översvämningen är faktiskt hanteras som ett avbrott men det skulle vara lätt att bara hålla reda på inställningen för flaggan avbrott i den huvudsakliga rutinen utan att generera ett avbrott. Avbryta frekvensen är 2-Hz. Det frekvensen härleds genom att ange Timer1 kontroll att använda oscillator frekvens / 4 ingång, att före skala att indata av 8, och att avbryta när timern svämmar över på 65536 räknas [4194304 Hz / (4 * 8 * 65536)].
Utgången på GP0 är påslagen under jämna avbrott och avstängd under udda avbrott. Som genererar en fin 1-Hz puls. Programmet räknar antalet 1-Hz pulser (sekunder) och använder som aktivera GP1 utmatning en gång i minuten. Protokollet räknas för att vända i GP2 utdata en gång i timmen. Varje utgång pulserna varar 500ms (tiden fram till nästa avbrottet). Lysdioderna på GP0, GP1 och GP2 är bara där som visuella indikatorer i vårt exempel.
Tja, är det det för episod 16 i "Kul med PIC församlingen". Håll ögonen öppna för ytterligare episoder.