Mit dem Board kenn ich mich leider auch nicht aus, aber mit ATmega32 und Bascom hab ich schon ein bisschen was gemacht. Eingänge abfragen geht eigentlich recht einfach:
Erstmal den entsprechenden Pin als Eingang definieren mit beispielsweise
Config PinA.0=Input
und zum Abfragen einfach den Bezeichner wie eine Variable verwenden.
Die digitalen Eingänge können dabei aber eben nur 0 oder 1 annehmen.
Zum Abfragen eines Tasters wäre zB. so ein Konstrukt möglich:
Code:
if PinA.0=0 then
   <Anweisungen für gedrückten Taster>
else
   <Anweisungen für Loslassen des Tasters>
end if
Wobei da die jeweilige Aktion immer auslöst, wenn die Hauptschleife ausgeführt wird. Besser ist es da, noch eine Variable für den Tasterstatus zu definieren, zB. so:

Code:
Dim status as boolean
status=0      '0=nicht gedrückt, 1=gedrückt

if PinA.0=0 and status=0 then
   <Anweisungen für gedrückten Taster>
   status=1
elseif PinA.0=1 and status=1 then
   <Anweisungen für Loslassen des Tasters>
   status=0
end if
Somit geht das Ganze beim Drücken nur einmal in den oberen Teil und beim Loslassen einmal in den unteren Teil. In den Malen dazwischen geht das Programm zwar auch in die Verzweigung, allerdings sind dann beide Bedingungen nicht erfüllt, wodurch dann eben gar nix passiert. Das Else kann in dem Fall einfach weggelassen werden. Sowas ist dann wichtig, wenn bei einem Tastendruck eine Variable nur einmal hochgezählt werden soll und nicht konstant hochzählt solange man drückt (da kann in wenigen ms schon einiges zusammenkommen). Braucht man häufiger mal sowas. Oder einfach, um einen Ausgang umzuschalten. Würde man das nicht so machen, würde der Ausgang dauernd umschalten und welchen Zustand der Ausgang beim Loslassen dann hat ist eher zufällig.

Ansonsten würde ich mich an deiner Stelle mal ein bisschen nach Grundkursen für Bascom umsehen. Ist an sich kein großes Hexenwerk, wenn man erstmal ein bisschen drin ist. Ich kann das hier empfehlen:
http://halvar.at/elektronik/kleiner_bascom_avr_kurs/