Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

PERCOBAAN 01: I/0 PARALEL

1.1 Output Paralel Menggunakan LED


A. Langkah kerja :
1. Buat skema menggunakan Proteus seperti terlihat pada Gambar 1

R1 10k

U1 20 X1 24 23 51 50 49 48 47 46 45 44 10 11 12 13 14 15 16 17 35 36 37 38 39 40 41 42 62 64 RESET XTAL1 XTAL2 PA0/AD0 PA1/AD1 PA2/AD2 PA3/AD3 PA4/AD4 PA5/AD5 PA6/AD6 PA7/AD7 PB0/SS PB1/SCK PB2/MOSI PB3/MISO PB4/OC0 PB5/OC1A PB6/OC1B PB7/OC2/OC1C PC0/A8 PC1/A9 PC2/A10 PC3/A11 PC4/A12 PC5/A13 PC6/A14 PC7/A15 AREF AVCC ATMEGA128 PD0/SCL/INT0 PD1/SDA/INT1 PD2/RXD1/INT2 PD3/TXD1/INT3 PD4/ICP1 PD5/XCK1 PD6/T1 PD7/T2 PE0/RXD0/PDI PE1/TXD0/PDO PE2/XCK0/AIN0 PE3/OC3A/AIN1 PE4/OC3B/INT4 PE5/OC3C/INT5 PE6/T3/INT6 PE7/ICP3/INT7 PF0/ADC0 PF1/ADC1 PF2/ADC2 PF3/ADC3 PF4/ADC4/TCK PF5/ADC5/TMS PF6/ADC6/TDO PF7/ADC7/TDI PG0/WR PG1/RD PG2/ALE PG3/TOSC2 PG4/TOSC1 PEN 25 26 27 28 29 30 31 32 2 3 4 5 6 7 8 9 61 60 59 58 57 56 55 54 33 34 43 18 19 1

C3 10uF

CRYSTAL C1 1nF

C2 1nF

D9 LED-RED

D10 LED-RED

D11 LED-RED

D12 LED-RED

D13 LED-RED

D14 LED-RED

D15 LED-RED

D16 LED-RED

Gambar 1.1 Output LED

2. Buat program LAMPU BERJALAN menggunakan CodeVisionAVR sbb: //************** CONTOH 1.1 ************* #include <mega128.h> #include <delay.h> void main(void) { unsigned char data,ulang; PORTA=0x00; 1 MIKROPOSESOR DAN ANTARMUKA| Modul 01: I/O Paralel

DDRA=0xFF; while (1) { data=0x01; for (ulang=0;ulang<8;ulang++){ PORTA=data; delay_ms(100); data=data<<1; } }; } 3. Jalankan Simulasi

B. Tugas
1. Buat program LAMPU BERJALAN dengan arah sebaliknya ! 2. Buat program LAMPU BERJALAN dua arah bergantian !

R1 10k

U1 20 X1 24 23 51 50 49 48 47 46 45 44 10 11 12 13 14 15 16 17 35 36 37 38 39 40 41 42 62 64 RESET XTAL1 XTAL2 PA0/AD0 PA1/AD1 PA2/AD2 PA3/AD3 PA4/AD4 PA5/AD5 PA6/AD6 PA7/AD7 PB0/SS PB1/SCK PB2/MOSI PB3/MISO PB4/OC0 PB5/OC1A PB6/OC1B PB7/OC2/OC1C PC0/A8 PC1/A9 PC2/A10 PC3/A11 PC4/A12 PC5/A13 PC6/A14 PC7/A15 AREF AVCC ATMEGA128 PD0/SCL/INT0 PD1/SDA/INT1 PD2/RXD1/INT2 PD3/TXD1/INT3 PD4/ICP1 PD5/XCK1 PD6/T1 PD7/T2 PE0/RXD0/PDI PE1/TXD0/PDO PE2/XCK0/AIN0 PE3/OC3A/AIN1 PE4/OC3B/INT4 PE5/OC3C/INT5 PE6/T3/INT6 PE7/ICP3/INT7 PF0/ADC0 PF1/ADC1 PF2/ADC2 PF3/ADC3 PF4/ADC4/TCK PF5/ADC5/TMS PF6/ADC6/TDO PF7/ADC7/TDI PG0/WR PG1/RD PG2/ALE PG3/TOSC2 PG4/TOSC1 PEN 25 26 27 28 29 30 31 32 2 3 4 5 6 7 8 9 61 60 59 58 57 56 55 54 33 34 43 18 19 1

C3 10uF

CRYSTAL C1 1nF

C2 1nF

D9 LED-RED

D10 LED-RED

D11 LED-RED

D12 LED-RED

D13 LED-RED

D14 LED-RED

D15 LED-RED

D16 LED-RED

Gambar 1.2 Input DIP-Switch 2 MIKROPOSESOR DAN ANTARMUKA| Modul 01: I/O Paralel

1.2

Input DIP-SWITCH / TOMBOL

