Projet

Général

Profil

« Précédent | Suivant » 

Révision 344

Ajouté par mamorales il y a presque 4 ans

avancement TP SPb1 jusqu'à la détection des différentes touches (lignes + colonnes).

Voir les différences:

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