Révision 344
Ajouté par mamorales il y a presque 4 ans
SP4b1.c | ||
---|---|---|
void init_keyboard(void);
|
||
void tpo_50ms(void) ;
|
||
unsigned char touche = 0;
|
||
|
||
char t;
|
||
void main(void)
|
||
{
|
||
init_keyboard()
|
||
pd10 = 0x0F;pu31=1;
|
||
p10=0x00;
|
||
|
||
while(1)
|
||
{
|
||
if ( (p10 & 0xf0)!= 0xf0 )
|
||
p10=0x07;
|
||
t=p10;
|
||
if(t&0xf0!=0xf0) //test les bits de poids forts. Si le bit de poid for de t est != de f, alors t&0xF0 sera != de 0xF0
|
||
{
|
||
touche = p10 ;
|
||
tpo_50ms() ;
|
||
touche=p10;
|
||
}
|
||
}
|
||
}
|
||
p10=0x0B;
|
||
t=p10;
|
||
if(t&0xf0!=0xf0)
|
||
{
|
||
touche=p10;
|
||
}
|
||
p10=0x0D;
|
||
t=p10;
|
||
if(t&0xf0!=0xf0)
|
||
{
|
||
touche=p10;
|
||
}
|
||
p10=0x0E;
|
||
t=p10;
|
||
if(t&0xf0!=0xf0)
|
||
{
|
||
touche=p10;
|
||
}
|
||
|
||
}
|
||
|
||
void init_keyboard(void)
|
||
{
|
||
pd10 = 0x0F;p10=0 ;pu31 = 1;
|
||
}
|
||
|
||
void tpo_50ms(void)
|
||
{
|
||
tcspr = 0x8A;
|
||
ta0mr = 0x82;
|
||
ta0 = 50000;
|
||
ta0s = 1;ta0os = 1;
|
||
ta0ic = 0x00;
|
||
while(ir_ta0ic != 1);
|
||
ta0s = 0;
|
||
}
|
Formats disponibles : Unified diff
avancement TP SPb1 jusqu'à la détection des différentes touches (lignes + colonnes).