Купил на днях дисплей wh1602d. Подключил к PIC16F887. Поздно обнаружил, что неправильно сделал шлейф (перепутал стороны), стало быть подключил я его не так как надо, в результате что-то внутри дисплея сильно нагрелось (не разбирал, не смотрел что именно). На экране, тем не менее, виднелась первая строка, но не вся, обрывками (ещё до нагрева).
Далее, подключил его правильно. Теперь, постоянно горит правая сторона (правые 2х8 квадратов). На команды не реагирует. Мне кажется, дисплей сдох. На всякий случай, прошу проверить программу. Шина 8 бит. Вывод контраста заведён на ноль.
Подпрограммы:
Код: Выделить всё
WriteCommand:
movwf PORTB
bsf PORTC,7 ; E = 1
bcf PORTC,5 ; RS = 0
bcf PORTC,6 ; RW = 0
call Clock
bcf PORTC,7
call Clock
return
Clock: movlw 0xFF
movwf Delay
dloop:
decfsz Delay
goto dloop
return
Код: Выделить всё
movlw b'00111000'
call WriteCommand
movlw b'00000001'
call WriteCommand
movlw b'00000110'
call WriteCommand
movlw b'00001101'
call WriteCommand
movlw b'00000001'
call WriteCommand
movlw b'00010100'
call WriteCommand