Hallo!
Das ist natürlich ein Problem... allerdings lösbar.... und zwar gleich auf zwei Arten:
1. Man tauscht den Mega8 gegen einen Mega88. Der ist pinkompatibel, hat aber PCI (Pin Change Interrupt) an jedem Pin. Wenn du PCI nur an einem Pin (da wo das RC-Signal ankommt) aktivierst, kannst du dir die Abfrage des PCI-Pins sparen (es gibt ja nur einen, der enabled ist) und den Output-Pin entsprechend schalten.
Siehe dazu mal ins Datenblatt vom Mega88.
2. Du "missbrauchst" den Analog-Comparator. An den negativen Pin (AIN1) legst du Vcc/2 an (mit nem einfachen Widerstandsteiler). An AIN0 kommt das RC/Signal vom Empfänger. Jetzt einfach den Interrupt für den Analog-Comparator auf "Change" stellen und einsprechend dem ACO-bit den Output-Pin auf high oder low setzen.
Und fertig ist das ganze. ICh würde allerdings Lösung 1 bevorzugen und zwar aus drei Gründen:
1. Der Mega88 kann bis zu 20MHz, ist also ca 25% schneller als der Mega8.
2. Er hat mehr "fraetures" (z.B. o.g. PCI).
3. Ist ohne Software-/Hardwareänderung durch den Mega168 ersetzbar, der doppelt so viel Flash-Memory hat.
Lesezeichen