Masih mengenai tutorial menyalakan 2 PORT sekaligus pada PORTC dan PORTA bergantian seperti pada gambar dibawah:
1. rangkaian

catatan: rangkaian tidak digambarkan semua. seperti kaki VCC dan Ground pada IC mikrokontroler ATMega16 tidak digambarkan.
2. kode program
#include <io.h>
#include <delay.h>
void main(void)
{
PORTA=0xFF;
DDRA=0xFF;
PORTC=0xFF;
DDRC=0xFF;
while (1)
{
PORTA=0x00;
PORTC=0x01;
delay_ms(300);
PORTC=0x02;
delay_ms(300);
PORTC=0x04;
delay_ms(300);
PORTC=0x08;
delay_ms(300);
PORTC=0x10;
delay_ms(300);
PORTC=0x20;
delay_ms(300);
PORTC=0x40;
delay_ms(300);
PORTC=0x80;
delay_ms(300);
PORTA=0x80;
PORTC=0x00;
delay_ms(300);
PORTA=0x40;
delay_ms(300);
PORTA=0x20;
delay_ms(300);
PORTA=0x10;
delay_ms(300);
PORTA=0x08;
delay_ms(300);
PORTA=0x04;
delay_ms(300);
PORTA=0x02;
delay_ms(300);
PORTA=0x01;
delay_ms(300);
}
}
3. pembahasan
untuk memahami program diatas lihat urutan gambar dibawah.

dari gambar diatas bisa dipahami bagaimana urutan LED menyala beserta nilai angka biner atau hexsa-nya. Dari sini tinggal memasukkan nilai-nilai bilangan hexsa ke dalam program dan menghasilkan animasi LED berjalan menggunakan 2 buah PORT.