A. Langkah kerja :
1. Buat skema menggunakan Proteus seperti terlihat pada Gambar 1.2 2. Buat program menggunakan CodeVisionAVR sbb: //************** CONTOH 1.2 ************* #include <mega128.h> #define PINTU 7 #define TOMBOL 1 void main(void) { DDRC = DDRC & ~(1<<TOMBOL); PORTC = PORTC | (1<<TOMBOL); DDRA = DDRA | (1<<LED); while (1) { if (PINC & (1 << TOMBOL)) PORTA = PORTA | (1<<LED); else PORTA = PORTA & ~(1<<LED); } } 3. Jalankan Simulasi.

B. Tugas
1. Buat diagram alir dari program Contoh 1.2 ! (Sebagai panduan, buka buku referensi [Mazidi dkk.], bab 4 dan bab 7) 2. Kembangkan Contoh 1.2 dengan menambahkan sebuah tombol yang terhubung ke Port C bit 5 untuk mengendalikan LED pada port A bit 3 ! Buat diagram alir dan programnya !

MIKROPOSESOR DAN ANTARMUKA| Modul 01: I/O Paralel

1.3

LED 7-SEGMEN
7SEG-MPX8-CA-BLUE

R1
10k

U1
20

X1

RESET XTAL1 XTAL2 PA0/AD0 PA1/AD1 PA2/AD2 PA3/AD3 PA4/AD4 PA5/AD5 PA6/AD6 PA7/AD7 PB0/SS PB1/SCK PB2/MOSI PB3/MISO PB4/OC0 PB5/OC1A PB6/OC1B PB7/OC2/OC1C PC0/A8 PC1/A9 PC2/A10 PC3/A11 PC4/A12 PC5/A13 PC6/A14 PC7/A15 AREF AVCC ATMEGA128

24 23 51 50 49 48 47 46 45 44 10 11 12 13 14 15 16 17 35 36 37 38 39 40 41 42 62 64

CRYSTAL

C3
100uF

C1
33pF

C2
33pF

PD0/SCL/INT0 PD1/SDA/INT1 PD2/RXD1/INT2 PD3/TXD1/INT3 PD4/ICP1 PD5/XCK1 PD6/T1 PD7/T2 PE0/RXD0/PDI PE1/TXD0/PDO PE2/XCK0/AIN0 PE3/OC3A/AIN1 PE4/OC3B/INT4 PE5/OC3C/INT5 PE6/T3/INT6 PE7/ICP3/INT7 PF0/ADC0 PF1/ADC1 PF2/ADC2 PF3/ADC3 PF4/ADC4/TCK PF5/ADC5/TMS PF6/ADC6/TDO PF7/ADC7/TDI PG0/WR PG1/RD PG2/ALE PG3/TOSC2 PG4/TOSC1 PEN

25 26 27 28 29 30 31 32 2 3 4 5 6 7 8 9 61 60 59 58 57 56 55 54 33 34 43 18 19 1

Gambar 1.2 Skema modul praktek 7-segmen

A. Langkah kerja
1. Buat desain pada Gambar 1.2 menggunakan Proteus. 2. Buat program berikut

//************** CONTOH 1.2 ************* #include <mega128.h> #include <delay.h> #include <stdio.h> #define data PORTE #define kendali PORTF flash unsigned char segment (unsigned char c) {char tab[11]={0xC0,0xF9,0xA4,0xB0 ,0x99 ,0x92 ,0x82, 0xF8 ,0x80,0X90,0xBF}; //tabel data untuk seven segmen return tab[c];} // Declare your global variables here void tampil_seg(unsigned char jam, unsigned char menit, unsigned char detik){ unsigned char h,j,k,l,m,n; h=jam/10; j=jam%10; k=menit/10; l=menit%10; m=detik/10; n=detik%10;

MIKROPOSESOR DAN ANTARMUKA| Modul 01: I/O Paralel

kendali=0x80; data=segment(n); delay_us(100); kendali=0x40; data=segment(m); delay_us(100); kendali=0x20; data=segment(10); delay_us(100); kendali=0x10; data=segment(l); delay_us(100); kendali=0x08; data=segment(k); delay_us(100); kendali=0x04; data=segment(10); delay_us(100); kendali=0x02; data=segment(j); delay_us(100); kendali=0x01; data=segment(h); delay_us(100); } void main(void){ unsigned char h,m,s; int i,ulang; DDRF=0xFF; DDRE=0xFF; while(1){ h=00; m=00; s=00; for(i=1;i<=10;i++) { for(ulang=1;ulang<=100;ulang++) { tampil_seg(h,m,s); } s=s++; } } }

3. Jalankan hasil compilasi Program di langkah 2 pada desain yang dibuat pada Gambar 1.2. Lihat hasilnya.

MIKROPOSESOR DAN ANTARMUKA| Modul 01: I/O Paralel

B. Tugas:
1. Buat dagram alir dari program contoh 1.2 ! 2. Buat diagram alir dan program menampilkan JAM DIGITAL !

MIKROPOSESOR DAN ANTARMUKA| Modul 01: I/O Paralel

You might also like