Projet

Général

Profil

« Précédent | Suivant » 

Révision 412

Ajouté par begresset il y a presque 4 ans

modifications programme de detection des touches.

Voir les différences:

branch/gresset/sp4b1/SP4b1/SP4b1.c
#include "sfr32c87.h"
/*id init_keyboard(void);
/*id init_keyboard(void);
void tpo_50ms(void);
unsigned char touche = 0;
void main(void){
init_keyboard();
while(1){
if ( (p10 & 0xf0)!= 0xf0 ){
touche=p10;
tpo_50ms();
void main(void){
init_keyboard();
while(1){
if ( (p10 & 0xf0)!= 0xf0 ){
touche=p10;
tpo_50ms();
}
}
}
void init_keyboard(void){
}
}
void init_keyboard(void){
pd10=0x0F;
p10=0;
pu31 = 1;
pu31 = 1;
}
void tpo_50ms(void){
tcspr=0x8A; ta0mr = 0x82; ta0 = 50000;
void tpo_50ms(void){
tcspr=0x8A; ta0mr = 0x82; ta0 = 50000;
ta0s=1;
ta0os=1;
ta0ic=0x00;
while(ir_ta0ic != 1);
ta0s=0;
ta0os=1;
ta0ic=0x00;
while(ir_ta0ic != 1);
ta0s=0;
}*/
char touche;
char t;
void main(void){
pd10=0x0F;
p10=0x00;
pu31=0xFF;
pu30=0xFF;
while(1){
p10=0b11110111;
if((p10&0xF0)!=0xF0){
t=p10;
}
p10=0b1011;
if((p10&0xF0)!=0xF0){
t=p10;
}
p10=0b1101;
if((p10&0xF0)!=0xF0){
t=p10;
}
p10=0b1110;
if((p10&0xF0)!=0xF0){
t=p10;
}
}
//p10=0b11110111;
//if((p10&0xFF)!=0xFF){
//t=p10;
if(p10==0xe1){
touche='*';
}
if (p10=0xd1){
touche='0';
}
if (p10=0x71){
touche='#';
}
//p10=0b11111011;
//if((p10&0xF0)!=0xF0){
//t=p10;
//if(p10=0x0b){
if (p10=0xeb){
touche='7';
}
if (p10=0xdb){
touche='8';
}
if (p10=0x7b){
touche='9';
}
//p10=0b11111101;
//if((p10&0xF0)!=0xF0){
//t=p10;
//if(p10=0x0d){
if (p10=0xbd){
touche='4';
}
if (p10=0xdd){
touche='5';
}
if (p10=0x7d){
touche='6';
}
//p10=0b11111110;
//if((p10&0xF0)!=0xF0){
//t=p10;
//if(p10=0x0e){
if (p10=0xbe){
touche='1';
}
if (p10=0xde){
touche='2';
}
if (p10=0x7e){
touche='3';
}
}
}

Formats disponibles : Unified diff