maticova klavesnice v C
David Burda
d.burda
Středa Březen 17 12:05:16 CET 2004
Prerusen se resi nasledovne :
/* Interrupts */
void door() interrupt 2 using 1 /* Preruseni
od dveri */
{ if(Armed)SIR=0;
}
void timer() interrupt 1 using 2 /* Preteceni
T0 */
{ TH0=0x15;TL0=0x9F; /* T0 pretika
kazdych 30 ms */
Time++;
Time2++;
Timeauto++;
Timerele++;
}
void central() interrupt 0 using 3 /* Odemknuto
/ zamknuto */
{ IE&=0xFE;
SIR=1;
if(~Lock){BLIK=1;for(i=0;i<4;i++)Delay2();if(Sounden){SIR=0;Delay2();SIR=1;}
BLIK=0;Delay2();//SIR=0;Delay1();SIR=1;
BLIK=1;for(i=0;i<4;i++)Delay2();if(Sounden){SIR=0;Delay2();SIR=1;}
BLIK=0;Armed=1;
}
else{BLIK=1;for(i=0;i<4;i++)Delay2();BLIK=0;if(Sounden){SIR=0;Delay2();SIR=1
;}Armed=0;}
Test_d=1;
Prosel=0;
Time2=0;
}
Sou to priklady preruseni ot casovace T0 (timer() interrupt 1 using 2-tvuj
libovolnej nacev, poradi interruptu v procesoru, kterou banku registru bude
vyuzivat) a obou externich preruseni.
Co se tyce ty klavesnice tak bych doporucil zapojeni vyuzivajici ext.
preruseni procesoru. Na matici tlacitek 4x4 potrebujes jenom 4 piny (1/2
brany) + ext preruseni (INT0 | 1). Za pojeni je klasika s 8 diodama navic.
----- Original Message -----
From: Jakub Ladman <ladmanj@volny.cz>
To: Multiple recipients of list <hw-news@list.gin.cz>
Sent: Wednesday, February 14, 2001 10:46 PM
Subject: maticova klavesnice v C
> Delam takovy ovladaci panel s AT89C52 a delam to v C.
> Uz mam vyresenu komunikaci s LCD dvouradkovym displayem, a na I2C sbernici
s
> LM76, DS1307 a 24C16. (O vysledky se rad podelim)
> Ted se chystam na cteni maticove klavesnice 4x4 tlacitka pod prerusenim.
> Jeste jsem s prerusenimi v C nedelal a tak uvitam vase tipy.
> DS1307 (RTC obvod) ma vystup frekvce volitelne mezi 1Hz 4kHz 8kHz a 32kHz,
> ja chci vyuzit 4kHz kmitocet, privest ho do jednoho z citacu v 52 tam
delit
> a prerusovat asi po 10ms.
> Multiplex si predstavuji tak, aby se opakoval kazde 4 preruseni.
> Proto prosim o radu, jak se v C51 (keil) napise obsluha preruseni? a jak
> byste z te klavesnice predavali vysledky hlavnimu programu?
>
> Dekuji za nakopnuti spravnym smerem.
> Jakub Ladman
>
>
Další informace o konferenci Hw-list