Timer + przycisk Przerwanie timer + przycisk


#include
sbit segC=P0^2; // przypisanie adresu zmiennej do portu P0
void timer0(); // deklaracja prototypu funkcji obsługi przerwania
void button0(); // deklaracja prototypu funkcji obsługi przerwania
void delay(unsigned int i); //prototyp funkcji opóźnienia
char zmienna;
//..................program główny.............//
void main()
{
ET0=1; //zezwolenie na przerwanie od timera0
EX0=1; //zezwolenie na przerwanie zewn0
TMOD=0x01; //timer tryb 1 czyli tryb 16-sto bitowy
EA=1; //uaktywnienie systemu obsługi przerwań
TR0=1; //timer0 start
P0=0; //wygaś wszystkie segmenty
P2=0; //uaktywnij wyświetlacz 0 (czyli pierwszy od lewej)
while (1)
{
}
}
//.............................................//
void delay (unsigned int i) // ciało funkcji opóźnienia
{
for (;i>0;i--); //odliczaj w dół do zera
}
void button0() interrupt 0 //ciało funkcji obsługi przerwania
{
TR0=~TR0; //negacja stanu poprzedniego załączenia timera0
if (TR0==0) segC=0; //jak nie mruga to wygasza diodę)
delay(20000); //opóźnienie na drganie styków przycisku
}
void timer0() interrupt 1 // ciało funkcji obsługi przerwania
{
zmienna++;
if (zmienna>=6) //zmienna liczy który raz wchodzimy do przerwania
{
segC=~segC;
zmienna=0;
}
segC=~segC; //negacja stanu poprzedniego zapalenia segmentu
}
//segment ma mrugać 2 razy w ciągu sekundy //

Wyszukiwarka

Podobne podstrony:
Timer Przerwanie timer
TIMER BUZZER LED
timer
Universeller Countdown Timer
timer
PRZYCISKI STEROWANIA RT3
Prawo przyciągania 5 prostych kroków do zdobycia bogactwa
Czastki przyciagania Jak budowac niestandardowe kampanie reklamowe alnapo
co to jest prawo przyciagania
10 przyciskowy zamek szyfrowy z procesorem AT89C2051
Przyciski
Inteligentny Dom Inteligentne przyciski
timer tmr
506k timer ne555 regulator pwm

więcej podobnych podstron