L A M P I R A N - CORE · 2014-01-22 · Layout PCB Rangkaian Sistem Minimum. 45 Lampiran 3. Layout...

Post on 16-Feb-2020

0 views 0 download

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