Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
Modérateur : mazertoc
Afficheur lcd
Bonjour à tous
Suite à l'achat d'un afficheur lcd Ecran LCD Anag Vision AV1640BNBW-WJ dont voici la doc http://www.produktinfo.conrad.com/datenblaetter/175000-199999/181656-da-01-en-LCD_MOD_STN_BLAU_NEG_LED_WEISS_16X4.pdf , j'ai quelques menu problèmes avec la doc en anglais
Le principe d'initialisation avant d'attaquer le code Sam est elle correcte ?
Suite à l'achat d'un afficheur lcd Ecran LCD Anag Vision AV1640BNBW-WJ dont voici la doc http://www.produktinfo.conrad.com/datenblaetter/175000-199999/181656-da-01-en-LCD_MOD_STN_BLAU_NEG_LED_WEISS_16X4.pdf , j'ai quelques menu problèmes avec la doc en anglais
Le principe d'initialisation avant d'attaquer le code Sam est elle correcte ?
Afficheur lcd
si cela est bon j'ai pensé a cela comme code
Code : Tout sélectionner
LCD_INIT
rcall Wait15ms
rcall Wait15ms
MOVLW B'00110000'
movwf PORTD ; data du LCD 8 bits
rcall Wait5µs
bsf PORTC,0 ; bit Enable signal
rcall Wait5µs
bcf PORTC,0
nop
MOVLW B'00110000'
movwf PORTD
rcall Wait100µs
nop
bsf PORTC,0
rcall Wait5µs
bcf PORTC,0
nop
MOVLW B'00110000'
movwf PORTD
rcall Wait50µs
nop
bsf PORTC,0
rcall Wait5µs
bcf PORTC,0
nop
;******************************
MOVLW B'00110000'
movwf PORTD
rcall Wait50µs
nop
bsf PORTC,0
rcall Wait5µs
bcf PORTC,0
nop
MOVLW B'00001000' ; display off
movwf PORTD
rcall Wait50µs
nop
bsf PORTC,0
rcall Wait5µs
bcf PORTC,0
nop
MOVLW B'00000001' ; display clear
movwf PORTD
rcall Wait50µs
nop
bsf PORTC,0
rcall Wait5µs
bcf PORTC,0
nop
MOVLW B'00000100' ; entry mode set
movwf PORTD
rcall Wait50µs
nop
bsf PORTC,0
rcall Wait5µs
bcf PORTC,0
nop
MOVLW B'00001111' ; display on
movwf PORTD
rcall Wait50µs
nop
bsf PORTC,0
rcall Wait5µs
bcf PORTC,0
nop
RETURN
Afficheur lcd
Bonjour JMarc, et bonjour à tous,
Bonne résolution d'avoir ouvert se post, déja plusieurs chose à te dire :
Bonne résolution d'avoir ouvert se post, déja plusieurs chose à te dire :
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
; Les assignations, ça permets pour tous le monde de prendre les ports qu'ils veulent
: et évite de réécrire un programme.
bsf PORTC,0
rcall Wait5µs
bcf PORTC,0
rcall Wait5µs
;----------------------- tu crois pas que c'est mieux comme cela --------------------------
;--------------------- toutes les sorties à zéro -------------------------
clrf lcd_port
clrf lcd_e
clrf lcd_r
;------------------------ pour un quartz à 4 Mhz ------------------------
rcall _200mS ; paulfjujo nous conseille d'augmenter la pause, on l'écoute, car il à plus
; d'expérience que toi et moi
MOVLW B'00110000'
movwf PORTD ; data du LCD 8 bits
rcall e_pulse
re
goto re
;************************** envoie une fin d’émission sur le lcd *****************************
e_pulse
nop
nop
nop
bsf lcd_e
nop
nop
nop
bcf lcd_e
return
;********************************** pause de 200 millisecondes ********************************
_200mS
movlw D'63'
movwf loop1
movlw D'157'
movwf loop2
decfsz loop1,F
goto $+D'2'
decfsz loop2,F
goto $-D'3'
return
Modifié en dernier par Temps-x le lun. 10 juil. 2017 01:08, modifié 2 fois.
Afficheur lcd
Bonjour Temps-x
Assignation changé, pause augmenté, tempo e_pulse modifié car je suis a 20 mhz
mais toujours eteint
Car nous avons la que l'initialisation.
Je pense qu'après il faut écrire la donné dans write data en mettant RS a 1, faire la tempo mais après je ne sais pas
Fallait il aussi entrer une adresse ?
J'ai essayé plein de façon mais rien. L'allumage de l'écran avec le bit a 0 ou bien à 1?
Dans la doc ils parlent du fosc 270 khz. C'est en rapport avec mon Quartz de 20 mhz ?
Assignation changé, pause augmenté, tempo e_pulse modifié car je suis a 20 mhz
Code : Tout sélectionner
e_pulse
nop
rcall Wait50µs
bsf lcd_e
rcall Wait5µs
bcf lcd_e
return
mais toujours eteint
Car nous avons la que l'initialisation.
Je pense qu'après il faut écrire la donné dans write data en mettant RS a 1, faire la tempo mais après je ne sais pas
Fallait il aussi entrer une adresse ?
J'ai essayé plein de façon mais rien. L'allumage de l'écran avec le bit a 0 ou bien à 1?
Dans la doc ils parlent du fosc 270 khz. C'est en rapport avec mon Quartz de 20 mhz ?
Afficheur lcd
Bonsoir Jmarc,
Ben tu vois, quand on prends des choses toutes faites, après on sait pu comment faire, tu as eu de la chance
d'avoir un exemple tous fait, quand tu avais essayé avec ton écran LCD 16 * 2.
Pour le quartz tu as pris un 20 Mhz, Ok, mais pour le pic (la pic) tu travailles avec un 16F ou 18F, car la façon de faire
les temps sont différent entre un 16F est un 18F.
D'autre par, je voudrais savoir comment tu as branché ton LCD, car un mauvais réglage du contraste, et tes lettres
n'apparaisse pas.
pour l'organigramme
Ben tu vois, quand on prends des choses toutes faites, après on sait pu comment faire, tu as eu de la chance
d'avoir un exemple tous fait, quand tu avais essayé avec ton écran LCD 16 * 2.
Pour le quartz tu as pris un 20 Mhz, Ok, mais pour le pic (la pic) tu travailles avec un 16F ou 18F, car la façon de faire
les temps sont différent entre un 16F est un 18F.
D'autre par, je voudrais savoir comment tu as branché ton LCD, car un mauvais réglage du contraste, et tes lettres
n'apparaisse pas.
pour l'organigramme
Afficheur lcd
Bonjour temps-x
C'est bien vrai que j'ai eu de la chance avec le premier lcd mais je ne comprend pas leurs doc en anglais alors que c'est si simple avec un exemple
Branchement du contraste avec un potar de 10khoms sur le +5 volt et gnd. Vr étant relié à v0.
Si j'agis sur le potar, il y a réaction du lcd
Les 8 bits de portD reliés à lcd 7 à 14
Bit 0 de port C sur E (6) du lcd
Bit 1 de portC sur rs (4) du lcd
15 et 16 du lcd ne sont pas branchés
Les trisC et trisD déclarés en sorties
Quelle est la différence entre le 16f et le 18f pour notre afficheur ?
Pour le fosc, dois-je faire 20 000/270 = 74
40x74= 2962 soit 3 ms ?
Ou 250/20 000 = 0,0125
40x0,0125=0,5 soit 0,5 us ?
C'est bien vrai que j'ai eu de la chance avec le premier lcd mais je ne comprend pas leurs doc en anglais alors que c'est si simple avec un exemple
Branchement du contraste avec un potar de 10khoms sur le +5 volt et gnd. Vr étant relié à v0.
Si j'agis sur le potar, il y a réaction du lcd
Les 8 bits de portD reliés à lcd 7 à 14
Bit 0 de port C sur E (6) du lcd
Bit 1 de portC sur rs (4) du lcd
15 et 16 du lcd ne sont pas branchés
Les trisC et trisD déclarés en sorties
Quelle est la différence entre le 16f et le 18f pour notre afficheur ?
Pour le fosc, dois-je faire 20 000/270 = 74
40x74= 2962 soit 3 ms ?
Ou 250/20 000 = 0,0125
40x0,0125=0,5 soit 0,5 us ?
Afficheur lcd
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
bonsoir
Oui, en particulier utiliser LATx au lieu de PORTx si c'est un 18F
Ne pas megoter sur les tempos mettre 100µS ou plus ...entre les phases de l'init .
Question:
Si tu utilise le LCD en 8 bits , cela suppose que tu vas gerer le bit BUSY du LCD ?
sinon , passe en mode 4 bits ... et R/W du LCD toujours relié au Gnd.
.. mais pour le pic (la pic) tu travailles avec un 16F ou 18F, car la façon de faire
les temps sont différent entre un 16F est un 18F.
Oui, en particulier utiliser LATx au lieu de PORTx si c'est un 18F
Ne pas megoter sur les tempos mettre 100µS ou plus ...entre les phases de l'init .
Question:
Si tu utilise le LCD en 8 bits , cela suppose que tu vas gerer le bit BUSY du LCD ?
sinon , passe en mode 4 bits ... et R/W du LCD toujours relié au Gnd.
Afficheur lcd
Bonjour Paulfjujo
Voilà j'ai changé portx en latx mais c'est pareil
R/w est direct au gnd, j'ai choisi 8 bits pour faire au plus facile pour le début
J'ai augmenté les tempos lors des essais pour atteindre jusqu'à 1 seconde
J'ai changé plusieurs fois display on off control
Mis à 1 enable et envoie de B'01010000' qui devrait correspondre à la lettre P
J'ai de l'activité sur les pins mais l'afficheur reste éteint
J'ai trouvé cette doc un peu différente http://www.dst-gmbh.de/anagvision-pictures/install-avm.pdf
Voilà j'ai changé portx en latx mais c'est pareil
R/w est direct au gnd, j'ai choisi 8 bits pour faire au plus facile pour le début
J'ai augmenté les tempos lors des essais pour atteindre jusqu'à 1 seconde
J'ai changé plusieurs fois display on off control
Mis à 1 enable et envoie de B'01010000' qui devrait correspondre à la lettre P
J'ai de l'activité sur les pins mais l'afficheur reste éteint
J'ai trouvé cette doc un peu différente http://www.dst-gmbh.de/anagvision-pictures/install-avm.pdf
Afficheur lcd
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
si on regarde le chronogramme
la pulse Enable doit encadrer l'envoi de data
E=1
Envoi Data sur le port D
E=0
attention
FUNCTION SET [INTERFACE IS 8 BITS LONG. 0011NF**
il faut renseigner les bits N et F !
le mode 8 bits suppose que tu DOIS gerer et tester le bit BUSY , et donc gerer la commande R/W !
ce qui n'est pas le cas en mode 4 bits
un peu d'inspiration ICI
la pulse Enable doit encadrer l'envoi de data
E=1
Envoi Data sur le port D
E=0
attention
FUNCTION SET [INTERFACE IS 8 BITS LONG. 0011NF**
il faut renseigner les bits N et F !
le mode 8 bits suppose que tu DOIS gerer et tester le bit BUSY , et donc gerer la commande R/W !
ce qui n'est pas le cas en mode 4 bits
un peu d'inspiration ICI
Retourner vers « Langage ASM »
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 68 invités