so wie es aussieht willt du nen microcontroller programmieren... welchen? ^^'
verbresserungsvorschläge:
1) benutze "" oder poste deine quelltexte über pastebin.com, dadurch werden sie besser lesbar

-
2) schreib kommentare welche variablen/constanten aus dem header kommen und welche von dir sind - und was sie machen
3)
statt if wäre eine switch-case struktur übersichtlicher
funktioniert dein programm soweit eigentlich?