Thank you for the advice!
It seems the "HELLO WORLD" program I posted has problems. If certain characters are added to the seventh digit, the second digit becomes corrupted. The attached program is the same as the other one, with the digit "8" added after the "D" in "WORLD". You see that the "W" loses the "L" segment. I believe that this is happening because I'm trying to write characters at the wrong time. I have tried using "Type-B waveforms" and the LCD interrupt, but I don't understand how to use this interrupt. Does anyone have any ideas? Thank you.
You should only use HIGH, LOW or TOGGLE on physical PINs.
Using HIGH on any other register will cause it to clear a bit in another register that you didn't specify. PBP thinks it's clearing a TRIS bit, but that's only the case if a PIN is used.
For instance, writing HIGH LCDDATA5.2 will also clear LCDDATA17.2
HIGH LCDDATA8.3 will clear LCDDATA20.3
... and even worse ...
HIGH LCDDATA12.0 will clear T1CON.0, which turns off Timer1 if running.
All kinds of strange things can happen.
LCDDATA12.0 = 1 would work much better.
<br>
DT
Characters display perfectly now, thank you. Only one slight problem- when I compile with MPASM, I get the following warning: "Warning[219]c:\pbp\pbppic14.lib 905 : Invalid RAM location specified." Is this anything to be concerned with? I want to use MPASM so that I can use DT Instant Interrupts.
Bookmarks