begin process at 2012 05 25 01:38:19
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Assembleur

 > 

Divers

 > 

Débutant(e)

 > 

16f877 test de contacts


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

16f877 test de contacts

mercredi 16 juin 2010 à 08:57:27 | 16f877 test de contacts

tak0s

Tout d'abord, bonjour à tous

Je suis complètement noob en programmation assembler et j'ai essayer ,au bout de quelques lecture de différents Tuto, de réaliser mon programme :

Code :
	list      p=16F877             
	#include          

	__CONFIG   _CP_OFF & _WDT_OFF & _PWRTE_ON & _HS_OSC & _BODEN_OFF & _LVP_OFF & _CPD_OFF  & _WRT_ENABLE_ON & _DEBUG_OFF
; Pas de code protege, pas de watch hdog timer, delai de demarrage, horloge HS.



		ORG     0x000           
  		GOTO    main  
		ORG     0x004	
		RETFIE  

main 	CLRF	PORTA		; Initialise le port A
		CLRF	PORTB		; Initialise le port B	
		CLRF	PORTC		; Initialise le port C
		CLRF	PORTD		; Initialise le port D
		CLRF	PORTE		; Initialise le port E
		BSF	STATUS, RP0	; Bank 1 selectonnee
		MOVLW	B'111111'		; Port RA5-RA0 en entrée
		MOVWF	TRISA		;	
		MOVLW	B'11111111'		; Port RB7-RB0 en entrée
		MOVWF	TRISB		;
		MOVLW	B'00000000'		; Port RC7-RC0 en sortie
		MOVWF	TRISC		;
		MOVLW	B'11111000'	; Port RD7-RD3 en entrée (RD4:entrée présence carte)/ Port RD2-RD0 en sortie (bit 0: led rouge/ bit1: led verte/ bit2: sortie présence carte)
		MOVWF	TRISD		;
		MOVLW	B'111'		; Port RE2-RE0 en entrée
		MOVWF	TRISE		;	
		BCF 	STATUS,	RP0	; Bank 0 selectonnee

led_verte bsf PORTD, 3 ; allumage des 2 leds pour montrer que le circuit est bien alimenté
led_rouge bsf PORTD, 2

        bsf PORTD, 0 ; PortD RD0 a "1" => présence connecteur
 ATTENTE btfss PORTD, 1

       goto ATTENTE 

led_verte bcf PORTD, 3 ; leds eteintes
led_rouge bcf PORTD, 2


        bsf PORTC, 0 ; PortC RC0 a "1"
        btfss PORTB, 0 
       goto led_rouge
        bsf PORTC, 1 ; PortC RC1 a "1"
        btfss PORTB, 1
       goto led_rouge
        bsf PORTC, 2 ; PortC RC2 a "1"
        btfss PORTB, 2
       goto led_rouge                              
        bsf PORTC, 3 ; PortC RC3 a "1"
        btfss PORTB, 3
       goto led_rouge 
        bsf PORTC, 4 ; PortC RC4 a "1"
        btfss PORTB, 4
       goto led_rouge 
        bsf PORTC, 5 ; PortC RC5 a "1"
        btfss PORTB, 5
       goto led_rouge 
        bsf PORTC, 6 ; PortC RC6 a "1"
        btfss PORTB, 6
       goto led_rouge 
        bsf PORTC, 7 ; PortC RC7 a "1"
        btfss PORTB, 7
       goto led_rouge 
led_verte bsf PORTD, 3; led verte allumée
fin_verte goto fin_verte


led_rouge  bsf PORTD, 2; led rouge allumée
fin_rouge goto fin_rouge  
          
	END             ; directive de fin de programme     



Mon portB est utilisé en entrée, le portC en sortie.
Le bit 2 et 3 du portD sont utilisés pour faire un 9bit qui établira si la carte est bien alimentée partout en allumant les 2 leds ( rouges et vertes ).
Il y a une valeur '1' sur les ports RC0 a RC7 qui passent les differents contacts (Cn0 à Cn7) pour retourner sur les ports RB0 a RB7, si RB recoit bien le '1' la led verte s'allume pour indiquer que le contact est opérationnel, sinon une led rouge s'allumera.
Mon soucis est que lorsque pour RC0/RB0 on obtient l'allumage de led rouge/verte, comment faire pour le faire passer au contact suivent, c'est a dire RC1/RB1 ?

En espèrant avoir été assez clair, ce qui n'est pas vraiment évident ^^
Cordialement ,


Cette discussion est classée dans : rouge, goto, led, bsf, portc


Répondre à ce message

Sujets en rapport avec ce message

Problème entre la simulation et la réalité [ par bibou1234 ] Bonjour, (j'avais commencé une programmation en C de se programme, mais trop compliqué, et j'ai perdu trop de temps, donc je le fais maintenant en ass prob. timer/interruption [ par julien__68 ] voila , j'ai réaliser une interruption sur rb0 (il fonctionne) mai je ne compren pas a quoi peut servir cette ligne par rapport a l'interruption de rb [Débutant] -> Comprendre le timer1 sur PIC16F876A ! [ par almisuifre ] Bonsoir, Voila j’ai depuis plusieurs jour tenter de comprendre le fonctionnement des timers et plus particulièrement le timer1. <p class="MsoNorma Animation de 6 led avec rotation de la carry [ par mighty_warrior ] Bonjours,Je cherche à faire une animation où on allume puis eteind 6 leds l'une aprés l'autre en faisant une rotation de la carrymais je sait pas comm demende de renseignement urgent [ par ya9out ] bonjour,j'ai un programme du pic 16F628 en languge basic et je veux le convertir en assembleur j'ai essayé de le faire en se s'aidant avec les logicie pic16f631/690 [ par elsena ] Bonjour, J'ai fait un petit programme afin de me familariser avec la série 16f631/390, avant de réinscrire mes programmes dans ces nouveaux pics. Celu programme de 2 servos avec 2 boutons différents à l'aide d'un picbasic 3b [ par Valve ] bonjour à vous...je me présente à vous en tant qu'étudiant débutant dans le domaine de la programmation car un problème sur lequel j'ai déjà passé 6h problème de simulation [ par bibou1234 ] Bonjour, Je dois réaliser un programme qui compare 2 valeurs, la première valeur provient d'une tension qui varie de 0V à 5V, et la deuxième valeur es liaison rs232 avec pic16f84a [ par Lastar ] Bonjour à tous, voila je voudrais allumer et éteindre une led à partir du clavier d'un PC. J'ai donc pour cela mis un MAX232CPE avec le pic. Le prob Afficheur à l'aide de LED pour PIC16F84 [ par Terry911 ] HelloJe suis étudiant et je débute dans la programmation de PIC. J'ai reçu comme projet pour la fin de cette année scolaire-ci, de réaliser un affiche


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,978 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales