! "#$%%&'(
! "#$ " % !
)
! & ' ( &
) & ! * ) ! ! &
) ( ) + + ! (
& ! & ! & ) * ) &
& ' ! ! & ' ! & ) ! &
! ! & & ' (
! ! ! ( ! ! ( ! & & , & !
! & ' " ' $ ( ) & ! *
! ! & !
& ! ! & ' $'" ( ) ! ) &
( ! & ( ! & )
! - $ & * &
.$/0 ! & & 1.$/
! ) & ! & + 23
1 ( ! * ! ! ! & ) + ! )
& & & ' ! ! & ' * &
*
* + + * )
! "#$%%&'(
* * * ( 4 (
! "#$ " % !
)
5 * * * 6 & ' & '
* * * & * ( )( + ! * * %
& & ) & ( * * % & !
! * ! * ) & * & ' ! ! & '
& * * ) ! !
% ! & ' ) 7 !
! * ! 8 * * ! & )
& ' "'$ 8 * * & ** ! ( *
& ' 9 : ! * ) & * !
! & ' $'" 8 * ! ) ** & ! & ) & *
* & 7 ! * * - $ 5& *
.$/0 8 & * * 1.$/ !
2 3 ) & * 8
* * ! ! ! 7 ! * 8 8 ! 7
& ' ! ! & ' & * & * ( $# ) &
* !
*
; -1 <= ->-<
1- 1<?- --<
-
1-- 1-4
- - <=-< -1
- -1 % %
;- %1-<
- -1 - ;
- -1 =- -1 '
- % < -> ; -<
% $ ; $
$ 3 %! 3
% @ 3
% " + 3
% ) 3
$ & - @
% / @
- %% - -1 51%
%% $ & "
%% 3 & '
%% @ 5& /
%% @ $ ; & , & ) 5& /
%% @ 3 ) 5& 0
%% @ @ ,+ 5& 0
%% @ " ) 4 ( $$
%% @ 4 ( $3
%% " @ - $ $
%% " @ & ' - $ $/
%% " " - $ $0
- %%% 1-<4-<=-< -< 1 -;% - %
%%% $ ) ! * + 3$
%%% $ $ 4 + 33
%%% 3 3@
%%% 3 $ = 3@
%%% 3 3 & ' 3"
%%% 3 @ & ' 3
%%% @ 5& 3
%%% @ $ .$/0 3
%%% @ 3 1.$/ 3B
%%% " ; 30
%%% " $ - = % & 30
%%% " 3 - & ' @3
%%% " @ - & ' @"
- %A - - <=- - -< < <;%
-%A $ @/
%A $ $ & ' ! & ' @/
%A $ 3 ( ! * ! 5& ""
- A % ;-< -< -1-<
A $ & #
A 3 #
;- %1<
-; 4 ! A = -,$
; 4 ! A & ' C -,$$
; 4 ! A & ' -,$"
;- %1-<
,$
= ! & ' ,3
& ' ,3
) ) 5& ,3
;- %1-< 4
& ) ( CCC 4,$
;- %1-<
.$/0 ,$
* )
) %% $ ) ! 4 ! D C
) %% 3 51 - $"
) %% @ $
) %% " 4 $
) %% $
) %A $ ! * & & $ ) & ! 9 : @/
) %A 3 ! * & & $ ) & ! 9): @B
) %A @ ! * & & $ ) & ! 9*: @B
) %A " ! * & & 3 ) & ! 9 : @B
) %A ! * & & 3 ) & ! 9): @0
) %A ! * & & 3 ) & ! 9*: @0
) %A / ! * & & / ) & ! 9 : @0
) %A B ! * & & / ) & ! 9): "#
) %A 0 ! * & & / ) & ! 9*: "#
) %A $# ! * & & 0 ) & ! 9 : "#
) %A $$ ! * & & 0 ) & ! 9): "$
) %A $3 ! * & & 0 ) & ! 9*: "$
) %A $@ ! * & & $# ) & ! 9 : "$
) %A $" ! * & & $# ) & ! 9): "3
) %A $ ! * & & $# ) & ! 9*: "3
) %A $ ! * & & $$ ) & ! 9 : "3
) %A $/ ! * & & $$ ) & ! 9): "@
* )
= ) %% $ & "
= ) %% 3 & ' ! ! & '
= ) %% @ ; & , & & /
= ) %% " $ 0
= ) %% $#
= ) %% & $#
= ) %% / ) & ! $$
= ) %% B - $ $"
= ) %% 0 - $ $/
= ) %% $#& ' - $ $B
= ) %% $$ - $ $0
= ) %% $3 - $ $0
= ) %%% $ ! ) 3$
= ) %%% 3 ! 3"
= ) %%% @ & ' 3
= ) %%% " ! & ' 3
= ) %%% ) . $/0 3/
= ) %%% . $/0 3/
= ) %%% / ) & 3B
= ) %%% B 1.$/ 3B
= ) %%% 0 ! ! 30
= ) %%% $# ! )& ! @#
= ) %%% $$ ! & ' @3
= ) %%% $3 ! )& & ' @@
= ) %%% $@ ! ! & ' @
= ) %%% $" ! )& ! & ' C @
= ) %A $ & ( ## ""
= ) %A 3 -A1 "
= ) %A ( & ! 1.$/ ! * & 3 ) & ! "
= ) %A / ( & ! .$/0 ! * & 0 ) & ! "/
= ) %A B ( & ! 1.$/ ! * & / ) & ! "/
= ) %A 0 ( & ! .$/0 ! * & $# ) & ! "B
LAMPIRAN A
List Program CodeVision Generato Data...A-1
List Program CodeVision Multiplexer…...A-11
List Program Codevision
Generator Data
/**************************************** *************
This program was produced by the CodeWizardAVR V1.25.3 Professional Automatic Program Generator
© Copyright 1998-2007 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com
Chip type : ATmega16 Program type : Application Clock frequency : 11.059200 MHz Memory model : Small
External SRAM size : 0 Data Stack size : 256
***************************************** ************/
#include <mega16.h> #include <delay.h>
#include <scankeypad_b.h>
// Declare your global variables here
void main(void) {
// Declare your local variables here
// Input/Output Ports initialization // Port A initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTA=0x00; DDRA=0xFF;
// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00; DDRB=0x00;
// Port C initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTC=0x00;
DDRC=0xFF;
// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00; DDRD=0x00;
// Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=FFh // OC0 output: Disconnected TCC0=0x00;
TCNT0=0x00; OCR0=0x00;
// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer 1 Stopped // Mode: Normal top=FFFFh // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off
// Input Capture on Falling Edge // Timer 1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00;
// Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer 2 Stopped // Mode: Normal top=FFh // OC2 output: Disconnected ASSR=0x00;
TCCR2=0x00; TCNT2=0x00; OCR2=0x00;
// External Interrupt(s) initialization // INT0: Off
MCUCR=0x00; MCUCSR=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00;
// Analog Comparator initialization // Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80; SFIOR=0x00; while (1) { key: { switch (scan_keypad()) { case '1': PORTC.6=1; delay_ms(1000); goto in_1; break; case '2': PORTC.6=1; delay_ms(1000); goto in_2; break; case '3': PORTC.6=1; delay_ms(1000); goto in_3; break; case '4': PORTC.5=1; delay_ms(1000); goto in_4; break; case '5': PORTC.5=1; delay_ms(1000); goto in_5; break; case '6': PORTC.5=1; delay_ms(1000); goto in_6; break; case '7': PORTC.4=1; delay_ms(1000); goto in_7; break; case '8': PORTC.4=1; delay_ms(1000); goto in_8; break; case '9': PORTC.4=1; delay_ms(1000); goto in_9; break; case '*': PORTC.3=1; delay_ms(1000); goto in_A; break; case '0': PORTC.3=1; delay_ms(1000); goto in_B; break; case '#': PORTC.3=1; delay_ms(1000); goto in_C; break; }; }
// Place your code here
delay_ms(1000); PORTA=0x06; delay_ms(500); PORTC.7=1; delay_ms(1400); PORTC.7=0; delay_ms(1000); PORTA=0x08; delay_ms(500); PORTC.7=1; delay_ms(1400); PORTC.7=0; delay_ms(1000); PORTA=0x0A; delay_ms(500); PORTC.7=1; delay_ms(1400); PORTC.7=0; delay_ms(1000); PORTA=0x0C; delay_ms(500); PORTC.7=1; delay_ms(1400); PORTC.7=0; delay_ms(1000); PORTA=0x0E; delay_ms(500); PORTC.7=1; delay_ms(1400); PORTC.7=0; delay_ms(1000); if (PIND.1==1) {PORTA=0x00; PORTC.7=0; delay_ms(10); PORTC=0x00; goto key; } } } char scan_keypad(void) { int scankey; char keypressed =0; DDRB = 0x0F;
PORTB = 0xFE; scankey = PINB&0xf0; switch (scankey) {
case 0xE0 : keypressed = '1'; break;
case 0xD0 : keypressed = '2'; break;
case 0xB0 : keypressed = '3'; break;
case 0x70 : keypressed = 'A'; break;
}
PORTB = 0xFD; delay_ms(10); scankey = PINB&0xf0; switch (scankey) {
case 0xE0 : keypressed = '4'; break;
case 0xD0 : keypressed = '5'; break;
case 0xB0 : keypressed = '6'; break;
case 0x70 : keypressed = 'B'; break;
} PORTB = 0xFB; delay_ms(10);
scankey = PINB&0xf0; switch (scankey)
{
case 0xE0 : keypressed = '7'; break;
case 0xD0 : keypressed = '8'; break;
case 0xB0 : keypressed = '9'; break;
case 0x70 : keypressed = 'C'; break;
} PORTB = 0xF7; delay_ms(10);
scankey = PINB&0xf0; switch (scankey)
{
case 0xE0 : keypressed = '*'; break;
case 0xB0 : keypressed = '#'; break;
case 0x70 : keypressed = 'D'; break;
}
return keypressed }
List Program Codevision
Multiplexer
/**************************************** *************
This program was produced by the CodeWizardAVR V1.25.3 Professional Automatic Program Generator
© Copyright 1998-2007 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com
Chip type : ATmega16 Program type : Application Clock frequency : 11.059200 MHz Memory model : Small
External SRAM size : 0 Data Stack size : 256
***************************************** ************/
#include <mega16.h> #include <delay.h> #include <stdio.h>
// Alphanumeric LCD Module functions #asm
.equ __lcd_port=0x15 ;PORTC #endasm
#include <lcd.h>
// Declare your global variables here bit a,b,c,d;
char temp[4];
void main(void) {
// Declare your local variables here
// Input/Output Ports initialization
// Port A initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTA=0x00; DDRA=0xFF;
// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00; DDRB=0x00;
// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00; DDRC=0x00;
// Port D initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=In Func2=In Func1=In Func0=In // State7=0 State6=0 State5=0 State4=0 State3=T State2=T State1=T State0=T
PORTD=0x00; DDRD=0xF0;
// Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=FFh // OC0 output: Disconnected TCCR0=0x00;
TCNT0=0x00; OCR0=0x00;
// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer 1 Stopped // Mode: Normal top=FFFFh // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off
// Input Capture on Falling Edge // Timer 1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00;
TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00;
// Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer 2 Stopped // Mode: Normal top=FFh // OC2 output: Disconnected ASSR=0x00;
TCCR2=0x00; TCNT2=0x00; OCR2=0x00;
// External Interrupt(s) initialization // INT0: Off
// INT1: Off // INT2: Off MCUCR=0x00; MCUCSR=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00;
// Analog Comparator initialization // Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80; SFIOR=0x00;
} else { goto keymux; }; } mux4: { if(PINB.4==1) { a=PINB.0; delay_ms(10); b=PINB.1; delay_ms(10); c=PINB.2; delay_ms(10); d=PINB.3; delay_ms(10); PORTA.0=1; delay_ms(200); PORTA.0=0; delay_ms(200); PORTA.0=1; delay_ms(200); PORTA.0=0; delay_ms(200); PORTA.0=1; delay_ms(130); PORTA.0=a; delay_ms(100); PORTA.0=b; delay_ms(100); PORTA.0=c; delay_ms(100); PORTA.0=d; delay_ms(100); PORTA.0=0; lcd_clear(); sprintf(temp,"%d%d%d%d",d,c,b,a); lcd_gotoxy(6,1); lcd_puts(temp); goto keymux; } else { goto keymux; }; } }
List Program Codevision
Demultiplexer
/**************************************** *************
This program was produced by the CodeWizardAVR V1.25.3 Professional Automatic Program Generator
© Copyright 1998-2007 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com
Chip type : ATmega16 Program type : Application Clock frequency : 11.059200 MHz Memory model : Small
External SRAM size : 0 Data Stack size : 256
***************************************** ************/
#include <mega16.h> #include <delay.h> #include <stdio.h>
// Alphanumeric LCD Module functions #asm
.equ __lcd_port=0x15 ;PORTC #endasm
#include <lcd.h>
// Declare your global variables here
void main(void) {
// Declare your local variables here bit a,b,c,d;
int n;
char demux[4];
// Input/Output Ports initialization // Port A initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTA=0x00; DDRA=0xFF;
// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00; DDRC=0x00;
// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00; DDRD=0x00;
// Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=FFh // OC0 output: Disconnected TCCR0=0x00;
TCNT0=0x00; OCR0=0x00;
// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer 1 Stopped // Mode: Normal top=FFFFh // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off
// Input Capture on Falling Edge // Timer 1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00;
// Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer 2 Stopped // Mode: Normal top=FFh // OC2 output: Disconnected ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00; OCR2=0x00;
// External Interrupt(s) initialization // INT0: Off
// INT1: Off // INT2: Off MCUCR=0x00; MCUCSR=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00;
// Analog Comparator initialization // Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80; SFIOR=0x00;
// LCD module initialization lcd_init(16);
while (1) {
} else //3 { goto ademux; } } else //2 { goto ademux; } } else //1 { goto ademux; } run: if (PIND.0==1) { goto demux1; } if (PIND.1==1) { goto demux2; } if (PIND.2==1) { goto demux3; } if (PIND.3==1) { goto demux4; } }; demux1: lcd_clear(); n=1; while(1) { delay_ms(1200); if (n==1) { PORTA.0=PINB.0; a=PORTA.0; } else { if (n==2) { PORTA.1=PINB.0; b=PORTA.1; } else { if(n==3) { PORTA.2=PINB.0; c=PORTA.2; } else { if(n==4) { PORTA.3=PINB.0; d=PORTA.3; }
else { if (n==2) { PORTA.1=PINB.0; b=PORTA.1; } else { if(n==3) { PORTA.2=PINB.0; c=PORTA.2; } else { if(n==4) { PORTA.3=PINB.0; d=PORTA.3; }
}; //akhir if=3 }; //akhir if=2 }; //akhir if=1 n=n+1; if (n>4) { n=0; delay_ms(5); PORTA=0x00; delay_ms(5); lcd_clear(); sprintf(demux,"%d%d%d%d",d,c,b,a); lcd_gotoxy(6,1); lcd_puts(demux); goto ademux; } } demux3: lcd_clear(); n=1; while(1) { delay_ms(95); if (n==1) { PORTA.0=PINB.0; a=PORTA.0; } else { if (n==2) { PORTA.1=PINB.0; b=PORTA.1; } else { if(n==3) { PORTA.2=PINB.0; c=PORTA.2; } else { if(n==4) { PORTA.3=PINB.0; d=PORTA.3; }
a=PORTA.0; }
else {
if (n==2) {
PORTA.1=PINB.0; b=PORTA.1; }
else {
if(n==3) {
PORTA.2=PINB.0; c=PORTA.2; }
else { if(n==4) {
PORTA.3=PINB.0; d=PORTA.3; }
}; //akhir if=3 }; //akhir if=2 }; //akhir if=1
n=n+1;
if (n>4) { n=0;
delay_ms(5); PORTA=0x00; delay_ms(5); lcd_clear();
sprintf(demux,"%d%d%d%d",d,c,b,a); lcd_gotoxy(6,1);
lcd_puts(demux);
goto ademux;
}
LAMPIRAN B
Skematik Rangkaian Keseluruhan...B-1
Generator Data dan Multiplexer...B-2
Demultiplexer...B-2
Generator Data dan Multiplexer
Demultiplexer
LAMPIRAN C
Data yang dikirim adalah 0x06h, 0x07h, 0x08h , 0x09h , 0x0Ah , 0x0Bh , 0x0Ch ,
0x0Dh
Bentuk Sinyal Pada Kaki Input Pemancar Optik(TP2)
Keterangan : a = sinyal sinkronisasi
b = data
x = 4 V
Kecepatan Pengiriman 1bit per detik
Keterangan : a = sinyal sinkronisasi
b = data
x = 4 V
Keterangan : a = sinyal sinkronisasi
b = data
x = 4 V
Kecepatan Pengiriman 9 bit per detik
Keterangan : a = sinyal sinkronisasi
b = data
x = 4 V
Bentuk Sinyal Pada Kaki Output Penerima Optik(TP3)
Keterangan : a = sinyal sinkronisasi
b = data
x = 2.8V
Kecepatan Pengiriman 1bit per detik
Keterangan : a = sinyal sinkronisasi
b = data
x = 2.8V
Keterangan : a = sinyal sinkronisasi
b = data
x = 2.8V
Kecepatan Pengiriman 9 bit per detik
Keterangan : a = sinyal sinkronisasi
b = data
x = 2.8V
LAMPIRAN D
Datasheet TX179...D-1
BAB I
PENDAHULUAN
Pada bab ini dibahas mengenai latar belakang, identifikasi masalah, tujuan,
perumusan masalah, tujuan, pembatasan masalah, spesifikasi alat yang dibuat dan
sistematika penulisan Tugas Akhir.
I.1 Latar Belakang
Multiplexing adalah pemakaian bersama kapasitas link dengan cara
menggabungkan data dari setiap kanal
link
tersebut. Tujuan penggunaan
multiplexing adalah agar dapat menghemat jumlah saluran fisik, misalnya kabel
serat optik.
Teknik multiplexing sendiri tidak lepas dari dua bagian penting yaitu
multiplexer dan demultiplexer. Multiplexer adalah rangkaian yang menerima
beberapa input data dan menyeleksi salah satu dari input tersebut pada saat
tertentu untuk dikeluarkan pada bagian output, sedangkan demultiplexer adalah
rangkaian yang menerima satu input data yang merupakan output dari multiplexer
yang lalu mendistribusikan input tersebut ke beberapa output.
Untuk mempermudah pemahaman tentang proses multiplexing dapat
dilakukan dengan beberapa cara salah satunya adalah dengan menggunakan alat
peraga. Dengan adanya alat peraga dapat menggambarkan secara garis besar
proses multiplexing dan demultiplexing, sehingga proses multiplexing
multiplexing dan demultiplexing akan lebih mudah dipahami.
Dengan adanya mikrokontroler, peraga multiplexing dapat direalisasikan.
Multiplexer dan demultiplexer dapat dibuat lebih sederhana dan akan lebih
mudah disesuaikan dengan perangkat yang lain sesuai dengan kebutuhan.
Pengunaan kabel serat optik pada saat ini terus meningkat dan
tekhnologinya masih terus dikembangkan, hal ini dikarenakan kabel serat optik
BAB I PENDAHULUAN
2
I.2 Identifikasi Masalah
Identifikasi masalah pada Tugas Akhir ini adalah merancang multiplexer
dan demultiplexer dijital sederhana menggunakan mikrokontroller AVR untuk
memperagakan proses multiplexing dan demultiplexing dalam pengiriman data
dijital melalui kabel serat optik.
I.3 Perumusan Masalah
Bagaimana merancang multiplexer dan demultiplexer dijital sederhana
menggunakan mikrokontroller AVR untuk memperagakan proses multiplexing
dan demultiplexing dalam pengiriman data dijital melalui kabel serat optik ?
I.4 Tujuan
Tujuan Tugas Akhir ini adalah :
1.Merancang dan merealisasikan multiplexer dan demultiplexer menggunakan
mikrokontroller AVR.
2.Memperagakan proses multiplexing dan demultiplexing mengunakan
mikrokontroller AVR untuk pengiriman data melalui media serat optik.
I.5 Batasan Masalah
1.
Perangkat dalam bentuk prototipe.
2.
Data input merupakan data dijital
3.
Multiplexer yang akan direalisasikan adalah multiplexer 4x1 sedangkan
untuk demultiplexer adalah 1x4.
4.
Pengiriman data dilakukan dengan kecepatan rendah(maksimal 10 bit per
detik).
5.
Media transmisi berupa kabel serat optik yang panjangnya
≤
2 meter.
BAB I PENDAHULUAN
3
I.6 Spesifikasi Alat
1. Alat peraga direalisasikan menggunakan Mikrokontroller AVR (ATmega16).
2.Multiplexer memiliki 4 kanal input dan 1 kanal output sedangkan
demultiplexer memiliki 1 kanal input dan 4 kanal output
3. Media transmisi yang digunakan adalah kabel serat optik.
4. Data ditampilkan pada layar LCD(16x2).
I.7 Sistematika Penulisan
Pembahasan laporan tugas akhir ini disusun dengan sistematika sebagai
berikut :
1.
BAB I PENDAHULUAN
Bab ini memberikan penjelasan mengenai latar belakang, identifikasi
masalah, perumusan masalah,pembatasan masalah, tujuan yang mendasari
penelitian tugas akhir dan sitematika penyusunan laporan tugas akhir.
2
.
BAB II LANDASAN TEORI
Bab ini berisi teori-teori dasar yang menunjang perancangan dan realisasi
alat yang dibuat. Teori yang dimaksud adalah dasar-dasar multiplexing,
sistem pertransmisian serat optik, mikrokontroler sebagai pengolah dari
keseluruhan sistem.
3
.
BAB III PERANCANGAN DAN REALISASI
Pada bab ini dijelaskan mengenai perancangan tiga mikrokontroller yang
digunakan sebagai pemberi input sinyal digital,multiplexer dan
demultiplexer , juga perangkat lunak yang dilengkapi dengan diagram alir
dari perangkat lunak.
4.
BAB IV DATA PENGAMATAN DAN ANALISIS
Bab ini berisi hasil uji coba dari proses multiplexing menggunakan
mikrokontroller AVR
5.
BAB V KESIMPULAN DAN SARAN
! "! #$ % & '
())*
( +
$ , % - . / ())*
0 1 2 2 3 . 24&!5% 6& 2 &!5 47 3 5
1 $ 1 89
: + 5 2 2 3 . 24&. . 5 2/ $
; < % ==
/%>>888 1 (0 2 ? ())*
/%>>888 : 1 (0 2 ? ())*
@ /%>>88( < 8 1 : ())*