I am working on my master's thesis. Basically I am designing a fuel injection system for my Suzuki Dr650. It does not have to be super sophisticated, but I would like to program a microcontroller well enough to actually build the system. However, I am a powertrain/mechanical engineer by education, so programming is a black voodoo cult art to me. I know it's not hard, but I just don't have the key piece of information to be able to do it yet.
So, I have an HC6811 microcontroller and I would like to program this thing to accept a couple of inputs (wide band O2, mass air, temp, crank, cam, and throttle position), manipulate those inputs (calculate rpm, change in O2, MAF, Throttle postion), and provide an output (Injector PWM). I will also need proportional, integral, and derivative control (PID).
So, my question is: Do I program this thing in assembly, C, or C++? Can any of you recommend some books for learning any of these languages?
My ultimate goal is to actually fuel inject my dirtbike, and then move on to multi cylinder engines.
Thanks.