L A M P I R A N - CORE · 2014-01-22 · Layout PCB Rangkaian Sistem Minimum. 45 Lampiran 3. Layout...
Transcript of L A M P I R A N - CORE · 2014-01-22 · Layout PCB Rangkaian Sistem Minimum. 45 Lampiran 3. Layout...
42
L A M P I R A N
43
Lam
pira
n1
Ran
gkai
anTo
mbo
lKui
sden
gan
Peng
atur
dan
Pena
mpi
lNila
iBer
basi
sMik
roko
ntro
lerA
Tmeg
a16
43
44
Lampiran 2 Layout PCB Rangkaian Sistem Minimum
45
Lampiran 3 Layout PCB rangkaian Operator
46
Lampiran 4 Layout PCB rangkaian Penampil Grup A
47
Lampiran 5 Layout PCB rangkaian Penampil Grup B
48
Lampiran 6 Layout PCB rangkaian Penampil Grup C
49
Lampiran 7 Listing Program Pengatur Tombol Kuis berbasis Mikrokontroler Atmega16
include ltmega16hgtinclude ltdelayhgtvoid main(void) int AA1A2A3BB1B2B3CC1C2C3PP1P2P3K
DDRA=0xFFDDRB=0b00001000DDRC=0xFFDDRD=0b11000000PORTA=0xFFPORTB=0xFFPORTC=0xFFPORTD=0xFFP=A=B=C=0A1=A2=A3=0B1=B2=B3=0C1=C2=C3=0K=0ACSR=0x80SFIOR=0x00asm (nop)while (1) if(K==0)
if(PINB0==0)K=1else if(PINB1==0)K=2else if(PINB2==0)K=3
else if(K==1) PORTB=0b11110110
delay_us(450)PORTB=0xFFPORTC=0b11111011delay_us(550)
else if(K==2) PORTB=0b11110101
delay_us(550)PORTB=0xFFPORTC=0b11110111delay_us(450)
else if(K==3) PORTB=0b11110011
delay_us(500)PORTB=0xFFPORTC=0b01111111delay_us(500)
if(PIND1==0)P=1P1=A1P2=A2P3=A3if(PIND0==0)P=2P1=B1P2=B2P3=B3if(PIND2==0)P=3P1=C1P2=C2P3=C3if(PIND4==0)P=P1=P2=P3=K=0if((PIND1==0ampampPIND4==0)||(PIND0==0ampampPIND4==0)||(PIND2==0ampampPIND4==0))A=B=C=0if(P==1) if(PIND5==0)
A+=10P=0delay_us(1)
if(PIND3==0) A-=5
P=0delay_us(1)if(Alt0) A=0
delay_us(1)A1=A10A2=((A-A1)10)10A3=(A-10A2-A1)100delay_us(1)P1=A1P2=A2P3=A3
if(P==2) if(PIND5==0)
B+=10P=0delay_us(1)
if(PIND3==0) B-=5
P=0delay_us(1)if(Blt0) B=0
delay_us(1)
50
B1=B10B2=((B-B1)10)10B3=(B-10B2-B1)100delay_us(1)P1=B1P2=B2P3=B3
if(P==3) if(PIND5==0)
C+=10P=0delay_us(1)
if(PIND3==0) C-=5
P=0delay_us(1)if(Clt0) C=0
delay_us(1)C1=C10C2=((C-C1)10)10C3=(C-10C2-C1)100delay_us(1)P1=C1P2=C2P3=C3
PORTC=0b11101011delay_us(1)PORTA=A3delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b10111011delay_us(1)PORTA=A2delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b10101011delay_us(1)PORTA=A1delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b11100111delay_us(1)PORTA=B3delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b10110111delay_us(1)PORTA=B2delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b10100111delay_us(1)PORTA=B1delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b01101111delay_us(1)PORTA=C3delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b00111111delay_us(1)PORTA=C2delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b00101111delay_us(1)PORTA=C1delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b11111101delay_us(1)PORTA=P3
51
delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b11111110delay_us(1)PORTA=P2delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b11111100delay_us(1)PORTA=P1delay_us(50)PORTC=0xFFdelay_us(1)
52
Lampiran 8 Hasil Pengujian Tombol Kuis Berbasis Mikrokontroler ATmega16
No Kriteria Pengujian Hasil Pengamatan1 Sistem minimum diberi tegangan 12 volt
DCLED menyala
2 Operator dihubungkan Seven segment Operator menyala ldquo000rdquo3 Penampil dihubungkan Seven segment Penampil menyala ldquo000rdquo
a Tombol Grup A ditekan Seven segment Grup A menyalaBuzzer hidup
4
b Tombol OP ldquoRrdquo ditekan Seven segment Grup A matiBuzzer mati
a Tombol Grup B ditekan Seven segment Grup B menyalaBuzzer hidup
5
b Tombol OP ldquoRrdquo ditekan Seven segment Grup B matiBuzzer mati
a Tombol Grup C ditekan Seven segment Grup C menyalaBuzzer hidup
6
b Tombol OP ldquoRrdquo ditekan Seven segment Grup C matiBuzzer mati
Tombol OP ldquoArdquo ditekan Seven segment Operator menampilkan nilai GrupA
a Tombol OP ldquo+rdquo ditekan Nilai A bertambah 10 (sepuluh)b Tombol OP ldquo-ldquo ditekan Nilai A berkurang 5 (lima)
7
c Tombol OP ldquoRrdquo ditekan Seven segment Operator menyala ldquo000rdquo sevensegment A tetap
Tombol OP ldquoBrdquo ditekan Seven segment Operator menampilkan nilai GrupB
a Tombol OP ldquo+rdquo ditekan Nilai B bertambah 10 (sepuluh)b Tombol OP ldquo-ldquo ditekan Nilai B berkurang 5 (lima)
8
c Tombol OP ldquoRrdquo ditekan Seven segment Operator menyala ldquo000rdquo sevensegment B tetap
Tombol OP ldquoCrdquo ditekan Seven segment Operator menampilkan nilai GrupC
a Tombol OP ldquo+rdquo ditekan Nilai C bertambah 10 (sepuluh)b Tombol OP ldquo-ldquo ditekan Nilai C berkurang 5 (lima)
9
c Tombol OP ldquoRrdquo ditekan Seven segment Operator menyala ldquo000rdquo sevensegment C tetap
10 Tombol Operator ldquoArdquo dan ldquoRrdquo ditekanbersamaan
11 Tombol Operator ldquoBrdquo dan ldquoRrdquo ditekanbersamaan
12 Tombol Operator ldquoCrdquo dan ldquoRrdquo ditekanbersamaan
Nilai semua grup di-reset kembali menjadi nolSeven segment Penampil menyala ldquo000rdquoSeven segment Operator menyala ldquo000rdquo
53
Lampiran 9 Datasheet Mikrokontroler ATmega16
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
43
Lam
pira
n1
Ran
gkai
anTo
mbo
lKui
sden
gan
Peng
atur
dan
Pena
mpi
lNila
iBer
basi
sMik
roko
ntro
lerA
Tmeg
a16
43
44
Lampiran 2 Layout PCB Rangkaian Sistem Minimum
45
Lampiran 3 Layout PCB rangkaian Operator
46
Lampiran 4 Layout PCB rangkaian Penampil Grup A
47
Lampiran 5 Layout PCB rangkaian Penampil Grup B
48
Lampiran 6 Layout PCB rangkaian Penampil Grup C
49
Lampiran 7 Listing Program Pengatur Tombol Kuis berbasis Mikrokontroler Atmega16
include ltmega16hgtinclude ltdelayhgtvoid main(void) int AA1A2A3BB1B2B3CC1C2C3PP1P2P3K
DDRA=0xFFDDRB=0b00001000DDRC=0xFFDDRD=0b11000000PORTA=0xFFPORTB=0xFFPORTC=0xFFPORTD=0xFFP=A=B=C=0A1=A2=A3=0B1=B2=B3=0C1=C2=C3=0K=0ACSR=0x80SFIOR=0x00asm (nop)while (1) if(K==0)
if(PINB0==0)K=1else if(PINB1==0)K=2else if(PINB2==0)K=3
else if(K==1) PORTB=0b11110110
delay_us(450)PORTB=0xFFPORTC=0b11111011delay_us(550)
else if(K==2) PORTB=0b11110101
delay_us(550)PORTB=0xFFPORTC=0b11110111delay_us(450)
else if(K==3) PORTB=0b11110011
delay_us(500)PORTB=0xFFPORTC=0b01111111delay_us(500)
if(PIND1==0)P=1P1=A1P2=A2P3=A3if(PIND0==0)P=2P1=B1P2=B2P3=B3if(PIND2==0)P=3P1=C1P2=C2P3=C3if(PIND4==0)P=P1=P2=P3=K=0if((PIND1==0ampampPIND4==0)||(PIND0==0ampampPIND4==0)||(PIND2==0ampampPIND4==0))A=B=C=0if(P==1) if(PIND5==0)
A+=10P=0delay_us(1)
if(PIND3==0) A-=5
P=0delay_us(1)if(Alt0) A=0
delay_us(1)A1=A10A2=((A-A1)10)10A3=(A-10A2-A1)100delay_us(1)P1=A1P2=A2P3=A3
if(P==2) if(PIND5==0)
B+=10P=0delay_us(1)
if(PIND3==0) B-=5
P=0delay_us(1)if(Blt0) B=0
delay_us(1)
50
B1=B10B2=((B-B1)10)10B3=(B-10B2-B1)100delay_us(1)P1=B1P2=B2P3=B3
if(P==3) if(PIND5==0)
C+=10P=0delay_us(1)
if(PIND3==0) C-=5
P=0delay_us(1)if(Clt0) C=0
delay_us(1)C1=C10C2=((C-C1)10)10C3=(C-10C2-C1)100delay_us(1)P1=C1P2=C2P3=C3
PORTC=0b11101011delay_us(1)PORTA=A3delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b10111011delay_us(1)PORTA=A2delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b10101011delay_us(1)PORTA=A1delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b11100111delay_us(1)PORTA=B3delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b10110111delay_us(1)PORTA=B2delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b10100111delay_us(1)PORTA=B1delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b01101111delay_us(1)PORTA=C3delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b00111111delay_us(1)PORTA=C2delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b00101111delay_us(1)PORTA=C1delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b11111101delay_us(1)PORTA=P3
51
delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b11111110delay_us(1)PORTA=P2delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b11111100delay_us(1)PORTA=P1delay_us(50)PORTC=0xFFdelay_us(1)
52
Lampiran 8 Hasil Pengujian Tombol Kuis Berbasis Mikrokontroler ATmega16
No Kriteria Pengujian Hasil Pengamatan1 Sistem minimum diberi tegangan 12 volt
DCLED menyala
2 Operator dihubungkan Seven segment Operator menyala ldquo000rdquo3 Penampil dihubungkan Seven segment Penampil menyala ldquo000rdquo
a Tombol Grup A ditekan Seven segment Grup A menyalaBuzzer hidup
4
b Tombol OP ldquoRrdquo ditekan Seven segment Grup A matiBuzzer mati
a Tombol Grup B ditekan Seven segment Grup B menyalaBuzzer hidup
5
b Tombol OP ldquoRrdquo ditekan Seven segment Grup B matiBuzzer mati
a Tombol Grup C ditekan Seven segment Grup C menyalaBuzzer hidup
6
b Tombol OP ldquoRrdquo ditekan Seven segment Grup C matiBuzzer mati
Tombol OP ldquoArdquo ditekan Seven segment Operator menampilkan nilai GrupA
a Tombol OP ldquo+rdquo ditekan Nilai A bertambah 10 (sepuluh)b Tombol OP ldquo-ldquo ditekan Nilai A berkurang 5 (lima)
7
c Tombol OP ldquoRrdquo ditekan Seven segment Operator menyala ldquo000rdquo sevensegment A tetap
Tombol OP ldquoBrdquo ditekan Seven segment Operator menampilkan nilai GrupB
a Tombol OP ldquo+rdquo ditekan Nilai B bertambah 10 (sepuluh)b Tombol OP ldquo-ldquo ditekan Nilai B berkurang 5 (lima)
8
c Tombol OP ldquoRrdquo ditekan Seven segment Operator menyala ldquo000rdquo sevensegment B tetap
Tombol OP ldquoCrdquo ditekan Seven segment Operator menampilkan nilai GrupC
a Tombol OP ldquo+rdquo ditekan Nilai C bertambah 10 (sepuluh)b Tombol OP ldquo-ldquo ditekan Nilai C berkurang 5 (lima)
9
c Tombol OP ldquoRrdquo ditekan Seven segment Operator menyala ldquo000rdquo sevensegment C tetap
10 Tombol Operator ldquoArdquo dan ldquoRrdquo ditekanbersamaan
11 Tombol Operator ldquoBrdquo dan ldquoRrdquo ditekanbersamaan
12 Tombol Operator ldquoCrdquo dan ldquoRrdquo ditekanbersamaan
Nilai semua grup di-reset kembali menjadi nolSeven segment Penampil menyala ldquo000rdquoSeven segment Operator menyala ldquo000rdquo
53
Lampiran 9 Datasheet Mikrokontroler ATmega16
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
44
Lampiran 2 Layout PCB Rangkaian Sistem Minimum
45
Lampiran 3 Layout PCB rangkaian Operator
46
Lampiran 4 Layout PCB rangkaian Penampil Grup A
47
Lampiran 5 Layout PCB rangkaian Penampil Grup B
48
Lampiran 6 Layout PCB rangkaian Penampil Grup C
49
Lampiran 7 Listing Program Pengatur Tombol Kuis berbasis Mikrokontroler Atmega16
include ltmega16hgtinclude ltdelayhgtvoid main(void) int AA1A2A3BB1B2B3CC1C2C3PP1P2P3K
DDRA=0xFFDDRB=0b00001000DDRC=0xFFDDRD=0b11000000PORTA=0xFFPORTB=0xFFPORTC=0xFFPORTD=0xFFP=A=B=C=0A1=A2=A3=0B1=B2=B3=0C1=C2=C3=0K=0ACSR=0x80SFIOR=0x00asm (nop)while (1) if(K==0)
if(PINB0==0)K=1else if(PINB1==0)K=2else if(PINB2==0)K=3
else if(K==1) PORTB=0b11110110
delay_us(450)PORTB=0xFFPORTC=0b11111011delay_us(550)
else if(K==2) PORTB=0b11110101
delay_us(550)PORTB=0xFFPORTC=0b11110111delay_us(450)
else if(K==3) PORTB=0b11110011
delay_us(500)PORTB=0xFFPORTC=0b01111111delay_us(500)
if(PIND1==0)P=1P1=A1P2=A2P3=A3if(PIND0==0)P=2P1=B1P2=B2P3=B3if(PIND2==0)P=3P1=C1P2=C2P3=C3if(PIND4==0)P=P1=P2=P3=K=0if((PIND1==0ampampPIND4==0)||(PIND0==0ampampPIND4==0)||(PIND2==0ampampPIND4==0))A=B=C=0if(P==1) if(PIND5==0)
A+=10P=0delay_us(1)
if(PIND3==0) A-=5
P=0delay_us(1)if(Alt0) A=0
delay_us(1)A1=A10A2=((A-A1)10)10A3=(A-10A2-A1)100delay_us(1)P1=A1P2=A2P3=A3
if(P==2) if(PIND5==0)
B+=10P=0delay_us(1)
if(PIND3==0) B-=5
P=0delay_us(1)if(Blt0) B=0
delay_us(1)
50
B1=B10B2=((B-B1)10)10B3=(B-10B2-B1)100delay_us(1)P1=B1P2=B2P3=B3
if(P==3) if(PIND5==0)
C+=10P=0delay_us(1)
if(PIND3==0) C-=5
P=0delay_us(1)if(Clt0) C=0
delay_us(1)C1=C10C2=((C-C1)10)10C3=(C-10C2-C1)100delay_us(1)P1=C1P2=C2P3=C3
PORTC=0b11101011delay_us(1)PORTA=A3delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b10111011delay_us(1)PORTA=A2delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b10101011delay_us(1)PORTA=A1delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b11100111delay_us(1)PORTA=B3delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b10110111delay_us(1)PORTA=B2delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b10100111delay_us(1)PORTA=B1delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b01101111delay_us(1)PORTA=C3delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b00111111delay_us(1)PORTA=C2delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b00101111delay_us(1)PORTA=C1delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b11111101delay_us(1)PORTA=P3
51
delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b11111110delay_us(1)PORTA=P2delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b11111100delay_us(1)PORTA=P1delay_us(50)PORTC=0xFFdelay_us(1)
52
Lampiran 8 Hasil Pengujian Tombol Kuis Berbasis Mikrokontroler ATmega16
No Kriteria Pengujian Hasil Pengamatan1 Sistem minimum diberi tegangan 12 volt
DCLED menyala
2 Operator dihubungkan Seven segment Operator menyala ldquo000rdquo3 Penampil dihubungkan Seven segment Penampil menyala ldquo000rdquo
a Tombol Grup A ditekan Seven segment Grup A menyalaBuzzer hidup
4
b Tombol OP ldquoRrdquo ditekan Seven segment Grup A matiBuzzer mati
a Tombol Grup B ditekan Seven segment Grup B menyalaBuzzer hidup
5
b Tombol OP ldquoRrdquo ditekan Seven segment Grup B matiBuzzer mati
a Tombol Grup C ditekan Seven segment Grup C menyalaBuzzer hidup
6
b Tombol OP ldquoRrdquo ditekan Seven segment Grup C matiBuzzer mati
Tombol OP ldquoArdquo ditekan Seven segment Operator menampilkan nilai GrupA
a Tombol OP ldquo+rdquo ditekan Nilai A bertambah 10 (sepuluh)b Tombol OP ldquo-ldquo ditekan Nilai A berkurang 5 (lima)
7
c Tombol OP ldquoRrdquo ditekan Seven segment Operator menyala ldquo000rdquo sevensegment A tetap
Tombol OP ldquoBrdquo ditekan Seven segment Operator menampilkan nilai GrupB
a Tombol OP ldquo+rdquo ditekan Nilai B bertambah 10 (sepuluh)b Tombol OP ldquo-ldquo ditekan Nilai B berkurang 5 (lima)
8
c Tombol OP ldquoRrdquo ditekan Seven segment Operator menyala ldquo000rdquo sevensegment B tetap
Tombol OP ldquoCrdquo ditekan Seven segment Operator menampilkan nilai GrupC
a Tombol OP ldquo+rdquo ditekan Nilai C bertambah 10 (sepuluh)b Tombol OP ldquo-ldquo ditekan Nilai C berkurang 5 (lima)
9
c Tombol OP ldquoRrdquo ditekan Seven segment Operator menyala ldquo000rdquo sevensegment C tetap
10 Tombol Operator ldquoArdquo dan ldquoRrdquo ditekanbersamaan
11 Tombol Operator ldquoBrdquo dan ldquoRrdquo ditekanbersamaan
12 Tombol Operator ldquoCrdquo dan ldquoRrdquo ditekanbersamaan
Nilai semua grup di-reset kembali menjadi nolSeven segment Penampil menyala ldquo000rdquoSeven segment Operator menyala ldquo000rdquo
53
Lampiran 9 Datasheet Mikrokontroler ATmega16
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
45
Lampiran 3 Layout PCB rangkaian Operator
46
Lampiran 4 Layout PCB rangkaian Penampil Grup A
47
Lampiran 5 Layout PCB rangkaian Penampil Grup B
48
Lampiran 6 Layout PCB rangkaian Penampil Grup C
49
Lampiran 7 Listing Program Pengatur Tombol Kuis berbasis Mikrokontroler Atmega16
include ltmega16hgtinclude ltdelayhgtvoid main(void) int AA1A2A3BB1B2B3CC1C2C3PP1P2P3K
DDRA=0xFFDDRB=0b00001000DDRC=0xFFDDRD=0b11000000PORTA=0xFFPORTB=0xFFPORTC=0xFFPORTD=0xFFP=A=B=C=0A1=A2=A3=0B1=B2=B3=0C1=C2=C3=0K=0ACSR=0x80SFIOR=0x00asm (nop)while (1) if(K==0)
if(PINB0==0)K=1else if(PINB1==0)K=2else if(PINB2==0)K=3
else if(K==1) PORTB=0b11110110
delay_us(450)PORTB=0xFFPORTC=0b11111011delay_us(550)
else if(K==2) PORTB=0b11110101
delay_us(550)PORTB=0xFFPORTC=0b11110111delay_us(450)
else if(K==3) PORTB=0b11110011
delay_us(500)PORTB=0xFFPORTC=0b01111111delay_us(500)
if(PIND1==0)P=1P1=A1P2=A2P3=A3if(PIND0==0)P=2P1=B1P2=B2P3=B3if(PIND2==0)P=3P1=C1P2=C2P3=C3if(PIND4==0)P=P1=P2=P3=K=0if((PIND1==0ampampPIND4==0)||(PIND0==0ampampPIND4==0)||(PIND2==0ampampPIND4==0))A=B=C=0if(P==1) if(PIND5==0)
A+=10P=0delay_us(1)
if(PIND3==0) A-=5
P=0delay_us(1)if(Alt0) A=0
delay_us(1)A1=A10A2=((A-A1)10)10A3=(A-10A2-A1)100delay_us(1)P1=A1P2=A2P3=A3
if(P==2) if(PIND5==0)
B+=10P=0delay_us(1)
if(PIND3==0) B-=5
P=0delay_us(1)if(Blt0) B=0
delay_us(1)
50
B1=B10B2=((B-B1)10)10B3=(B-10B2-B1)100delay_us(1)P1=B1P2=B2P3=B3
if(P==3) if(PIND5==0)
C+=10P=0delay_us(1)
if(PIND3==0) C-=5
P=0delay_us(1)if(Clt0) C=0
delay_us(1)C1=C10C2=((C-C1)10)10C3=(C-10C2-C1)100delay_us(1)P1=C1P2=C2P3=C3
PORTC=0b11101011delay_us(1)PORTA=A3delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b10111011delay_us(1)PORTA=A2delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b10101011delay_us(1)PORTA=A1delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b11100111delay_us(1)PORTA=B3delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b10110111delay_us(1)PORTA=B2delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b10100111delay_us(1)PORTA=B1delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b01101111delay_us(1)PORTA=C3delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b00111111delay_us(1)PORTA=C2delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b00101111delay_us(1)PORTA=C1delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b11111101delay_us(1)PORTA=P3
51
delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b11111110delay_us(1)PORTA=P2delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b11111100delay_us(1)PORTA=P1delay_us(50)PORTC=0xFFdelay_us(1)
52
Lampiran 8 Hasil Pengujian Tombol Kuis Berbasis Mikrokontroler ATmega16
No Kriteria Pengujian Hasil Pengamatan1 Sistem minimum diberi tegangan 12 volt
DCLED menyala
2 Operator dihubungkan Seven segment Operator menyala ldquo000rdquo3 Penampil dihubungkan Seven segment Penampil menyala ldquo000rdquo
a Tombol Grup A ditekan Seven segment Grup A menyalaBuzzer hidup
4
b Tombol OP ldquoRrdquo ditekan Seven segment Grup A matiBuzzer mati
a Tombol Grup B ditekan Seven segment Grup B menyalaBuzzer hidup
5
b Tombol OP ldquoRrdquo ditekan Seven segment Grup B matiBuzzer mati
a Tombol Grup C ditekan Seven segment Grup C menyalaBuzzer hidup
6
b Tombol OP ldquoRrdquo ditekan Seven segment Grup C matiBuzzer mati
Tombol OP ldquoArdquo ditekan Seven segment Operator menampilkan nilai GrupA
a Tombol OP ldquo+rdquo ditekan Nilai A bertambah 10 (sepuluh)b Tombol OP ldquo-ldquo ditekan Nilai A berkurang 5 (lima)
7
c Tombol OP ldquoRrdquo ditekan Seven segment Operator menyala ldquo000rdquo sevensegment A tetap
Tombol OP ldquoBrdquo ditekan Seven segment Operator menampilkan nilai GrupB
a Tombol OP ldquo+rdquo ditekan Nilai B bertambah 10 (sepuluh)b Tombol OP ldquo-ldquo ditekan Nilai B berkurang 5 (lima)
8
c Tombol OP ldquoRrdquo ditekan Seven segment Operator menyala ldquo000rdquo sevensegment B tetap
Tombol OP ldquoCrdquo ditekan Seven segment Operator menampilkan nilai GrupC
a Tombol OP ldquo+rdquo ditekan Nilai C bertambah 10 (sepuluh)b Tombol OP ldquo-ldquo ditekan Nilai C berkurang 5 (lima)
9
c Tombol OP ldquoRrdquo ditekan Seven segment Operator menyala ldquo000rdquo sevensegment C tetap
10 Tombol Operator ldquoArdquo dan ldquoRrdquo ditekanbersamaan
11 Tombol Operator ldquoBrdquo dan ldquoRrdquo ditekanbersamaan
12 Tombol Operator ldquoCrdquo dan ldquoRrdquo ditekanbersamaan
Nilai semua grup di-reset kembali menjadi nolSeven segment Penampil menyala ldquo000rdquoSeven segment Operator menyala ldquo000rdquo
53
Lampiran 9 Datasheet Mikrokontroler ATmega16
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
46
Lampiran 4 Layout PCB rangkaian Penampil Grup A
47
Lampiran 5 Layout PCB rangkaian Penampil Grup B
48
Lampiran 6 Layout PCB rangkaian Penampil Grup C
49
Lampiran 7 Listing Program Pengatur Tombol Kuis berbasis Mikrokontroler Atmega16
include ltmega16hgtinclude ltdelayhgtvoid main(void) int AA1A2A3BB1B2B3CC1C2C3PP1P2P3K
DDRA=0xFFDDRB=0b00001000DDRC=0xFFDDRD=0b11000000PORTA=0xFFPORTB=0xFFPORTC=0xFFPORTD=0xFFP=A=B=C=0A1=A2=A3=0B1=B2=B3=0C1=C2=C3=0K=0ACSR=0x80SFIOR=0x00asm (nop)while (1) if(K==0)
if(PINB0==0)K=1else if(PINB1==0)K=2else if(PINB2==0)K=3
else if(K==1) PORTB=0b11110110
delay_us(450)PORTB=0xFFPORTC=0b11111011delay_us(550)
else if(K==2) PORTB=0b11110101
delay_us(550)PORTB=0xFFPORTC=0b11110111delay_us(450)
else if(K==3) PORTB=0b11110011
delay_us(500)PORTB=0xFFPORTC=0b01111111delay_us(500)
if(PIND1==0)P=1P1=A1P2=A2P3=A3if(PIND0==0)P=2P1=B1P2=B2P3=B3if(PIND2==0)P=3P1=C1P2=C2P3=C3if(PIND4==0)P=P1=P2=P3=K=0if((PIND1==0ampampPIND4==0)||(PIND0==0ampampPIND4==0)||(PIND2==0ampampPIND4==0))A=B=C=0if(P==1) if(PIND5==0)
A+=10P=0delay_us(1)
if(PIND3==0) A-=5
P=0delay_us(1)if(Alt0) A=0
delay_us(1)A1=A10A2=((A-A1)10)10A3=(A-10A2-A1)100delay_us(1)P1=A1P2=A2P3=A3
if(P==2) if(PIND5==0)
B+=10P=0delay_us(1)
if(PIND3==0) B-=5
P=0delay_us(1)if(Blt0) B=0
delay_us(1)
50
B1=B10B2=((B-B1)10)10B3=(B-10B2-B1)100delay_us(1)P1=B1P2=B2P3=B3
if(P==3) if(PIND5==0)
C+=10P=0delay_us(1)
if(PIND3==0) C-=5
P=0delay_us(1)if(Clt0) C=0
delay_us(1)C1=C10C2=((C-C1)10)10C3=(C-10C2-C1)100delay_us(1)P1=C1P2=C2P3=C3
PORTC=0b11101011delay_us(1)PORTA=A3delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b10111011delay_us(1)PORTA=A2delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b10101011delay_us(1)PORTA=A1delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b11100111delay_us(1)PORTA=B3delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b10110111delay_us(1)PORTA=B2delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b10100111delay_us(1)PORTA=B1delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b01101111delay_us(1)PORTA=C3delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b00111111delay_us(1)PORTA=C2delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b00101111delay_us(1)PORTA=C1delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b11111101delay_us(1)PORTA=P3
51
delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b11111110delay_us(1)PORTA=P2delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b11111100delay_us(1)PORTA=P1delay_us(50)PORTC=0xFFdelay_us(1)
52
Lampiran 8 Hasil Pengujian Tombol Kuis Berbasis Mikrokontroler ATmega16
No Kriteria Pengujian Hasil Pengamatan1 Sistem minimum diberi tegangan 12 volt
DCLED menyala
2 Operator dihubungkan Seven segment Operator menyala ldquo000rdquo3 Penampil dihubungkan Seven segment Penampil menyala ldquo000rdquo
a Tombol Grup A ditekan Seven segment Grup A menyalaBuzzer hidup
4
b Tombol OP ldquoRrdquo ditekan Seven segment Grup A matiBuzzer mati
a Tombol Grup B ditekan Seven segment Grup B menyalaBuzzer hidup
5
b Tombol OP ldquoRrdquo ditekan Seven segment Grup B matiBuzzer mati
a Tombol Grup C ditekan Seven segment Grup C menyalaBuzzer hidup
6
b Tombol OP ldquoRrdquo ditekan Seven segment Grup C matiBuzzer mati
Tombol OP ldquoArdquo ditekan Seven segment Operator menampilkan nilai GrupA
a Tombol OP ldquo+rdquo ditekan Nilai A bertambah 10 (sepuluh)b Tombol OP ldquo-ldquo ditekan Nilai A berkurang 5 (lima)
7
c Tombol OP ldquoRrdquo ditekan Seven segment Operator menyala ldquo000rdquo sevensegment A tetap
Tombol OP ldquoBrdquo ditekan Seven segment Operator menampilkan nilai GrupB
a Tombol OP ldquo+rdquo ditekan Nilai B bertambah 10 (sepuluh)b Tombol OP ldquo-ldquo ditekan Nilai B berkurang 5 (lima)
8
c Tombol OP ldquoRrdquo ditekan Seven segment Operator menyala ldquo000rdquo sevensegment B tetap
Tombol OP ldquoCrdquo ditekan Seven segment Operator menampilkan nilai GrupC
a Tombol OP ldquo+rdquo ditekan Nilai C bertambah 10 (sepuluh)b Tombol OP ldquo-ldquo ditekan Nilai C berkurang 5 (lima)
9
c Tombol OP ldquoRrdquo ditekan Seven segment Operator menyala ldquo000rdquo sevensegment C tetap
10 Tombol Operator ldquoArdquo dan ldquoRrdquo ditekanbersamaan
11 Tombol Operator ldquoBrdquo dan ldquoRrdquo ditekanbersamaan
12 Tombol Operator ldquoCrdquo dan ldquoRrdquo ditekanbersamaan
Nilai semua grup di-reset kembali menjadi nolSeven segment Penampil menyala ldquo000rdquoSeven segment Operator menyala ldquo000rdquo
53
Lampiran 9 Datasheet Mikrokontroler ATmega16
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
47
Lampiran 5 Layout PCB rangkaian Penampil Grup B
48
Lampiran 6 Layout PCB rangkaian Penampil Grup C
49
Lampiran 7 Listing Program Pengatur Tombol Kuis berbasis Mikrokontroler Atmega16
include ltmega16hgtinclude ltdelayhgtvoid main(void) int AA1A2A3BB1B2B3CC1C2C3PP1P2P3K
DDRA=0xFFDDRB=0b00001000DDRC=0xFFDDRD=0b11000000PORTA=0xFFPORTB=0xFFPORTC=0xFFPORTD=0xFFP=A=B=C=0A1=A2=A3=0B1=B2=B3=0C1=C2=C3=0K=0ACSR=0x80SFIOR=0x00asm (nop)while (1) if(K==0)
if(PINB0==0)K=1else if(PINB1==0)K=2else if(PINB2==0)K=3
else if(K==1) PORTB=0b11110110
delay_us(450)PORTB=0xFFPORTC=0b11111011delay_us(550)
else if(K==2) PORTB=0b11110101
delay_us(550)PORTB=0xFFPORTC=0b11110111delay_us(450)
else if(K==3) PORTB=0b11110011
delay_us(500)PORTB=0xFFPORTC=0b01111111delay_us(500)
if(PIND1==0)P=1P1=A1P2=A2P3=A3if(PIND0==0)P=2P1=B1P2=B2P3=B3if(PIND2==0)P=3P1=C1P2=C2P3=C3if(PIND4==0)P=P1=P2=P3=K=0if((PIND1==0ampampPIND4==0)||(PIND0==0ampampPIND4==0)||(PIND2==0ampampPIND4==0))A=B=C=0if(P==1) if(PIND5==0)
A+=10P=0delay_us(1)
if(PIND3==0) A-=5
P=0delay_us(1)if(Alt0) A=0
delay_us(1)A1=A10A2=((A-A1)10)10A3=(A-10A2-A1)100delay_us(1)P1=A1P2=A2P3=A3
if(P==2) if(PIND5==0)
B+=10P=0delay_us(1)
if(PIND3==0) B-=5
P=0delay_us(1)if(Blt0) B=0
delay_us(1)
50
B1=B10B2=((B-B1)10)10B3=(B-10B2-B1)100delay_us(1)P1=B1P2=B2P3=B3
if(P==3) if(PIND5==0)
C+=10P=0delay_us(1)
if(PIND3==0) C-=5
P=0delay_us(1)if(Clt0) C=0
delay_us(1)C1=C10C2=((C-C1)10)10C3=(C-10C2-C1)100delay_us(1)P1=C1P2=C2P3=C3
PORTC=0b11101011delay_us(1)PORTA=A3delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b10111011delay_us(1)PORTA=A2delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b10101011delay_us(1)PORTA=A1delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b11100111delay_us(1)PORTA=B3delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b10110111delay_us(1)PORTA=B2delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b10100111delay_us(1)PORTA=B1delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b01101111delay_us(1)PORTA=C3delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b00111111delay_us(1)PORTA=C2delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b00101111delay_us(1)PORTA=C1delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b11111101delay_us(1)PORTA=P3
51
delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b11111110delay_us(1)PORTA=P2delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b11111100delay_us(1)PORTA=P1delay_us(50)PORTC=0xFFdelay_us(1)
52
Lampiran 8 Hasil Pengujian Tombol Kuis Berbasis Mikrokontroler ATmega16
No Kriteria Pengujian Hasil Pengamatan1 Sistem minimum diberi tegangan 12 volt
DCLED menyala
2 Operator dihubungkan Seven segment Operator menyala ldquo000rdquo3 Penampil dihubungkan Seven segment Penampil menyala ldquo000rdquo
a Tombol Grup A ditekan Seven segment Grup A menyalaBuzzer hidup
4
b Tombol OP ldquoRrdquo ditekan Seven segment Grup A matiBuzzer mati
a Tombol Grup B ditekan Seven segment Grup B menyalaBuzzer hidup
5
b Tombol OP ldquoRrdquo ditekan Seven segment Grup B matiBuzzer mati
a Tombol Grup C ditekan Seven segment Grup C menyalaBuzzer hidup
6
b Tombol OP ldquoRrdquo ditekan Seven segment Grup C matiBuzzer mati
Tombol OP ldquoArdquo ditekan Seven segment Operator menampilkan nilai GrupA
a Tombol OP ldquo+rdquo ditekan Nilai A bertambah 10 (sepuluh)b Tombol OP ldquo-ldquo ditekan Nilai A berkurang 5 (lima)
7
c Tombol OP ldquoRrdquo ditekan Seven segment Operator menyala ldquo000rdquo sevensegment A tetap
Tombol OP ldquoBrdquo ditekan Seven segment Operator menampilkan nilai GrupB
a Tombol OP ldquo+rdquo ditekan Nilai B bertambah 10 (sepuluh)b Tombol OP ldquo-ldquo ditekan Nilai B berkurang 5 (lima)
8
c Tombol OP ldquoRrdquo ditekan Seven segment Operator menyala ldquo000rdquo sevensegment B tetap
Tombol OP ldquoCrdquo ditekan Seven segment Operator menampilkan nilai GrupC
a Tombol OP ldquo+rdquo ditekan Nilai C bertambah 10 (sepuluh)b Tombol OP ldquo-ldquo ditekan Nilai C berkurang 5 (lima)
9
c Tombol OP ldquoRrdquo ditekan Seven segment Operator menyala ldquo000rdquo sevensegment C tetap
10 Tombol Operator ldquoArdquo dan ldquoRrdquo ditekanbersamaan
11 Tombol Operator ldquoBrdquo dan ldquoRrdquo ditekanbersamaan
12 Tombol Operator ldquoCrdquo dan ldquoRrdquo ditekanbersamaan
Nilai semua grup di-reset kembali menjadi nolSeven segment Penampil menyala ldquo000rdquoSeven segment Operator menyala ldquo000rdquo
53
Lampiran 9 Datasheet Mikrokontroler ATmega16
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
48
Lampiran 6 Layout PCB rangkaian Penampil Grup C
49
Lampiran 7 Listing Program Pengatur Tombol Kuis berbasis Mikrokontroler Atmega16
include ltmega16hgtinclude ltdelayhgtvoid main(void) int AA1A2A3BB1B2B3CC1C2C3PP1P2P3K
DDRA=0xFFDDRB=0b00001000DDRC=0xFFDDRD=0b11000000PORTA=0xFFPORTB=0xFFPORTC=0xFFPORTD=0xFFP=A=B=C=0A1=A2=A3=0B1=B2=B3=0C1=C2=C3=0K=0ACSR=0x80SFIOR=0x00asm (nop)while (1) if(K==0)
if(PINB0==0)K=1else if(PINB1==0)K=2else if(PINB2==0)K=3
else if(K==1) PORTB=0b11110110
delay_us(450)PORTB=0xFFPORTC=0b11111011delay_us(550)
else if(K==2) PORTB=0b11110101
delay_us(550)PORTB=0xFFPORTC=0b11110111delay_us(450)
else if(K==3) PORTB=0b11110011
delay_us(500)PORTB=0xFFPORTC=0b01111111delay_us(500)
if(PIND1==0)P=1P1=A1P2=A2P3=A3if(PIND0==0)P=2P1=B1P2=B2P3=B3if(PIND2==0)P=3P1=C1P2=C2P3=C3if(PIND4==0)P=P1=P2=P3=K=0if((PIND1==0ampampPIND4==0)||(PIND0==0ampampPIND4==0)||(PIND2==0ampampPIND4==0))A=B=C=0if(P==1) if(PIND5==0)
A+=10P=0delay_us(1)
if(PIND3==0) A-=5
P=0delay_us(1)if(Alt0) A=0
delay_us(1)A1=A10A2=((A-A1)10)10A3=(A-10A2-A1)100delay_us(1)P1=A1P2=A2P3=A3
if(P==2) if(PIND5==0)
B+=10P=0delay_us(1)
if(PIND3==0) B-=5
P=0delay_us(1)if(Blt0) B=0
delay_us(1)
50
B1=B10B2=((B-B1)10)10B3=(B-10B2-B1)100delay_us(1)P1=B1P2=B2P3=B3
if(P==3) if(PIND5==0)
C+=10P=0delay_us(1)
if(PIND3==0) C-=5
P=0delay_us(1)if(Clt0) C=0
delay_us(1)C1=C10C2=((C-C1)10)10C3=(C-10C2-C1)100delay_us(1)P1=C1P2=C2P3=C3
PORTC=0b11101011delay_us(1)PORTA=A3delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b10111011delay_us(1)PORTA=A2delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b10101011delay_us(1)PORTA=A1delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b11100111delay_us(1)PORTA=B3delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b10110111delay_us(1)PORTA=B2delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b10100111delay_us(1)PORTA=B1delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b01101111delay_us(1)PORTA=C3delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b00111111delay_us(1)PORTA=C2delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b00101111delay_us(1)PORTA=C1delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b11111101delay_us(1)PORTA=P3
51
delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b11111110delay_us(1)PORTA=P2delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b11111100delay_us(1)PORTA=P1delay_us(50)PORTC=0xFFdelay_us(1)
52
Lampiran 8 Hasil Pengujian Tombol Kuis Berbasis Mikrokontroler ATmega16
No Kriteria Pengujian Hasil Pengamatan1 Sistem minimum diberi tegangan 12 volt
DCLED menyala
2 Operator dihubungkan Seven segment Operator menyala ldquo000rdquo3 Penampil dihubungkan Seven segment Penampil menyala ldquo000rdquo
a Tombol Grup A ditekan Seven segment Grup A menyalaBuzzer hidup
4
b Tombol OP ldquoRrdquo ditekan Seven segment Grup A matiBuzzer mati
a Tombol Grup B ditekan Seven segment Grup B menyalaBuzzer hidup
5
b Tombol OP ldquoRrdquo ditekan Seven segment Grup B matiBuzzer mati
a Tombol Grup C ditekan Seven segment Grup C menyalaBuzzer hidup
6
b Tombol OP ldquoRrdquo ditekan Seven segment Grup C matiBuzzer mati
Tombol OP ldquoArdquo ditekan Seven segment Operator menampilkan nilai GrupA
a Tombol OP ldquo+rdquo ditekan Nilai A bertambah 10 (sepuluh)b Tombol OP ldquo-ldquo ditekan Nilai A berkurang 5 (lima)
7
c Tombol OP ldquoRrdquo ditekan Seven segment Operator menyala ldquo000rdquo sevensegment A tetap
Tombol OP ldquoBrdquo ditekan Seven segment Operator menampilkan nilai GrupB
a Tombol OP ldquo+rdquo ditekan Nilai B bertambah 10 (sepuluh)b Tombol OP ldquo-ldquo ditekan Nilai B berkurang 5 (lima)
8
c Tombol OP ldquoRrdquo ditekan Seven segment Operator menyala ldquo000rdquo sevensegment B tetap
Tombol OP ldquoCrdquo ditekan Seven segment Operator menampilkan nilai GrupC
a Tombol OP ldquo+rdquo ditekan Nilai C bertambah 10 (sepuluh)b Tombol OP ldquo-ldquo ditekan Nilai C berkurang 5 (lima)
9
c Tombol OP ldquoRrdquo ditekan Seven segment Operator menyala ldquo000rdquo sevensegment C tetap
10 Tombol Operator ldquoArdquo dan ldquoRrdquo ditekanbersamaan
11 Tombol Operator ldquoBrdquo dan ldquoRrdquo ditekanbersamaan
12 Tombol Operator ldquoCrdquo dan ldquoRrdquo ditekanbersamaan
Nilai semua grup di-reset kembali menjadi nolSeven segment Penampil menyala ldquo000rdquoSeven segment Operator menyala ldquo000rdquo
53
Lampiran 9 Datasheet Mikrokontroler ATmega16
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
49
Lampiran 7 Listing Program Pengatur Tombol Kuis berbasis Mikrokontroler Atmega16
include ltmega16hgtinclude ltdelayhgtvoid main(void) int AA1A2A3BB1B2B3CC1C2C3PP1P2P3K
DDRA=0xFFDDRB=0b00001000DDRC=0xFFDDRD=0b11000000PORTA=0xFFPORTB=0xFFPORTC=0xFFPORTD=0xFFP=A=B=C=0A1=A2=A3=0B1=B2=B3=0C1=C2=C3=0K=0ACSR=0x80SFIOR=0x00asm (nop)while (1) if(K==0)
if(PINB0==0)K=1else if(PINB1==0)K=2else if(PINB2==0)K=3
else if(K==1) PORTB=0b11110110
delay_us(450)PORTB=0xFFPORTC=0b11111011delay_us(550)
else if(K==2) PORTB=0b11110101
delay_us(550)PORTB=0xFFPORTC=0b11110111delay_us(450)
else if(K==3) PORTB=0b11110011
delay_us(500)PORTB=0xFFPORTC=0b01111111delay_us(500)
if(PIND1==0)P=1P1=A1P2=A2P3=A3if(PIND0==0)P=2P1=B1P2=B2P3=B3if(PIND2==0)P=3P1=C1P2=C2P3=C3if(PIND4==0)P=P1=P2=P3=K=0if((PIND1==0ampampPIND4==0)||(PIND0==0ampampPIND4==0)||(PIND2==0ampampPIND4==0))A=B=C=0if(P==1) if(PIND5==0)
A+=10P=0delay_us(1)
if(PIND3==0) A-=5
P=0delay_us(1)if(Alt0) A=0
delay_us(1)A1=A10A2=((A-A1)10)10A3=(A-10A2-A1)100delay_us(1)P1=A1P2=A2P3=A3
if(P==2) if(PIND5==0)
B+=10P=0delay_us(1)
if(PIND3==0) B-=5
P=0delay_us(1)if(Blt0) B=0
delay_us(1)
50
B1=B10B2=((B-B1)10)10B3=(B-10B2-B1)100delay_us(1)P1=B1P2=B2P3=B3
if(P==3) if(PIND5==0)
C+=10P=0delay_us(1)
if(PIND3==0) C-=5
P=0delay_us(1)if(Clt0) C=0
delay_us(1)C1=C10C2=((C-C1)10)10C3=(C-10C2-C1)100delay_us(1)P1=C1P2=C2P3=C3
PORTC=0b11101011delay_us(1)PORTA=A3delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b10111011delay_us(1)PORTA=A2delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b10101011delay_us(1)PORTA=A1delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b11100111delay_us(1)PORTA=B3delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b10110111delay_us(1)PORTA=B2delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b10100111delay_us(1)PORTA=B1delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b01101111delay_us(1)PORTA=C3delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b00111111delay_us(1)PORTA=C2delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b00101111delay_us(1)PORTA=C1delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b11111101delay_us(1)PORTA=P3
51
delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b11111110delay_us(1)PORTA=P2delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b11111100delay_us(1)PORTA=P1delay_us(50)PORTC=0xFFdelay_us(1)
52
Lampiran 8 Hasil Pengujian Tombol Kuis Berbasis Mikrokontroler ATmega16
No Kriteria Pengujian Hasil Pengamatan1 Sistem minimum diberi tegangan 12 volt
DCLED menyala
2 Operator dihubungkan Seven segment Operator menyala ldquo000rdquo3 Penampil dihubungkan Seven segment Penampil menyala ldquo000rdquo
a Tombol Grup A ditekan Seven segment Grup A menyalaBuzzer hidup
4
b Tombol OP ldquoRrdquo ditekan Seven segment Grup A matiBuzzer mati
a Tombol Grup B ditekan Seven segment Grup B menyalaBuzzer hidup
5
b Tombol OP ldquoRrdquo ditekan Seven segment Grup B matiBuzzer mati
a Tombol Grup C ditekan Seven segment Grup C menyalaBuzzer hidup
6
b Tombol OP ldquoRrdquo ditekan Seven segment Grup C matiBuzzer mati
Tombol OP ldquoArdquo ditekan Seven segment Operator menampilkan nilai GrupA
a Tombol OP ldquo+rdquo ditekan Nilai A bertambah 10 (sepuluh)b Tombol OP ldquo-ldquo ditekan Nilai A berkurang 5 (lima)
7
c Tombol OP ldquoRrdquo ditekan Seven segment Operator menyala ldquo000rdquo sevensegment A tetap
Tombol OP ldquoBrdquo ditekan Seven segment Operator menampilkan nilai GrupB
a Tombol OP ldquo+rdquo ditekan Nilai B bertambah 10 (sepuluh)b Tombol OP ldquo-ldquo ditekan Nilai B berkurang 5 (lima)
8
c Tombol OP ldquoRrdquo ditekan Seven segment Operator menyala ldquo000rdquo sevensegment B tetap
Tombol OP ldquoCrdquo ditekan Seven segment Operator menampilkan nilai GrupC
a Tombol OP ldquo+rdquo ditekan Nilai C bertambah 10 (sepuluh)b Tombol OP ldquo-ldquo ditekan Nilai C berkurang 5 (lima)
9
c Tombol OP ldquoRrdquo ditekan Seven segment Operator menyala ldquo000rdquo sevensegment C tetap
10 Tombol Operator ldquoArdquo dan ldquoRrdquo ditekanbersamaan
11 Tombol Operator ldquoBrdquo dan ldquoRrdquo ditekanbersamaan
12 Tombol Operator ldquoCrdquo dan ldquoRrdquo ditekanbersamaan
Nilai semua grup di-reset kembali menjadi nolSeven segment Penampil menyala ldquo000rdquoSeven segment Operator menyala ldquo000rdquo
53
Lampiran 9 Datasheet Mikrokontroler ATmega16
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
50
B1=B10B2=((B-B1)10)10B3=(B-10B2-B1)100delay_us(1)P1=B1P2=B2P3=B3
if(P==3) if(PIND5==0)
C+=10P=0delay_us(1)
if(PIND3==0) C-=5
P=0delay_us(1)if(Clt0) C=0
delay_us(1)C1=C10C2=((C-C1)10)10C3=(C-10C2-C1)100delay_us(1)P1=C1P2=C2P3=C3
PORTC=0b11101011delay_us(1)PORTA=A3delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b10111011delay_us(1)PORTA=A2delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b10101011delay_us(1)PORTA=A1delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b11100111delay_us(1)PORTA=B3delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b10110111delay_us(1)PORTA=B2delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b10100111delay_us(1)PORTA=B1delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b01101111delay_us(1)PORTA=C3delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b00111111delay_us(1)PORTA=C2delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b00101111delay_us(1)PORTA=C1delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b11111101delay_us(1)PORTA=P3
51
delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b11111110delay_us(1)PORTA=P2delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b11111100delay_us(1)PORTA=P1delay_us(50)PORTC=0xFFdelay_us(1)
52
Lampiran 8 Hasil Pengujian Tombol Kuis Berbasis Mikrokontroler ATmega16
No Kriteria Pengujian Hasil Pengamatan1 Sistem minimum diberi tegangan 12 volt
DCLED menyala
2 Operator dihubungkan Seven segment Operator menyala ldquo000rdquo3 Penampil dihubungkan Seven segment Penampil menyala ldquo000rdquo
a Tombol Grup A ditekan Seven segment Grup A menyalaBuzzer hidup
4
b Tombol OP ldquoRrdquo ditekan Seven segment Grup A matiBuzzer mati
a Tombol Grup B ditekan Seven segment Grup B menyalaBuzzer hidup
5
b Tombol OP ldquoRrdquo ditekan Seven segment Grup B matiBuzzer mati
a Tombol Grup C ditekan Seven segment Grup C menyalaBuzzer hidup
6
b Tombol OP ldquoRrdquo ditekan Seven segment Grup C matiBuzzer mati
Tombol OP ldquoArdquo ditekan Seven segment Operator menampilkan nilai GrupA
a Tombol OP ldquo+rdquo ditekan Nilai A bertambah 10 (sepuluh)b Tombol OP ldquo-ldquo ditekan Nilai A berkurang 5 (lima)
7
c Tombol OP ldquoRrdquo ditekan Seven segment Operator menyala ldquo000rdquo sevensegment A tetap
Tombol OP ldquoBrdquo ditekan Seven segment Operator menampilkan nilai GrupB
a Tombol OP ldquo+rdquo ditekan Nilai B bertambah 10 (sepuluh)b Tombol OP ldquo-ldquo ditekan Nilai B berkurang 5 (lima)
8
c Tombol OP ldquoRrdquo ditekan Seven segment Operator menyala ldquo000rdquo sevensegment B tetap
Tombol OP ldquoCrdquo ditekan Seven segment Operator menampilkan nilai GrupC
a Tombol OP ldquo+rdquo ditekan Nilai C bertambah 10 (sepuluh)b Tombol OP ldquo-ldquo ditekan Nilai C berkurang 5 (lima)
9
c Tombol OP ldquoRrdquo ditekan Seven segment Operator menyala ldquo000rdquo sevensegment C tetap
10 Tombol Operator ldquoArdquo dan ldquoRrdquo ditekanbersamaan
11 Tombol Operator ldquoBrdquo dan ldquoRrdquo ditekanbersamaan
12 Tombol Operator ldquoCrdquo dan ldquoRrdquo ditekanbersamaan
Nilai semua grup di-reset kembali menjadi nolSeven segment Penampil menyala ldquo000rdquoSeven segment Operator menyala ldquo000rdquo
53
Lampiran 9 Datasheet Mikrokontroler ATmega16
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
51
delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b11111110delay_us(1)PORTA=P2delay_us(50)PORTC=0xFFdelay_us(1)PORTC=0b11111100delay_us(1)PORTA=P1delay_us(50)PORTC=0xFFdelay_us(1)
52
Lampiran 8 Hasil Pengujian Tombol Kuis Berbasis Mikrokontroler ATmega16
No Kriteria Pengujian Hasil Pengamatan1 Sistem minimum diberi tegangan 12 volt
DCLED menyala
2 Operator dihubungkan Seven segment Operator menyala ldquo000rdquo3 Penampil dihubungkan Seven segment Penampil menyala ldquo000rdquo
a Tombol Grup A ditekan Seven segment Grup A menyalaBuzzer hidup
4
b Tombol OP ldquoRrdquo ditekan Seven segment Grup A matiBuzzer mati
a Tombol Grup B ditekan Seven segment Grup B menyalaBuzzer hidup
5
b Tombol OP ldquoRrdquo ditekan Seven segment Grup B matiBuzzer mati
a Tombol Grup C ditekan Seven segment Grup C menyalaBuzzer hidup
6
b Tombol OP ldquoRrdquo ditekan Seven segment Grup C matiBuzzer mati
Tombol OP ldquoArdquo ditekan Seven segment Operator menampilkan nilai GrupA
a Tombol OP ldquo+rdquo ditekan Nilai A bertambah 10 (sepuluh)b Tombol OP ldquo-ldquo ditekan Nilai A berkurang 5 (lima)
7
c Tombol OP ldquoRrdquo ditekan Seven segment Operator menyala ldquo000rdquo sevensegment A tetap
Tombol OP ldquoBrdquo ditekan Seven segment Operator menampilkan nilai GrupB
a Tombol OP ldquo+rdquo ditekan Nilai B bertambah 10 (sepuluh)b Tombol OP ldquo-ldquo ditekan Nilai B berkurang 5 (lima)
8
c Tombol OP ldquoRrdquo ditekan Seven segment Operator menyala ldquo000rdquo sevensegment B tetap
Tombol OP ldquoCrdquo ditekan Seven segment Operator menampilkan nilai GrupC
a Tombol OP ldquo+rdquo ditekan Nilai C bertambah 10 (sepuluh)b Tombol OP ldquo-ldquo ditekan Nilai C berkurang 5 (lima)
9
c Tombol OP ldquoRrdquo ditekan Seven segment Operator menyala ldquo000rdquo sevensegment C tetap
10 Tombol Operator ldquoArdquo dan ldquoRrdquo ditekanbersamaan
11 Tombol Operator ldquoBrdquo dan ldquoRrdquo ditekanbersamaan
12 Tombol Operator ldquoCrdquo dan ldquoRrdquo ditekanbersamaan
Nilai semua grup di-reset kembali menjadi nolSeven segment Penampil menyala ldquo000rdquoSeven segment Operator menyala ldquo000rdquo
53
Lampiran 9 Datasheet Mikrokontroler ATmega16
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
52
Lampiran 8 Hasil Pengujian Tombol Kuis Berbasis Mikrokontroler ATmega16
No Kriteria Pengujian Hasil Pengamatan1 Sistem minimum diberi tegangan 12 volt
DCLED menyala
2 Operator dihubungkan Seven segment Operator menyala ldquo000rdquo3 Penampil dihubungkan Seven segment Penampil menyala ldquo000rdquo
a Tombol Grup A ditekan Seven segment Grup A menyalaBuzzer hidup
4
b Tombol OP ldquoRrdquo ditekan Seven segment Grup A matiBuzzer mati
a Tombol Grup B ditekan Seven segment Grup B menyalaBuzzer hidup
5
b Tombol OP ldquoRrdquo ditekan Seven segment Grup B matiBuzzer mati
a Tombol Grup C ditekan Seven segment Grup C menyalaBuzzer hidup
6
b Tombol OP ldquoRrdquo ditekan Seven segment Grup C matiBuzzer mati
Tombol OP ldquoArdquo ditekan Seven segment Operator menampilkan nilai GrupA
a Tombol OP ldquo+rdquo ditekan Nilai A bertambah 10 (sepuluh)b Tombol OP ldquo-ldquo ditekan Nilai A berkurang 5 (lima)
7
c Tombol OP ldquoRrdquo ditekan Seven segment Operator menyala ldquo000rdquo sevensegment A tetap
Tombol OP ldquoBrdquo ditekan Seven segment Operator menampilkan nilai GrupB
a Tombol OP ldquo+rdquo ditekan Nilai B bertambah 10 (sepuluh)b Tombol OP ldquo-ldquo ditekan Nilai B berkurang 5 (lima)
8
c Tombol OP ldquoRrdquo ditekan Seven segment Operator menyala ldquo000rdquo sevensegment B tetap
Tombol OP ldquoCrdquo ditekan Seven segment Operator menampilkan nilai GrupC
a Tombol OP ldquo+rdquo ditekan Nilai C bertambah 10 (sepuluh)b Tombol OP ldquo-ldquo ditekan Nilai C berkurang 5 (lima)
9
c Tombol OP ldquoRrdquo ditekan Seven segment Operator menyala ldquo000rdquo sevensegment C tetap
10 Tombol Operator ldquoArdquo dan ldquoRrdquo ditekanbersamaan
11 Tombol Operator ldquoBrdquo dan ldquoRrdquo ditekanbersamaan
12 Tombol Operator ldquoCrdquo dan ldquoRrdquo ditekanbersamaan
Nilai semua grup di-reset kembali menjadi nolSeven segment Penampil menyala ldquo000rdquoSeven segment Operator menyala ldquo000rdquo
53
Lampiran 9 Datasheet Mikrokontroler ATmega16
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
53
Lampiran 9 Datasheet Mikrokontroler ATmega16
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
60
61
62
63
64
65
66
67
68
69
70
71
72
73
61
62
63
64
65
66
67
68
69
70
71
72
73
62
63
64
65
66
67
68
69
70
71
72
73
63
64
65
66
67
68
69
70
71
72
73
64
65
66
67
68
69
70
71
72
73
65
66
67
68
69
70
71
72
73
66
67
68
69
70
71
72
73
67
68
69
70
71
72
73
68
69
70
71
72
73
69
70
71
72
73
70
71
72
73
71
72
73
72
73
73