Membuat Papan Skor dengan CodevisionAVR, sebelumnya pernah aku ulas di salah satu postingan yang berjudul membuat papan skor atmega16 dengan codevision avr. Papan ini digunakan untuk menampilkan skor pertandingan dua tim dengan range skor setiap tim 0-9. Dalam postingan tersebut terdapat dua buah tombol untuk menambah skor masing-masing tim.
Tutorial papan skor tersebut cocok untuk permainan sepakbola yang skornya jarang lebih dari satu digit, tetapi mungkin tidak akan berguna jika digunakan untuk menampilkan skor pertandingan badminton, bola voli apalagi bola basket. Dan karena ada request temen untuk membuat papan skor yang dapat menampilkan sampai puluhan, maka postingan ini aku buat.
Membuat Papan Skor Counter UP /Down dua Digit Dengan Codevision
Papan skor ini selain mampu menampilkan hasil pertandingan dalam dua digit, juga dilengkapi dengan tombol counter up dan counter down untuk setiap timnya, ya ini buat jaga2 aja kali aja official pertandingan kelewat girang mencet2 tombol skor malah skornya kelebihan kan mending dikasih counter down nya juga 😀
Nilai tampilan dalam seven segment diatur oleh PORTC sebagai output, sedangkan kendali seven segment ada di PORTD. PORTB berfungsi sebagai input dimana PINB.0 dan PINB.1 untuk counter down/up skor tim pertama, sementara PINB.2 dan PINB.3 untuk counter down/up tim kedua.
Untuk menghemat program seperti biasa aku hanya menggunakan satu variabel array yang berisi nilai tampilan seven segment. Dan mungkin jika ada pertanyaan kenapa harus menambahkan looping while (PINB.0==0) setelah pernyataan if (PINB.0==0) semata-mata agar selama tombol ditekan dan tidak dilepas, maka nilai hanya akan bertambah 1 kali saja setiap ditekan, berapapun lamanya. Ini mencegah bouncing dan penambahan nilai terlalu banyak karena terlalu lama ditekan. Penggunaan sub rutin tampil dimaksudkan agar kita tidak perlu menulis perintah agar ATMega menampilkan pergantian setiap nilai seven segment.
Kode Program Membuat Papan Skor 2 Digit Menggunakan Atmel ATmega dan Codevision AVR
Listing lengkap programnya adalah sebagai berikut.
/***************************************************** This program was produced by the CodeWizardAVR V2.05.0 Advanced Project : papan skor puluhan Version : 1.0 Date : 5/27/2013 Author : priyo harjiyono Company : https://anotherorion.com Comments: find more project at https://anotherorion.com or follow at @anotherorion Chip type : ATmega16 Program type : Application AVR Core Clock frequency: 4.001000 MHz Memory model : Small External RAM size : 0 Data Stack size : 256 *****************************************************/ #include <mega16.h> #include <delay.h> unsigned char bil[10]= {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; char ribu=0; signed char ratus=0; char puluh=0; signed char satu=0; void tampil (void) { PORTD=0x01; PORTC=bil[ribu]; delay_ms(2); PORTD=0x02; PORTC=bil[ratus]; delay_ms(2); PORTD=0x04; PORTC=bil[puluh] ; delay_ms(2); PORTD=0x08; PORTC=bil[satu] ; delay_ms(2); } void main(void) { DDRB=0x00; PINB=0x00; DDRC=0xff; DDRD=0xff; PORTC=0xc0; PORTD=0xff; delay_ms(2); while(1) { tampil(); { if(PINB.0==0) { while(PINB.0==0){tampil();} if(ratus==0 & ribu==0) {ratus=0; ribu=0;} else{ ratus=ratus-1; if(ratus<0) { ribu=ribu-1; ratus=9; }}} else if(PINB.1==0) { while(PINB.1==0){ tampil();} ratus=ratus+1; if(ratus>9) { ratus=0; ribu=ribu+1; }} else if(PINB.2==0) { while(PINB.2==0){tampil();} if(satu==0 & puluh==0) {satu=0; puluh=0;} else{ satu=satu-1; if(satu<0) { puluh=puluh-1; satu=9; }}} else if(PINB.3==0) { while(PINB.3==0){ tampil();} satu=satu+1; if(satu>9) { satu=0; puluh=puluh+1; }} else {}}}}
Gambar Rangkaian Papan Skor Dua Digit Counter UP dan Down dengan Codevision AVR ATmega
rangkaian simulasi menggunakan ISIS proteus dapat dilihat dibawah ini.
Klo pesan harganya brapa bro?
bisa mas, pada waktu pembuatan wizard di awal clocknya ganti aja pake 12 MHz, klo sudah terlanjur membuat program ganti settingnya di menu Project-Configure-C Compiler, setting clocknya tinggal disesuaikan cristalnya mas
sip… mas lo kristal na pake 12.000 bisa ga? apa yg disesuaikan.. mksh
sama2 mas
Nice INFO gan 😀 makasih banged jadi bisa bikin nih Papan Score
Sip Kari Nambahi Hardware penguat Arus . . .
Duwe Downloader e ra lik ??? po skema sak programe
ora haha males gawene, meh kon nggaweke bocahanku wae
ada 6 d sini kalau cm downloder
wah ha ha tekan lumajang kang . . . soale saiki wes pindah multimedia je,, jarang oprex2 gituan