Biasanya klo dalam permainan sepak bola ada papan untuk skor, papan skor ini bisa dibuat manual ataupun pake mikrokontroller. Skor pada papan ini dikendalikan oleh 2 buah tombol, satu tombol untuk menambah skor tim tuan rumah, dan satu tombol yang lain digunakan untuk menambah skor tim tamu.
Selain bisa digunakan sebagai papan skor pertandingan sepakbola, program ini juga bisa dipakai untuk memberikan skor pada lomba cerdas cermat. Ketika satu tim menjawab benar maka juri menambahkan nilai kedalam papan. Saya menggunakan AVR ATMEGA16, bisa juga make ATMEGA8/32/8535 tinggal diganti headernya saja. Input tombol berada di port A.0 dan A.1 sementara output tim kanan dikendalikan port C dan output tim kiri dikendalikan port D
Berikut listing program membuat skoring quiz menggunakan mikrokontroler AVR dengan Codevision
#include <mega16.h>
#include <delay.h>
//array 10 bilangan dari 0-9
unsigned char bil[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
int kanan=0;
int kiri=0;
//check apakah tombol penambah skor tim kanan sudah dilepas?
void check_kanan()
{
while(PINA.0==1)
{
PORTC=bil[kanan];
PORTD=bil[kiri];
delay_ms(2);
}
kanan=kanan+1;
return;
}
//check apakah tombol penambah skor tim kiri sudah dilepas?
void check_kiri()
{
while(PINA.1==1)
{
PORTC=bil[kanan];
PORTD=bil[kiri];
delay_ms(2);}
kiri=kiri+1;
return;
}
void main (void)
{
DDRC=0xff;
DDRD=0xff;
DDRA=0x00;
while(1)
{
if (kanan>9)
{
kanan=0;
}
else if(kiri>9)
{
kiri=0;
}
PORTC=bil[kanan];
PORTD=bil[kiri];
delay_ms(20);
if(PINA.0==1)
{
check_kanan();
}
else if(PINA.1==1)
{
check_kiri();}
else
{
//tambahkan program lain jika ada
}
}
}
semoga bermanfaat
mau tanya itu ada nama bahan bahan yang di gunakan di proteus apa aja
ijin copy paste mas script membuat skoring quiz menggunakan mikrokontroler AVR dengan Codevision….
salam kenal, ari dan nelson
salam programer 🙂
Tak coba saya ketik ulang kok ada eror declaration syntax eror
Void main(void) yang eror???
Gmn y ngilanginnya.
coba saya dikirimi file projectnya di anotherorion001@gmail.com
bang..kalo error nya di assembly yang ‘mcucr’..solusinya bagaimana bang ?
terima kasih…
kak kok baris ke 29 eror ya?
kesalahan ada di karakter X pada bilangan angka2 heksa mas, klo dicopas langsung di codevision akan terlihat karakter X nya beda dikit dan itu yg bikin salah, ditulis ulang saja huruf X untuk bilangan2 heksa tersebut mas, saya juga sering gitu, gak tau kenapa karakternya beda tiap dicopas
cuk . . . Nek skore puluhan piye kuwi .. Port kurang no dab
diparalel