Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Fixer un bit du portc du pic a un niveau logique [ Processeurs / Autre ] (yalein)

jeudi 18 mai 2006 à 23:54:38 | Fixer un bit du portc du pic a un niveau logique

yalein

Bonjour à tous, Je suis en train de finir un thermostat avec commande de chauffe d'un cabe chauffant. Mais apres avoir comparé la température de seuil avec celle réel et que je veux commander la chauffe du cable (via un relais), la broche du pic ne reste pas à 1. Je m'explique : j'ai créé deux macros, une qui force à un niveau haut le bit 1 du port C (commande de chauffe) et une autre qui "relache" se meme bit (commande d'arret chauffe). Mais quand je sort du sous programme de chauffe, le bit 1 du portc ne rest pas a un niveau haut et passe a un niveau bas, donc arret forcé de la chauffe. Est -il possible d'avoir un niveau haut sur le bit tout en exécutant d'autre sous programmes, puis commander ensuite le niveau bas? Je vous met mes lignes de codes pour aider a la compréhension. Merci d'avance pour votre aide ! **********voici les macros********** ; La macro suivante règle le bit1 du PORTC en sortie et y impose un niveau haut COM_CABLE_ON Macro ; Banque 1 banksel TRISC bcf COM_CABLE ; = sortie (agit sur le TRISC) ; Banque 0 banksel PORTC bsf COM_CABLE ; = niveau Haut (on commande la chauffe du câble) endM ; La macro suivante règle le bit1 du PORTC en entrée (relâche) COM_CABLE_OFF Macro ; Banque 1 banksel TRISC bsf COM_CABLE ; = entrée (on arrête la chauffe du câble) ; Banque 0 banksel PORTC endM ********sous programme de chauffe ou d'arret****** COMMANDE_CHAUFFE movlw D'25' ; Temperature de reference pour la chauffe movwf Temp_Comp movf TEMPERATURE, W subwf Temp_Comp,W ;Temp_comp-TEMPERATURE btfss STATUS, Z ; tester le bit Z, si=0 -> teste carry ; si=1 -> resultat nul ->arret chauffe btfss STATUS, C ; tester le carry, si=0 resultat negatif->arret chauffe ; si=1 resultat positif->departchauffe goto ARRET_CHAUFFE goto DEPART_CHAUFFE ARRET_CHAUFFE COM_CABLE_OFF ;arret de la chauffe du cable (voir macro) CALL LCD_EFFACE CALL LCD_CURSEUR movlw 0x2155 ; adresse du message à afficher movwf ADR_EEPROM ; affichage de "Depart chauffe" call AFF_MSG return DEPART_CHAUFFE COM_CABLE_ON ;depart de la chauffe du cable (voir macro) CALL LCD_EFFACE CALL LCD_CURSEUR movlw 0x2144 ; adresse du message à afficher movwf ADR_EEPROM ; affichage de "Arret chauffe" call AFF_MSG return ;retourne au test de température pour savoir si la chauffe à suffit; ; c'est en sortant de DEPART_CHAUFFE que le bit 1 revient au niveau bas !!!

jeudi 1 juin 2006 à 15:34:22 | Re : Fixer un bit du portc du pic a un niveau logique

chatelin71

bonjour,
il est difficile de répondre car une autre partie du programme peut agir accidentellement sur le port c
chatelin71

jeudi 1 juin 2006 à 15:37:49 | Re : Fixer un bit du portc du pic a un niveau logique

chatelin71

bonjour,
peut être conviendrait il de postionner le portc pour la chauffe a l'initialisation et ensuite,
agir sur trisc pour valider la sortie ou la mettre en haute impedance
cordialement
chatelin71



Cette discussion est classé dans : arret, niveau, bit, cable, chauffe


Répondre à ce message

Sujets en rapport avec ce message

fixé une broche à un niveau logique haut [ par yalein ] Bonjour à tous,Je suis en train de finir un thermostat avec commande de chauffe d'un cabe chauffant. Mais apres avoir comparé la température de seuil Flags PF/AF [ par Lilia_sys ] Bonsoir tout le monde 1)Pourquoi le bit d'état PF (Parity flag) ne concerne que les 8 bits de poids faible du résultat de l'opération?? Et quel est le PIC 18F2550 [ par PIC18F ] Bonjour,Je suis débutant en programmation des PICS. Actuellement je programme un PIC 18F2550 en assembleur. Je dois gérer la communication entre une c help me [ par theyoupione ] j'ai écri un ptit prog dont voici un extrait permettant d'envoyer un octet vers liaison série mais j'ai un pb lors de la compilation avec mplabl'erreu projet de fin d'année [ par jorus1212 ] Je suis en projet et je doit developpé un programme qui absorbe les données d'un pc par liaison rs232 de façon asynchronne et les stocke dans le buffe bits de registres [ par vecchio56 ] Salut,Je cherche le moyen le plus rapide de-connaitre le bit numero n d'un registre-mettre à b le bit numero n d'un registre(Ou si c'est possible mett lcd 2x8 en mode 4 bit [ par tsii22 ] Bonjour ,je cherche comment programmer en assembleur avec un pic16f57, un lcd DMC-50448N-E-AE, qui est un lcd 2x8 en mode 4bit. Je veux afficher des c commande PIC 68HC11E2 [ par salim_samir ] salut à touscomment je peut tester un bit de port c de pic 68HC11E2 et commander un clignotement de 4 lampe (si le bit x de port c est vrais fait un c Pic et USB [ par blueburry ] Bonjour, je voudrais connecter mon PIC16F877 a une camera digitale via un cable USB afin d'envoyer des images. Je voudrais savoir s'il existe un code


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,218 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.