8
« -: Април 30, 2012, 06:19:21 pm »
В 4 битов режим всеки байт се предава на два такта. На теория флага, който проверяваш, е в първата тетрада и може да се провери директно и така както е програмата, но има LCD контролери, които ще забият ако не прочетеш и втората тетрада. Симулацията е предвидена и за тоя вариант и затова не тръгва. На живо би трябвало да работи и така. За да не ти дава грешка, след като запишеш състоянието на порта(т.е. старшата тетрада) в BF_Temp, му пусни още един импулс за да си прати и младшата тетрада, която ти няма да четеш защото не ти трябва, но... мир да има.
Добави:
...
movf PORTB,w
movwf BF_Temp
bsf E
bcf E
btfsc BF_Temp,7
goto Check_BF
...