Combine this with any suitable RTC software or any interrupt sub
integer of 1 second. Example uses 2ms "tick"


http://www.techtir.ie/forums/showthread.php?t=3406


Improved line algorithm. You reduce variable usage by at least two
bytes I think...

Enjoy..

I'm using it in my CatPad project

test is on a 18F4550 with I2C, USB, Serial and my shared keypad/GLCD

Note shift below so b0 and b1 used for HW I2C

B2 to B7 used for five keyboard rows and shared with KS0108 control
except for master E pin (run off RE2 port)
D0 to D7 shared as column drive of keypad and GLCD 8 bit data port.
The IC programming on B7, B6 seems to work fine with keyboard/LCD
connected.



-- we may be sharing ports with Graphics LCD, so save & restore
direction
-- Shift keyscan right by 2 as B0 and B1 used for I2C EEPROM
   oldDriveDir = keydrive_direction
   oldScanDir = keyScan_direction
   keyscan_direction =  all_input
         --               LSB        MSB
   keydrive_direction =  ! col1
   keydrive = col1
   scan1 = (keyscan >> 2) & 0x1F  -- active col [1] [4] [7] [*]  [r]
   keydrive_direction = ! col2
   keydrive = col2
   scan2 = (keyscan >> 2) & 0x1F  -- active col [2] [5] [8] [0]  [g]
   keydrive_direction = ! col3
   keydrive = col3
   scan3 = (keyscan >> 2) & 0x1F  -- active col [3] [6] [9] [#]  [y]
   keydrive_direction = ! col4
   keydrive = col4
   scan4 = (keyscan >> 2) & 0x1F  -- active col [A] [B] [C] [D]  [b]
   keydrive_direction = ! col5
   keydrive = col5
   scan5 = (keyscan >> 2) & 0x1F  -- active col [^] [<] [v] [>]  [e]

-- 
You received this message because you are subscribed to the Google Groups 
"jallib" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/jallib?hl=en.

Reply via email to