I am new to using a pic so my experience is very limited. I was given a project to do that involves sensing four rotating shafts and determining the RPM. The RPM is then displayed on four sets of seven segment LED displays that are multiplexed to reduce I/O pins. I will also have in the program RPM set points for each shaft that will sound an alarm when a shaft speed is lower then the set point. The shaft speeds range from 50 to 950 RPM and I would like to update the displays at least every 10 seconds. I was thinking of using a timer to keep track of how long each shaft takes to rotate, but have not determined how I am going to convert this to RPM. What I am mainly looking for are some suggestions on how I should go about accomplishing this task and maybe some code on the frequency conversion or ideas. I was thinking I could use a 16c65 and use portb's interrupt on change feature as the four external interrupt inputs. The 16c65 also has enough I/O to allow me to do all my multiplexing. Am I asking too much from this chip? Or should I go to using four separate chips to determine RPM for each sensor and then send that data serial to another pic that multiplexes the displays and checks the set points. If I used four 16c84's this would allow me to use the external interrupt pin RB0 on each chip. All suggestions would be appreciated, Scott Fisher