Soyez le premier à donner votre avis sur cette source.
Snippet vu 66 865 fois - Téléchargée 29 fois
#include<p16f84> LIST p=16F84 ; initialisation des registres indf equ h'00' tmr0 equ h'01' pcl equ h'02' status equ h'03' fsr equ h'04' porta equ h'05' portb equ h'06' intcon equ h'0B' trisa equ h'85' trisb equ h'86' r_option equ h'81' ; initialisation des variables cmp1 equ h'0C' cmp2 equ h'0D' donn equ h'0E' ; initialisation des ports A & B org h'00' clrf status clrf porta clrf portb bsf status,5 movlw b'00011011' movwf trisa movlw b'00000000' movwf trisb bcf status,5 clrf status clrf porta clrf portb movlw h'00' movwf intcon clrf cmp1 clrf cmp2 clrf donn bsf porta,2 ; debut du programme test1 btfsc porta,0 goto test1 bsf portb,1 bsf portb,2 bsf portb,3 bsf portb,4 call tempo2 btfss porta,0 bcf portb,3 btfss porta,0 bsf donn,3 call tempo1 btfss porta,0 bcf portb,2 btfss porta,0 bsf donn,2 call tempo1 btfss porta,0 bcf portb,1 btfss porta,0 bsf donn,1 call tempo1 btfss porta,0 bcf portb,4 btfss porta,0 bsf donn,4 ; envoie au max232 de la trame RS232 bcf porta,2 call tempo3 btfsc donn,1 bsf porta,2 call tempo3 btfsc donn,2 bsf porta,2 btfss donn,2 bcf porta,2 call tempo3 btfsc donn,3 bsf porta,2 btfss donn,3 bcf porta,2 call tempo3 btfsc donn,4 bsf porta,2 btfss donn,4 bsf porta,2 call tempo3 call tempo3 call tempo3 call tempo3 bsf porta,2 goto test1 ; sous programmes ; tempo de 1.78 ms (durée d'un bit à la norme RC5) tempo1 movlw h'03' movwf cmp2 movlw h'50' movwf cmp1 t1 decfsz cmp1 goto t1 decfsz cmp2 goto t1 return ; tempo de 17,8 ms (durée des 10 premiers bits qu'on ne regarde pas) tempo2 movlw h'16' movwf cmp2 movlw h'00' movwf cmp1 t2 decfsz cmp1 goto t2 decfsz cmp2 goto t2 return ; tempo de 1200 bauds (833 µs, correspond à la vitesse choisie de la liaison RS232) tempo3 movlw h'0F' movwf cmp2 movlw h'02' movwf cmp1 t3 decfsz cmp1 goto t3 decfsz cmp2 goto t3 return end
12 juin 2002 à 00:48
Merci et bravo
je suis friand de prog en rapport avec la RS232. Entre autre je cherche des sources
vb ou asm pour espionner le port serie en RX et en TX.
12 juin 2002 à 10:32
Si vous cherchez le schéma électronique d'une télécommande envoyer moi un message je vous l'enverrai. A savoir que n'importe quel télécommande RC5 peu faire l'affaire mais il faut analyser la trame qu'elle envoie à l'oscilloscope pour changer les bits à tester et surtout pour affiner voir même changer les tempos du PIC.
Pour envoyer avec le port série c’est pareil que la réception (cf. la source de VBFrance.com) mais avec SENDBYTES.
@+
15 sept. 2003 à 16:35
7 mai 2005 à 04:46
Merci de le mettre a dispo.
23 juin 2005 à 15:39
Merci pour ce code, j'ai juste un soucis, c la tempo de 1778µs quand je fais le calcul je trouve en gros 771 cycles,serait il possible de décrire le comptage de ta tempo:
Mon detail:
6c d'init avec le CALL +
( 91 + 160 ) x 3 c +
10c tests des 3 boucles +
2c le retrun
cela me donne 771 cycles ?
Quelqu'un peut m'indiquer mon erreur ou me dertailler la tempo ?
Merci
A++
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.