bonjour,

après avoir essayé pleins trucs sans résultat j'ai décidé de proposé mon pb sur forum, mon projet c'est d'afficher des message sur l'afficheur bt21605 en communicant avec le pic 16f84 en mode 8 bits j'ai réussis de l'initialise en mode 8 bit et 2*16 et 5*7 ma afficheur excute bien les instruction j'arrive a déplace mon curseur et tout mais par contre impossible d'afficher une lettre je vous met mon programme afin que vous pouviez voir mieux . merci



LIST p=16F84 ; Définition de processeur
#include <p16F84.inc> ; Définitions de variables

__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _HS_OSC


;***************************** ****************************** **********
; ASSIGNATIONS *
;***************************** ****************************** **********

OPTIONVAL EQU H'88' ; Valeur registre option
; Résistance pull-up off
; Pas de préscaler

;***************************** ****************************** **********
; DEFINE *
;***************************** ****************************** **********

#DEFINE Rs PORTA,0
#DEFINE En PORTA,1 ; Led rouge
#DEFINE lcd PORTB ; bouton-poussoir


;***************************** ****************************** **********
; MACRO *
;***************************** ****************************** **********

LEDON macro
bsf LED
endm

LEDOFF macro
bcf LED
endm

;***************************** ****************************** **********
; DECLARATIONS DE VARIABLES *
;***************************** ****************************** **********

CBLOCK 0x00C ; début de la zone variables

cmpt1 : 1 ; compteur de boucles 1
cmpt2 : 1 ; compteur de boucles 2
cmpt3 : 1 ; compteur de boucles 3
temp1 : 1
coef : 1

ENDC ; Fin de la zone

;***************************** ****************************** ***********
; DEMARRAGE SUR RESET *
;***************************** ****************************** ***********

org 0x000 ; Adresse de départ après reset
goto init ; Adresse 0: initialiser

;***************************** ****************************** **********
; INITIALISATIONS *
;***************************** ****************************** **********

init
clrf PORTA ; Sorties portA à 0
clrf PORTB ; sorties portB à 0
clrf EEADR ; permet de diminuer la consommation
bsf STATUS,RP0 ; sélectionner banque 1
movlw OPTIONVAL ; charger masque
movwf OPTION_REG ; initialiser registre option

; Effacer RAM
; ------------
movlw 0x0c ; initialisation pointeur
movwf FSR ; pointeur d'adressage indirec
init1
clrf INDF ; effacer ram
incf FSR,f ; pointer sur suivant
btfss FSR,6 ; tester si fin zone atteinte (>=40)
goto init1 ; non, boucler
btfss FSR,4 ; tester si fin zone atteinte (>=50)
goto init1 ; non, boucler

; initialisations spécifiques
; ---------------------------
clrf lcd ; LED en sortie (banque1)
movlw b'11100'
movwf PORTA
bcf STATUS,RP0 ; repasser banque 0
goto start ; sauter au programme principal


envois
bsf En
nop
bcf En
return



tempo_30ms
movlw h'7A'
movwf coef
clrf temp1
boucle
decfsz temp1
goto boucle
decfsz coef
goto boucle
return

tempo_450ns
nop
nop
nop
nop
nop
return

tempo_15ms
movlw h'39'
movwf coef
clrf temp1
b1
decfsz temp1
goto b1
decfsz coef
goto b1
return

envois_cmd
bcf Rs
movwf lcd
call envois
call tempo_15ms
return
envois_caracter
bsf Rs
movwf lcd
call envois
call tempo_15ms
return





;***************************** ****************************** **********
; PROGRAMME PRINCIPAL *
;***************************** ****************************** **********

start
call tempo_30ms

movlw h'38'
call envois_cmd ; intialisation en mode 8 bits 2*16 et 5*7

movlw h'38'
call envois_cmd ; intialisation en mode 8 bits 2*16 et 5*7

movlw h'0E'
call envois_cmd ; affichage ONcurseur ON pas de clignotment

movlw h'06'
call envois_cmd ; incrémentation G à D

movlw h'80'
call envois_cmd ; adress podition du 1ere caracter

movlw h'52'
call envois_caracter ; afficher la lettre 'R'

movlw h'81'
call envois_cmd ; adress podition du 2eme caracter

movlw h'52'
call envois_caracter ; afficher la lettre 'R'
ici
goto ici

end