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