Får igång display men kan inte skriva?
Postat: 26 september 2007, 21:27:32
Jag har en alfanumerisk display med 16x2 tecken (datablad finns här)
och jag har kopplat denna såhär:

http://img250.imageshack.us/img250/6901/dispbn7.jpg
Jag har även satt pull-down motstånd på alla använda portar (10k).
Kristallen jag använder är en på 4,2MHz.
Koden är skriven i assembler och ser ut såhär:
Displayen startar aldeles utmärkt och initieringen verkar också fungera, för jag ser iaf att jag har 2 rader så det måste ju fungera. Men det kommer inte upp någonting på skärmen alls. Det som borde komma upp på skärmen är ju bokstaven på b'11111111', alltså en heltäckande ruta, men jag får som sagt inget alls. Vad kan felet vara?
och jag har kopplat denna såhär:

http://img250.imageshack.us/img250/6901/dispbn7.jpg
Jag har även satt pull-down motstånd på alla använda portar (10k).
Kristallen jag använder är en på 4,2MHz.
Koden är skriven i assembler och ser ut såhär:
Kod: Markera allt
list p=16F628A ; list directive to define processor
#include <p16F628A.inc> ; processor specific variable definitions
errorlevel -302 ; suppress message 302 from list file
__CONFIG _CP_OFF & _DATA_CP_OFF & _LVP_OFF & _BOREN_OFF & _MCLRE_ON & _WDT_OFF & _PWRTE_ON & _HS_OSC
INT CODE 0x0004
retfie
RST CODE 0x0000
goto Init
;****Variablar****
UDATA
UDATA_SHR
COUNT1 RES 1
CODE
Init
;Stänger av analoga funktioner
BANKSEL PORTA
clrf PORTA
BANKSEL CMCON
movlw 0x07
movwf CMCON
;Sätter variablar
movlw 0xFF
movwf COUNT1
;Sätter portar
BANKSEL TRISA
clrf TRISA
BANKSEL PORTA
clrf PORTA
BANKSEL TRISB
clrf TRISB
BANKSEL PORTB
clrf PORTB
;Startar displayen
call Delay
call Delay
bsf PORTB,6
call Delay
clrf PORTB
call Delay
;Initierar displayen. (nibble mode, ingen positionsblinker)
movlw 0x50
movwf PORTB
call Delay
bcf PORTB,6
call Delay
;Skriver första halvan av bokstaven.
movlw 0xFC
movlw PORTB
call Delay
bcf PORTB,6
call Delay
clrf PORTB
call Delay
;skriver andra halvan av bokstaven.
movlw 0xFC
movlw PORTB
call Delay
bcf PORTB,6
call Delay
clrf PORTB
Start
call Delay
goto Start
;Delay-loop på 256 instruktioner.
Delay CODE
Delay
decfsz COUNT1,F
goto Delay
movlw 0xFF
movwf COUNT1
return
end