Hallo knoddelpusch,

sehr konfus das Ganze, aber ich probiere es.

Zuerst zur Namenskonvention: IC heißt Integrated Circuit -> meist ist der IC ein (dummer) Baustein in einer Schaltung.
Was Du meinst ist ein Mikrokontroller (auch MCU oder µC genannt). Bleiben wir in deinem Fall beim ATmega16.

Also:
Ich gehe jetzt stark davon aus, daß Du keine Ahnung von der internen Verarbeitung von Daten hast.
Ein Computer kann nur binäre Zahlen verarbeiten. Das heisst 0 oder 1. 0 = aus 1 = ein.

Da aber der Mensch mit binären Zahlen nicht sehr viel anfangen kann hat man die hexadezimale Darstellung eingeführt.
Damit aber alle den gleichen binären Wert für jedes Zeichen verwenden wurde (zumindest auf PC und µC) der ASCII Code eingeführt
(es gibt da auch noch den EBCDIC Code).

Also wenn Du ein Zeichen "A" an den Atmega16 schickst dann sendet der PC 10000001 an den µC.
binär 10000001 = hex 41 dezimal 65 = A (der PC malt dir dann ein A auf den Schirm).

Warum willst Du das dann noch einmal in ASCII konvertieren?

Zum programmieren: ich kenne weder VB noch irgendeine C** Sprache (und werde es auch nicht lernen).

Ich habe mir dein Programm angesehen. was mir fehlt ist die genaue Einstellung der
Übertragungsrate (BAUD) auf beiden Seiten (PC UND Atmega16).

Ich hoffe, ich konnte dich verwirren.

P.S. welche Werte willst Du an den µC senden?