arus yang diperlukan untuk menyalurkan ke pengendali 7-segment yaitu mikrokontroler adalah hasil jumlah dari arus seluruh titik. Sehingga total arus pada 7-segment menyala
semua adalah: Arus dalam satu titik = 15 mA
Arus dalam satu 7-segment 8 buah aktifmenyala = 15 x 8 = 120 mA. Sehingga apabila arus yang mengalirkan ke mikrokontroler sebesar 120 mA, maka
mikrokontroler akan mengalami drop tegangan dan tentu saja arus sebesar 120 mA tidak diperbolehkan mengalir langsung ke mikrokontroler yang hanya mampu mengalirkan arus
maksimal sebesar 20 mA. maka diperlukan sebuah driver 7-segment yang berfungsi untuk menyalurkan arus yang lebih besar.
4.1.5 Pengujian Rangkaian Display 7-Segment
Pengetesan ini bertujuan untuk mengetahui apakah 7-segment tersebut dapat menampilkan hidup sesuai dengan proses yang diharapkan. Listing program Pengetesan 7-
segment: void_mainvoid
{ PORTC=0x10;
PORTD =0x10; }
Universitas Sumatera Utara
Jika program ini dijalankan, maka pada seven segment akan menghidupkan led pada seven segment sehingga akan memunculkan bilangan angka digit “8” dan dapat dikatakan bahwa
seven segment dapat berjalan dengan baik.
4.1.6 Pengujian Rangkaian Keseluruhan
Secara elektronis rangkaian telah bekerja dengan baik, respon dari fotodioda dapat memberikan nilai low apabila tidak mendapat pancaran infra merah dan akan megeluarkan
nilai high apabila mendapat pancaran infra merah. output dari mikrokontroler dapat mengirimkan data ke 7-segment. Tampilan pada 7-segment dapat menampilkan bilangan
digit 0-9
4.1.7 Analisa Program Keseluruhan
Listing program dari rangkain sistem pencacah nilai counter up adalah sebagai berikut:
This program was created by the
CodeWizardAVR V3.04 Evaluation
Automatic Program Generator
© Copyright 1998‐2013 Pavel Haiduc, HP InfoTech s.r.l.
http:www.hpinfotech.com
Project :
Version :
Universitas Sumatera Utara
Date : 07062013
Author :
Company :
Comments:
Chip type : ATmega8535
Program type : Application
AVR Core Clock frequency: 1,000000 MHz
Memory model : Small
External RAM size : 0
Data Stack size : 128
include mega8535.h
include delay.h
Declare your global variables here unsigned
char bil[10]={0x11,0xd7,0x32,0x52,0xd4,0x58,0x18,0xd3,0x10,0x50}; int
a,b; void
mainvoid {
Universitas Sumatera Utara
Declare your local variables here
InputOutput Ports initialization Port A initialization
Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRA=0DDA7
| 0DDA6 | 0DDA5 | 0DDA4 | 0DDA3 | 0DDA2 | 0DDA1
| 0DDA0; State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T
PORTA=0PORTA7 | 0PORTA6 | 0PORTA5 | 0PORTA4 | 0PORTA3 |
0PORTA2 | 0PORTA1 | 0PORTA0;
Port B initialization Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
DDRB=0DDB7 | 0DDB6 | 0DDB5 | 0DDB4 | 0DDB3 | 0DDB2 |
0DDB1 | 0DDB0;
State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTB=0PORTB7
| 0PORTB6 | 0PORTB5 | 0PORTB4 | 0PORTB3 | 0PORTB2
| 0PORTB1 | 0PORTB0;
Port C initialization Function: Bit7=Out Bit6=Out Bit5=Out Bit4=Out Bit3=Out Bit2=Out Bit1=Out Bit0=Out
DDRC=1DDC7 | 1DDC6 | 1DDC5 | 1DDC4 | 1DDC3 | 1DDC2 |
1DDC1 | 1DDC0;
State: Bit7=0 Bit6=0 Bit5=0 Bit4=0 Bit3=0 Bit2=0 Bit1=0 Bit0=0
Universitas Sumatera Utara
PORTC=1PORTC7 | 1PORTC6 | 1PORTC5 | 1PORTC4 | 1PORTC3 |
1PORTC2 | 1PORTC1 | 1PORTC0;
Port D initialization Function: Bit7=Out Bit6=Out Bit5=Out Bit4=Out Bit3=Out Bit2=Out Bit1=Out Bit0=Out
DDRD=1DDD7 | 1DDD6 | 1DDD5 | 1DDD4 | 1DDD3 | 1DDD2 |
1DDD1 | 1DDD0;
State: Bit7=0 Bit6=0 Bit5=0 Bit4=0 Bit3=0 Bit2=0 Bit1=0 Bit0=0 PORTD=0PORTD7
| 0PORTD6 | 0PORTD5 | 0PORTD4 | 0PORTD3 | 0PORTD2
| 0PORTD1 | 0PORTD0;
TimerCounter 0 initialization Clock source: System Clock
Clock value: Timer 0 Stopped Mode: Normal top=0xFF
OC0 output: Disconnected TCCR0=0WGM00
| 0COM01 | 0COM00 | 0WGM01 | 0CS02 | 0CS01 |
0CS00; TCNT0=0x00;
OCR0=0x00;
TimerCounter 1 initialization Clock source: System Clock
Universitas Sumatera Utara
Clock value: Timer1 Stopped Mode: Normal top=0xFFFF
OC1A output: Disconnected OC1B output: Disconnected
Noise Canceler: Off Input Capture on Falling Edge
Timer1 Overflow Interrupt: Off Input Capture Interrupt: Off
Compare A Match Interrupt: Off Compare B Match Interrupt: Off
TCCR1A=0COM1A1 | 0COM1A0 | 0COM1B1 | 0COM1B0 | 0WGM11 |
0WGM10; TCCR1B=0ICNC1
| 0ICES1 | 0WGM13 | 0WGM12 | 0CS12 | 0CS11 | 0CS10;
TCNT1H=0x00; TCNT1L=0x00;
ICR1H=0x00; ICR1L=0x00;
OCR1AH=0x00; OCR1AL=0x00;
OCR1BH=0x00; OCR1BL=0x00;
Universitas Sumatera Utara
TimerCounter 2 initialization Clock source: System Clock
Clock value: Timer2 Stopped Mode: Normal top=0xFF
OC2 output: Disconnected ASSR=0AS2;
TCCR2=0WGM20 | 0COM21 | 0COM20 | 0WGM21 | 0CS22 | 0CS21
| 0CS20;
TCNT2=0x00; OCR2=0x00;
TimersCounters Interrupts initialization TIMSK=0OCIE2
| 0TOIE2 | 0TICIE1 | 0OCIE1A | 0OCIE1B | 0TOIE1 | 0OCIE0
| 0TOIE0;
External Interrupts initialization INT0: Off
INT1: Off INT2: Off
MCUCR=0ISC11 | 0ISC10 | 0ISC01 | 0ISC00;
MCUCSR=0ISC2;
Universitas Sumatera Utara
USART initialization USART disabled
UCSRB=0RXCIE | 0TXCIE | 0UDRIE | 0RXEN | 0TXEN | 0UCSZ2 |
0RXB8 | 0TXB8;
Analog Comparator initialization Analog Comparator: Off
The Analog Comparators positive input is connected to the AIN0 pin
The Analog Comparators negative input is connected to the AIN1 pin
ACSR=1ACD | 0ACBG | 0ACO | 0ACI | 0ACIE | 0ACIC | 0ACIS1 |
0ACIS0; SFIOR=0ACME;
ADC initialization ADC disabled
ADCSRA=0ADEN | 0ADSC | 0ADATE | 0ADIF | 0ADIE | 0ADPS2 |
0ADPS1 | 0ADPS0;
SPI initialization SPI disabled
Universitas Sumatera Utara
SPCR=0SPIE | 0SPE | 0DORD | 0MSTR | 0CPOL | 0CPHA | 0SPR1
| 0SPR0;
TWI initialization TWI disabled
TWCR=0TWEA | 0TWSTA | 0TWSTO | 0TWEN | 0TWIE;
a=0; b=0;
PORTD=bil[b]; PORTC=bil[a];
while 1
{ if PINB.0==0
{while PINB.0==0; delay_ms200;
a++; if a==10
{ b++;
ifb=9 b=9; PORTD=bil[b];
Universitas Sumatera Utara
a=0; }
PORTC=bil[a]; }
if PINB.1==0 {while PINB.0==0;
delay_ms200; a‐‐;
if a==0 {
b‐‐; ifb=0 b=0;
PORTD=bil[b]; a=10;
} PORTC=bil[a];
}
Universitas Sumatera Utara
while a==9 b==9 {
PORTC=bil[a]; PORTD=bil[b];
delay_ms500; PORTC=0xFF;
PORTD=0xFF; delay_ms500;
} }
}
Universitas Sumatera Utara
BAB V KESIMPULAN DAN SARAN
5.1 Kesimpulan