Добрый день!
Прошу помощи решения проблемки!
Проблемка с LSD Winstar WH1602-YYK-CTK-русифицированный, контроллер HD44780, использую PIC16F84A для вывода на дисплай тестовой инфы, проблем заключается в том, что LSD отображает правильно только цифры и некоторые знаки, например провожу инициализацию LSD, далее пытаюсь вывести по очереди например A,B,C,D......O, а ЛСД-ка выдыет вертикальные черточки, изображения прикладываю. Может я чот не правильно делаю с инициализацией, хотя с цифрами все хорошо, вообщем жду вашего совета, человек я в этом деле новый как что сильно не пинайте!
Еще для пущей понятности кусок програмки в ассемблере для оного пика:
;R/W - постоянно схемно соединен с "-"
LsdVideoON: CALL TIMER5 ;Ожидаем 15мс пока установится питание LSD
bcf PORTA,1 ;установка RS = 0
CALL TIMER5 ;Еще ждемс
movlw 0x0D ;запись 0000 1101 в порт В(DB0-DB7)
movwf PORTB ;D=1-вкл.изображение,B=1-мерцаюший курсор вкл.
CALL TIMER5 ;
bsf PORTA,3 ;установливаем Е=1
CALL TIMER5 ;
bcf PORTA,3 ;установливаем Е=0
CALL TIMER5 ;
movlw 0xFF ; установливаем DB0-DB7 высокий лог-кий
movwf PORTB ; уровень (Hi)
CALL TIMER5 ;
LsdVideoConf:
bcf PORTA,1 ;тоже самое только
CALL TIMER5 ;
movlw 0x3F ;запись 0011 1111 в порт В(DB0-DB7)
movwf PORTB ;DL=1-вкл.8-ми разрядная шина данных,N=1-вкл.две строки,
CALL TIMER5 ;F=1 - матрица 5*10 точек
bsf PORTA,3 ;
CALL TIMER5 ;
bcf PORTA,3 ;
CALL TIMER5 ;
movlw 0xFF ;
movwf PORTB ;
CALL TIMER5 ;
LsdVideoData:
bsf PORTA,1 ;запись в память данных
CALL TIMER5 ;RS=1
movlw 0x41 ;запись буковки А в порт В(DB0-DB7)
movwf PORTB ;
CALL TIMER5 ;
bsf PORTA,3 ;Е=1
CALL TIMER5 ;
bcf PORTA,3 ;Е=0
CALL TIMER5 ;
movlw 0xFF ;DB0-DB7 = Hi
movwf PORTB ;
CALL PAUSE ;
LsdVideoData1:
bsf PORTA,1
CALL TIMER5
movlw 0x42 ; "B"
movwf PORTB
CALL TIMER5
bsf PORTA,3
CALL TIMER5
bcf PORTA,3
CALL TIMER5
movlw 0xFF
movwf PORTB
CALL PAUSE
LsdVideoData2:
bsf PORTA,1
CALL TIMER5
movlw 0x43 ; "C"
movwf PORTB
CALL TIMER5
bsf PORTA,3
CALL TIMER5
bcf PORTA,3
CALL TIMER5
movlw 0xFF
movwf PORTB
CALL PAUSE
LsdVideoData3:
bsf PORTA,1
CALL TIMER5
movlw 0x44 ; "D"
movwf PORTB
CALL TIMER5
bsf PORTA,3
CALL TIMER5
bcf PORTA,3
CALL TIMER5
movlw 0xFF
movwf PORTB
CALL TIMER5
CALL PAUSE
и так до "О"