taking your advice with the program, i hooked it up and on the lcd it prompts the user to enter a LOW SP. upon the use of the increment decrement buttons, on the second line of the lcd are characters which are being displayed. when the 'main' button is pressed, it does not go to the main display and also when the HighSp button is pressed, it does not go to that screen. im so lost with this whole thing
Put yours subrouteenes at the end of your code, never at the beginning!
Modify your If then in the following manner:
if maindisp = 1 then
write 0 , sethighp
pause 10
write 1 , sethighp
mode = 1
maindisp = 0 ' reset flag
endif
Otherwise it will write at every cycle and in this case you do not need the " IF Then " statement. Set your flag to 1 when writing is needed
Yours code for reading key:
getkey:
pause 50
keyin = portc
return
You read the status of the all 8 inputs, than you need to decode to find which key has been pressed.
More:
Are you pulling up your inputs using normally closed switches? otherwise with this code you have to pull down your inputs.
Al.
Last edited by aratti; - 20th October 2008 at 15:23.
Disagree 100%, ok maybe 99%
If using a PIC16 (or 12,or 10) series PIC, if you are able to keep the 'subroutines' in the first bank of code space, you'll save code space due to the fact that the BANK Select registers don't need to be changed, and at the same time save instruction cycles. And if your subroutines are at the beginning, they're the first thing to get seen while skimming thru the code, makes them harder to forget them (I guess more of a brain thing there).
At any rate, there's one more small bug in your If/Then correction above (post #13)...a small one...actually two small bugs...one matters, the other doesn't really matter...
check the button pic. that is how i connected it ski
Last edited by Kalind; - 20th October 2008 at 15:28.
Bookmarks