PIC08
Messages postés2Date d'inscriptionmercredi 21 juillet 2010StatutMembreDernière intervention22 juillet 2010
-
21 juil. 2010 à 16:20
PIC08
Messages postés2Date d'inscriptionmercredi 21 juillet 2010StatutMembreDernière intervention22 juillet 2010
-
22 juil. 2010 à 14:26
Bonjour,
Je suis entrain d'écrire un programme que j'ai compilé correctement, qui a pour but d'envoyer une trame(Information) en fonction du bouton poussé d'une télécommande, je dois synchroniser la durée de chaque bit de sortie du Port B et ajouter un bit de start et un bit de stop, malheureusement je ne sais comment faire.
merci de m'aider
{
PORTA = 0x00; // Initialisation du port A
PORTB = 0x00; // Initialisation du port B
PORTC = 0x00; // Initialisation du port C
PORTD = 0x00; // Initialisation du port D
TRISC = 0xFF; // Le port C en entrée (Boutons de commande)
TRISD = 0xFF; // Le port D en entrée (Boutons de commande)
TRISB = 0x00; // Le port B en sortie (Sortie de trames)
while (1) //Boucle infinie
{
if (PORTC & PORTD 0) PORTB trame0;
else if (PORTCbits.RC0) PORTB = trame1; // Si le bouton1 est appuyé, le port B transmet la trame1
else if (PORTCbits.RC1) PORTB = trame2; // Si le bouton2 est appuyé, le port B transmet la trame2
else if (PORTCbits.RC2) PORTB = trame3; // Si le bouton3 est appuyé, le port B transmet la trame3
else if (PORTCbits.RC3) PORTB = trame4; // Si le bouton4 est appuyé, le port B transmet la trame4
Guilou34
Messages postés142Date d'inscriptionmercredi 5 avril 2006StatutMembreDernière intervention29 janvier 20161 22 juil. 2010 à 14:16
Puisque tu parles de start bit et de stop bit on peut penser qu'il s'agit d'une liaison série asynchrone du type rs232. Fait une recherche sur ce mot et tu verras qu'il n'y a rien de compliqué. Tu parles aussi de télécommande, dans ce cas il faut connaître les caractéristiques du récepteur et il est rare que le signal transmis soit une suite de 1 et de 0 mais bien un signal modulé entre 20 et 40 kHZ.
Amicalement
PIC08
Messages postés2Date d'inscriptionmercredi 21 juillet 2010StatutMembreDernière intervention22 juillet 2010 22 juil. 2010 à 14:26
Merci pour ta réponse, il s'agit en fait d'une télécommande de climatisation, j'ai le discpositif qui dispose d'un ancien Microcontroleur NEC et je dois donc le remplacer par un PIC 18F,je part d'un cahier de charge pour pouvoir envoyer une trame et pour l'afficheur et pour le récepteur.Comme tu as dit c'est un signal modulé entre 20 et 40 kHZ.le problème c que je ne trouve que des codes en HEXADECIMAL 20H 23H...et je ne comprend pas bien l'assembleur,c pour cela j'ai du mal à en déduire les codes des trames. C'est pour ca j'essai d'écrire un programme qui permet d'envoyer n'importe quelle trame, son identification devient facile après avoir obtenu son code de la part de mon tuteur.Avez vs des conseils SVP.
Merci