bonjour,
Je suis un étudiant en génie électromécanique , et autant que bricoleur et électronicien amateur , je cherche à communiquer avec un pic 16f84 par le billet d'une liaisons RS-232 .
Pour cela , il me faut un convertisseur TTL (Max 232) , pas de problème, mais le casse-tête c'est la fonction le programme même ,
oui vous vous dites pourquoi ne pas travailler avec un 16f628 ou bien un 16f877.
Mais moi je voudrais bien la programmer .
Voila mon programme , il se compile pas d erreur mais il n y a aucune reponse du pic lors de l envoi par rs-232
;***************************** **********************
; Nom : RS-232.pin.RA0
; date : 07/05/2010
; PIC : 16F84A
;***************************** **********************
LIST p=16F84A ; Définition de processeur
#include <p16F84A.inc> ; Définitions de variables
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _HS_OSC
;*********** signature Eprom **************
org 0x2100
DE 'K','i','l','l','e','r'
;************** variable ************
CBLOCK 0x00c
temp52:1
temp104:1
cmpt_donné:1
don:1
donnée:1
compt:1
endc
;************** macro ***************
bank0 macro
bcf STATUS,RP0
endm
bank1 macro
bsf STATUS,RP0
endm
;******* declaration du reset ********
org 0x000
goto init
;************* initialisation ********
init
bank0
clrf PORTA
clrf PORTB
bank1
;*** RX ******
bsf TRISA,0
;*************
bcf TRISB,0
bcf TRISB,1
bcf TRISB,2
bcf TRISB,3
bcf TRISB,4
bcf TRISB,5
bcf TRISB,6
bcf TRISB,7
bank0
clrf PORTB
clrf donnée
movlw d'9'
movwf compt
movlw D'9'
movwf temp52
movlw D'19'
movwf temp104
; ****************************** ****************************** ******
; routine de temporisation de 52 µs (52 cycles avec un quartz 4 MHz)
tempo52
decf temp52 , f
movf temp52 , f
btfss STATUS , Z
goto tempo52 ; temp52 <> 0
nop
nop
movlw D'9'
movwf temp52
return
; ****************************** ****************************** *******
; routine de temporisation de 104 µs (104 cycles avec un quartz 4 MHz)
tempo104
decf temp104 , f
movf compteur_temp104 , f
btfss STATUS , Z
goto temp104 ; temp104 <> 0
movlw D'19'
movwf temp104
nop
nop
nop
return
;********** progarmme *******************
start
reception
btfsc PORTA,0
goto reception
call tempo52
do
clrf don
call tempo104
decf compt ,f
btfss STATUS , Z
goto affiche
movf PORTA,w
movwf don
rlf don
movlw don
addwf donnée
rlf donnée ,f
goto do
affiche
movlw donnée
movwf PORTB
clrf donnée
movlw d'9'
movwf compt
goto reception
goto start
end
****************************** *********************
Merci de votre aide .
-----