Aller au contenu


babylone_59

Inscrit(e) (le) 18 janv. 2008
Déconnecté Dernière activité mai 21 2008 08:44
-----

Sujets que j'ai initiés

Programme 16F877A

16 mai 2008 - 05:22

Bonjour
J'aimerai utiliser un PIC 16F877A pour rendre autonome mon robot.
Quelqu'un aurait t'il un programme a m'envoyer ( en C si possible car l'assembleur n'est pas ma tasse de thé) afin que je vois comment il est fait et essayer un peu de comprendre le fonctionnement?
Merci d'avance
Cordialement
Julien

probleme PIC 16F877A

14 avril 2008 - 10:17

Bonjour
J'aimerai programmer un PIC 16F877A.
Tout d'abord pour verifier si mon programmateur fonctionne correctement je veux essayer de programmerle pic pour faire clignotter des leds sur les ports B et D.
Donc j'ai fais mon programme, j'ai programmer mon pic.Jusque la pas de problemes.
Ensuite je mets mon PIC sur ma plaque d'essai et la rien ne se passe, on dirai que mon PIC n'est pas programmer.Pourtant mon programme est bien dessus.
Donc soit mon montage ou soit mon programme n'est pas bon .
Ou alors derniere solution je crois que mon PIC est programmer est ce n'est pas le cas.
Voici mon programme.Si quelqu'un peut l'essayer et me dire si sa fonctionne chez lui, ce serai un probleme de moin a verifier. Merci

;**********************************************************************
;   									  *
;	Test led sur un 16F877A - 20 Mhz					  *
;																	 *
;									  *
;										  *
;**********************************************************************
;																	 *
;	Filename:		led.asm										   *
;	Date:		  25/06/00										  *
;	File Version:  1												 *
;																	 *
;	Author:		Julien											*
;	Company:	   Fribotte										  *
;																	 * 
;																	 *
;**********************************************************************
;																	 *
;	Files required: rien											 *
;																	 *
;																	 *
;**********************************************************************
;																	 *
;	Notes: Quartz 20 Mhz											 *
;																	 *
;																	 *
;**********************************************************************


	list	  p=16F877A			; list directive to define processor
	#include <p16F877A.inc>		; processor specific variable definitions

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


;**********************************************************************
;																	 *
;	Variables														*
;																	 *
;																	 *
;**********************************************************************


; Variable de temporisation
tempo50µ	EQU	0x20	; Variable tempo 50 µs
tempo10ms	EQU	0x21	; Variable tempo 10 ms
tempo1s		EQU	0x22	; Variable tempo 1s

;**************************************************************** DEBUT
		ORG	 0x000		  ; processor reset vector
		  GOTO	main		   ; go to beginning of program


;**********************************************************************
;																	 *
;	Interruption Timer											   *
;																	 *
;																	 *
;**********************************************************************

		ORG	 0x0005		  ; interrupt vector location
				; Ici on s'en sert pas !
		RETFIE				 ; return from interrupt



;**********************************************************************
;																	 *
;	Programme Main												   *
;																	 *
;																	 *
;**********************************************************************


main

;***** initialisations
		CALL	InitIO	; On intialise les ports d'E/S (A et B)

;***** boncle infinie
boucle		MOVLW	D'255'
		MOVWF	PORTD
		MOVLW	D'255'
		MOVWF	PORTB
		CALL 	Wait1s		
		CLRF	PORTD
		CLRF	PORTB
		CALL 	Wait1s		
		GOTO	boucle


;***** Attente de 1 s (exactement 1.00204 s)
Wait1s
		MOVLW	D'99'	;	99 fois
		MOVWF	tempo1s	; stockage dans la variable tempo50µ
T1sboucle	CALL	Wait10ms
		DECFSZ	tempo1s,1; décremente et test
		GOTO	T1sboucle; on boucle tant que <>0  
		RETURN


