timers/rtc.c fájlreferencia
#include "piccolo_all.h"
#include "timers.h"
#include "stdio.h"
Ugrás a fájl forráskódjához.
|
Makródefiníciók |
#define | USE_OR_MASKS |
#define | RD16_ON 0x80 |
Függvények |
void | hi_isr () |
| 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 |
char | uc |
| az USB-n vett karakter
|
volatile unsigned char | hour |
| óra.
|
volatile unsigned char | min |
| perc
|
volatile unsigned char | sec |
| másodperc
|
Részletes leírás
Mintaprogram Timer1 külső oszcillátora használatának bemutatására. Timer1 a saját, 32 kHz-es oszcillátorának periódusait számlálja. A 16 bites TMR1 számláló 2 másodpercenként csordul túl, és okoz megszakítást. A megszakításokat a sec, min és hour változókban számoljuk.
Az USB kapcsolaton egyszerű parancsokat fogadunk:
- Shhmmss - óra, perc és másodperc beállítása (hh,mm,ss kétjegyű HEXADECIMÁLIS számok!)
- T - az aktuális idő kiírása hh:mm:ss formátumban (a kiírás decimálisan történik)
Hardver igény:
- PICCOLO projekt alapkapcsolás PIC18F14K50 vagy PIC18F4550 mikrovezérlővel, esetleg a Microchip Low Pin Count USB vagy a PICDEM Full Speed USB demókártya
- USB kapcsolat
- 32 kHz-es órakvarc és 2 db 33 pF kondenzátor T1OSC üzembehelyezéséhez
Projekt konfiguráció: A program működéséhez a HID_BOOTLOADER szimbólumon kívül az USE_INTERRUPT és az USE_USB szimbólumokat is definiálni kell!
Definíció a(z) rtc.c fájlban.