This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revision | |||
| et:examples:digi:7seg [2009/11/04 13:15] – mikk.leini | et:examples:digi:7seg [2009/11/04 13:16] (current) – eemaldatud mikk.leini | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== 7-segmendise numberindikaatori kasutamine ====== | ||
| - | {{: | ||
| - | |||
| - | 7-segment LED numberindikaator on Digitaalplaadil ühendatud läbi draiveri A6275 ({{: | ||
| - | Draiver on ühendatud kontrolleri portidesse: PORTC ja PORTG vastavalt joonisele. latch PORTG2, Serial PORTC6 ja clock PORTC7. | ||
| - | |||
| - | {{: | ||
| - | |||
| - | Järgnevalt on toodud 7 segmendilise numbri indikaatori kasutamise näide. Selleks on vaja ATmega128 põhiplaadi külge lisada Studyboard. Näites kasutatakse indikaatorit läbi selleks loodud funktsioonide mida on võimalik kiirelt ka teistesse projektidesse kopeerida. | ||
| - | |||
| - | Kasutusel on viikude operatsioonide teek mille leiad [[et: | ||
| - | |||
| - | <code c> | ||
| - | // | ||
| - | // Kodulabori sisend-väljund mooduli 7 segmendilise | ||
| - | // LED indikaatori näidisprogramm | ||
| - | // | ||
| - | #include < | ||
| - | |||
| - | // | ||
| - | // Põhiprogramm | ||
| - | // | ||
| - | int main(void) | ||
| - | { | ||
| - | int dir = 1, counter = 0; | ||
| - | |||
| - | // 7-segmendilise indikaatori seadistaine | ||
| - | segment_display_init(); | ||
| - | |||
| - | // Lõputu tsükkel | ||
| - | while (true) | ||
| - | { | ||
| - | // Loenduri väärtuse näitamine | ||
| - | segment_display_write(counter); | ||
| - | |||
| - | // Lugemine nullist kümneni ja vastupidi | ||
| - | counter += dir; | ||
| - | |||
| - | // Loendamise suuna muutmine 9 ja 0 juures | ||
| - | if (counter == 9) | ||
| - | { | ||
| - | dir = -1; | ||
| - | } | ||
| - | else if (counter == 0) | ||
| - | { | ||
| - | dir = 1; | ||
| - | } | ||
| - | |||
| - | // Paus 1 sekund | ||
| - | _delay_ms(1000); | ||
| - | } | ||
| - | } | ||
| - | </ | ||