;***** Attente de 10 ms (exactement 10.02 ms)
Wait10ms
		MOVLW	D'198'	;	198 fois
		MOVWF	tempo10ms; stockage dans la variable tempo50µ
T10msboucle	CALL	Wait50µs
		DECFSZ	tempo10ms,1; décremente et test
		GOTO	T10msboucle; on boucle tant que <>0
		RETURN


;***** Attente de 50 µs (exactement, en comptant le temps d'appel)
Wait50µs	NOP
		NOP
		MOVLW	D'81'	;	81 fois
		MOVWF	tempo50µ; stockage dans la variable tempo50µ
T50µsboucle	DECFSZ	tempo50µ,1; décremente et test
		GOTO	T50µsboucle; on boucle tant que <>0  0.2*3=0.6 µs en tout
		RETURN


;**********************************************************************
;																	 *
;	Initialisation des ports d'E/S						   		  *
;																	 *
;																	 *
;**********************************************************************


InitIO
	CLRF	PORTD	; Initialise le port D
	CLRF	PORTB	; Initialise le port B
	BSF	STATUS, RP0; Bank 1 selectonnee
	MOVLW	0x0	; Port RD7-RD0 en sortie
	MOVWF	TRISD	;	/
	MOVLW	0x0	; Port RB7-RB0 en sortie
	MOVWF	TRISB	;	/
	BCF 	STATUS,	RP0; Bank 0 selectonnee
	RETURN


;**********************************************************************
;																	 *
;	Fin											  *
;																	 *
;																	 *
;**********************************************************************


	END					; directive 'end of program'


et voici le code HEX

0000: 2806 3FFF 3FFF 3FFF 3FFF 0009 2023 30FF  .ÿÿÿÿ.#ÿ
0008: 0088 30FF 0086 2010 0188 0186 2010 2807  ˆÿ†.ˆ†..
0010: 3063 00A2 2016 0BA2 2812 0008 30C6 00A1  c¢.¢..Æ¡
0018: 201C 0BA1 2818 0008 0000 0000 3051 00A0  .¡....Q 
0020: 0BA0 2820 0008 0188 0186 1683 3000 0088   ..ˆ†ƒ.ˆ
0028: 3000 0086 1283 0008 3400 3400 3FFF 3FFF  .†ƒ...ÿÿ
0030: 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF  ÿÿÿÿÿÿÿÿ

J'espere que vous pourez me donner un petit coup de main
Merci d'avance
Julien

Probleme configuration IC-prog

10 mars 2008 - 09:07

Bonjour a tous
Voila je débute en programmation de PIC et j'aimerai utiliser IC-prog.
Je l'ai donc télécharger mais impossible de le configurer.

erreur1: une erreur est survenue (le fichier spécidier est introuvable) Pendant le lancement du driver

erreur2: Privileged instruction

Faut t'il installer un drivers ou autres composant pour windows XP?
Si quelqu'un peut m'aider a résoudre ce probleme.
Merci d'avance
Julien

Bien choisir ses capteurs

05 février 2008 - 07:44

Bonjour
J'aimerai utiliser des capteurs pour éviter des obstacles mais je ne sais pas quoi choisir.
Que me conseillez vous, capteur infrarouge ou télémetres infrarouge??
Quel est le plus facile a mettre en place, le plus efficace ...
MERCI

Les moteurs pas à pas

28 janvier 2008 - 04:35

Bonjour à tous.
Voila j'aimerai avoir quelques renseignements sur les moteurs pas à pas;
j'aimerai construire un robot a l'aide de 2 moteurs pas a pas que j'ai récupérer dans une imprimante.
J'aimerai par la suite programmer se robot a l'aide d'un PIC 16F877A mais tout d'abord j'ai quelques questions.
Que faut t'il pour controler ce type de moteurs (carte d'alimentation, variateur de vitesse ...)???
Si quelqu'un peut m'expliquer rapidement ou à des schémas electrique pour ce type de moteur?
Merci d'avance :)
julien