maticova klavesnice v C
Jakub Ladman
ladmanj
Středa Březen 17 12:05:16 CET 2004
A jak je to zapojeny ta klavesnice?
Me nejak neni jasny, jak muze byt pripojena jen na 4 bity + preruseni?
Diky Jakub
----- Original Message -----
From: "David Burda" <d.burda@worldonline.cz>
To: "Multiple recipients of list" <hw-news@list.gin.cz>
Sent: Thursday, February 15, 2001 10:06 AM
Subject: Re: maticova klavesnice v C
> 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