Здравствуйте, товарищи! Я только начал изучать программирование МК с ассемблера для пиков. Прошёл светодиодную мигалку и взялся за вывод текста с PIC16F628A на ЖКИ 1602А. Но не заладилось. Взял готовую прошивку (сама она успешно запустилась), слегка подредактировал: задал соответствие DB0...DB7=RB0...RB7, вывел отдельные переменные address и symbol для адреса и символа ячейки на экране. Это выглядит следующим образом:
MOVLW 0x00 ;вывод единицы в первую ячейку
MOVWF address
MOVLW 0b00110001
MOVWF symbol
CALL znak
при этом используются подпрограммы
znak:
MOVF address,0 ;вывод адреса
MOVWF PORTB
BCF RS
CALL strob
CALL delay_39us
MOVF symbol,0 ;вывод символа
MOVWF PORTB
BSF RS
CALL strob
CALL delay_39us
RETURN
strob:
BSF E
NOP ;задержка 2 мкс
NOP
BCF E
RETURN
Второй день до поздней ночи перепроверяю прошивку, надёжность и правильность на бредборде, RC-цепочку на MCLR. Скачанный проект работает, а моя программа - нет. Прошу помочь в поиске ошибки в коде.
lcd-test.asm