Alleen berichten met de trefwoorden “5x7” worden getoond.
Alle berichten tonen
Jasper91
'The purpose of my life, is to invent warp drive'
Hey allemaal,
Ik heb de volgende code voor de aansturing van dit LCD:
CALL lcd_initialize
MOVLW "H"
CALL lcd_write_char
;*****LCD subroutines***
;*****Initialize****
lcd_initialize MOVLW 28h ;40ms wachten
CALL delay
BCF lcd_rs
BCF lcd_e
MOVLW 20h ;Interface: 4 bits
CALL lcd_write
MOVLW 5h ;5ms wachten
CALL delay
MOVLW 28h ;Interface: 4 bits, 2/4 regels, 5x7 matrix
CALL lcd_write
MOVLW 5h ;5ms wachten
CALL delay
MOVLW 0Ch ;Display aan en cursor uit
CALL lcd_write
MOVLW 6h ;Cursor automatisch
CALL lcd_write
CALL lcd_clear ;Scherm legen
RETURN
;*****Write char****
lcd_write_char BSF lcd_rs
CALL lcd_write
RETURN
;*****Write byte****
lcd_write MOVWF lcd_temp ;2e helft bewaren
CALL lcd_write_part ;wegschrijven
SWAPF lcd_temp,1 ;2e helft terughalen
CALL lcd_write_part ;wegschrijven
RETURN
;*****Write part of byte****
lcd_write_part ANDLW 0Fh
ANDWF PORTC,1
MOVF lcd_temp,0
ANDLW 0F0h
IORWF PORTC,1
BSF lcd_e
BCF lcd_e
MOVLW 1h
CALL delay
RETURN
;*****Clear screen****
lcd_clear BCF lcd_rs
MOVLW 1h
CALL lcd_write
MOVLW 2h
CALL delay
RETURN
Hierbij is een 18F452 gebruikt waarbij de van de LCD de 'e' op PORTD2 zit en de 'rs' op PORTD3. Verder zitten 'DB4'-'DB7' op PORTC4-PORTC7. De 'VDD' en de 'VSS' spreken voor zich. De 'V0' zit aan een portmeter die tussen de +5 en de GND staat en de 'R/W' staat aan de GND/
Maar als ik nu stroom op het geheel zet krijg ik eerst een witte regel, dan een lege, dan weer een witte en dan weer een lege!
Hoe kan dit?
Alvast bedankt,
Jasper
PS: Schema voor LCD naar 'Domotica' van Elektor