|
Kategorie: Diplomové, bakalářské práce |
Tento dokument chci!
Předmětem této práce je studium stávajícího vývojového řetězce pro mikroprocesor LPC23xx v předmětu MPOA. Hlavním cílem je zkoumání možností realizace nového vývojového řetězce, postaveného na GCC. Výstupy této práce jsou ukázkové aplikace s mikroprocesorem LPC2378 a GCC. Součástí vysledků jsou i návody pro studenty, jak tyto ukázkové aplikace implementovat. Ukázky zahrnují základní aplikace, RTOS aEthernet.
Čas je
reprezentován celočíselným údajem, který vyjadřuje počet násobků základního
časového kvanta.h předpřipravené makro pro výpočet času. Možné
řešení může být následující:
#define DCONST 6000U
void delay_ms(unsigned int ms) {
volatile unsigned int i;
for(; ms; ms--)
for(i=0; i<DCONST; i++);
}
Výpis proměné LCD
Pro výpis proměné LCD již předpřipraveno makro pomocná tabulka.75
Zpoždění
Pro pokusy klávesnicí vhodné mít dispozici funkci pro zpoždění. souboru
timer_drv. této úloze bude systémový čas generován pomocí přerušení
vyvolaného časovačem Základní funkce jsou modulu timer_drv.
. Řešení bez ošetření zákmitů by
mohlo vypadat následovně:
unsigned char cnt=0;
/* LCD */
lcd_init();
lcd_clrscr();
/* KBD */
kbd_init();
lcd_puts("0x00");
while (1)
{
while (!b0psh()); /*čekání stisk*/
cnt++;
lcd_gotoxy(0,0);
lcd_puts("0x");
lcd_putc(NumToHex((cnt 0xF0) 4));
lcd_putc(NumToHex(cnt 0x0F));
while (b0psh()); /*čekání uvolnění*/
}
Úkol Stavový automat
Použití stavových automatů vyžaduje existenci systémových hodin.c
Základem programu bude nekonečná smyčka.
const char hex[16] '0','1','2','3','4','5','6','7',
'8','9','A','B','C','D','E','F' };
#define NumToHex(i) (hex[(i)])
S využitím tohoto makra pak zápis proměnné unsigned char LCD může vypadat
takto:
lcd_putc(NumToHex((cislo 0xF0) 4));
lcd_putc(NumToHex(cislo 0x0F));
Hlavní modul main