Je cherche des infos pour commander un afficheur Lcd en français (les infos, pas l'afficheur
Quel codes à envoyer en sûr qu'elle durée
Merci d'avance




réplique de la Tour Eiffel échelle 1
écrit par JMarc :
Mise en route, j'attend 30 ms
Es ce que je dois valider à chaque fois enable signal ?
Code : Tout sélectionner
;*************************************** Assignations *****************************************
; ----------------- a changer en fonction des ports utilisés -----------------------------
#DEFINE lcd_rs PORTB,4 ; RB4 ==> RS
#DEFINE lcd_e PORTB,5 ; RB5 ==> E
#DEFINE lcd_port PORTA ; RA0 à RA7
;******************************* Déclarations des définitions *********************************
loop1 EQU H'30'
loop2 EQU H'31'
loop3 EQU H'32'
loop4 EQU H'33'
loop5 EQU H'34'
loop6 EQU H'35'
tmps EQU H'36'
temps EQU H'37'
ORG H'00'
goto debut
debut
;--------------------- toutes les sorties à zéro -------------------------
clrf lcd_port
clrf lcd_e
clrf lcd_r
;------------------------ pour un quartz à 4 Mhz ------------------------
call _10ms
call _10ms ; attendre 30 ms pour initialisation
call _10ms
;----------------------------------------------------------------------------
movlw B'00110000'
movwf lcd_port
nop ; 4µs
nop
nop
nop
call e_pulse ; validation
;----------------------------------------------------------------------------
movlw B'00110000'
movwf lcd_port
call _100µs
call e_pulse ; validation
boucle
goto boucle
; c'est un départ, il y a plus cas suivre avec le reste
;******************************* "tempo de 100 µs" *************************************
_100µs
movlw D'33'
movwf loop1
decfsz Loop1,F
goto $-D'1'
return
;******************************* "tempo de 10 ms" *************************************
_10ms
movlw D'206'
movwf loop1
movlw D'8'
movwf loop2
decfsz loop1,F
goto $+D'2'
decfsz loop2,F
goto $-D'3'
return
;************** pour écrire dans les bits 0,1,2,3, sans toucher aux bits 4,5,6,7 **************
envoi
movwf tmps
clrf temps
btfsc lcd_port,7
bsf temps,7
btfsc lcd_port,6
bsf temps,6
btfsc lcd_port,5
bsf temps,5
btfsc lcd_port,4
bsf temps,4
btfsc tmps,3
bsf temps,3
btfsc tmps,2
bsf temps,2
btfsc tmps,1
bsf temps,1
btfsc tmps,0
bsf temps,0
movf temps,W
movwf lcd_port
return
;************************** "envoie une fin d'émision sur le lcd" *****************************
e_pulse
nop
nop
nop
bsf lcd_e
nop
nop
nop
bcf lcd_e
return
Retourner vers « Le forum Fantas-PIC »
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 2 invités
Forum de Partage et d'Entraide pour micro-contrôleur PIC, Fantas-Pic a été créé dans l'optique de réunir les débutants, les passionnés et les experts en programmation sur micro-contrôleur PIC.
Nous vous souhaitons une agréable visite, en espérant vous apporter toute l'aide que vous êtes venus chercher.
Veuillez vous inscrire ou vous connecter afin d’avoir accès à l’ensemble des fonctions du forum.