ATtiny84 binärt motverka, upp och ner
ATtiny84 är en verkligt fantastiska chip, inte riktigt en Arduino, men i vissa avseenden mycket mer kraftfull. Detta är ett litet projekt för att visa upp sin potential.
Alla Atmel mikrokontroller har deras stift mappas i banker av åtta, om alla åtta stift är närvarande eller inte. Till exempel är ATtiny85 en åtta stift chip med fem digitala stift. ATmega328P chip i en Arduino har tre banker av stift men ingen av bankerna har alla åtta stift tillgängliga. ATtiny84 har sammanlagt elva digital stift och alla åtta stift på en bank A är tillgängliga.
Varje bank av åtta stift styrs av tre åtta bitars register. Den Data riktning registrera (DDR), STIFTET och hamnen registrerar. I DDR registret biten är klart (0) om PIN-koden ska användas som indata, och satt (1) om det är en utgång. Du läsa PIN registret när du gör en digitalRead, och du skriver till registret över PORT när du gör en digital skriva. Om en PIN-kod är klart för ingång och det är PORT biten anges visar detta på den interna pull-up resistorn. Det går att skriva direkt till registren från Arduino IDE och påverkar alla åtta stift på en gång. I många fall kan detta göra ett program lättare att koden och den kompilerade programmet kommer att vara mycket mindre.
Programmet visar hur lätt det är att skriva en binär räknare som räknar upp och ner samtidigt. Röda lysdioder räknar medan gröna lysdioder nedräkningen.
Du behöver:
- ATtiny84 https://www.sparkfun.com/products/11232
- En Arduino https://www.sparkfun.com/products/11021 (som används både som programmerare för ATtiny84 och en strömförsörjning.)
- Skärbräda https://www.sparkfun.com/products/12615
- 8 röda lysdioder https://www.sparkfun.com/products/9590
- 8 gröna lysdioder https://www.sparkfun.com/products/9592
- 16 470 Ohm motstånd (köpt lokalt)
- 22 gauge Hookup wire (köpt lokalt)