Anda di halaman 1dari 8

Praktek 2

Komunikasi Serial RS-232 (2)


Tujuan:
Mahasiswa mengerti cara melakukan komunikasi serial untuk mengendalikan
sesuatu peralatan
Mahasiswa mengerti cara membuat program C pada mikrokontroller AVR untuk
melakukan komunikasi serial
Peralatan yang digunakan:
Modul Program Code Vision AVR
Modul Program Simulasi Proteus
Deskripsi/ Dasar Teori:

Gambar 1.1

Gambar 1.2

Gambar 1.3
2

Gambar 1.4

Gambar 1.5

Gambar 1.6

Gambar 1.7

PERCOBAAN 1
Pada percobaan ini yaitu menerima perintah getchar, yaitu ketika pada Virtual Terminal
(VT) ditekan angka 1 maka LED akan menyala. Untuk tombol yang lain akan mati.
a
#include <mega128.h>
#include <stdio.h>
// Declare your global variables here
void main(void)
{
int a;
PORTA=0x00;
DDRA=0xFF; //semua bit porta sbg output
// USART0 initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART0 Receiver: On
// USART0 Transmitter: Off
// USART0 Mode: Asynchronous
// USART0 Baud Rate: 9600
UCSR0A=0x00;
UCSR0B=0x10;
UCSR0C=0x06;
UBRR0H=0x00;
UBRR0L=0x33;
PORTA = 0x00; // mula-mula LED mati
while (1)
{
// Place your code here
a=getchar();
if(a=='1')
PORTA.0=1;
else
PORTA.0=0;
};
}

PERCOBAAN 2
Buat percobaan dengan 3 buah LED yang dikendalikan dengan 3 buah karakter

PERCOBAAN 3
Pada percobaan ini menggunakan 2 buah mikrokontroler
Mikrokontroler 1 digunakan untuk penerima dan mikrokontrler 2 sebagai pengirim.
Digunakan 2 buah Pushbutton untuk menyalakan dan mematikan LED yaitu PB-1 untuk
menyalakan dan PB-2 untuk mematikan.
// PROGRAM UNTUK MIKROKONTROLER PENGIRIM
#include <mega128.h>
#include <stdio.h>
void main(void)
{
PORTA=0x00;
DDRA= 0X00;// SEMUA JADI INPUT
// USART0 initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART0 Receiver: Off
// USART0 Transmitter: On
// USART0 Mode: Asynchronous
// USART0 Baud Rate: 9600
UCSR0A=0x00;
UCSR0B=0x08;
UCSR0C=0x06;
UBRR0H=0x00;
UBRR0L=0x33;
while (1)
{
// Place your code here
if(PINA.0==0)
putchar('8');
if(PINA.1==0)
putchar('9');
}
}

// PROGRAM UNTUK MIKROKONTROLER PENERIMA


#include <mega128.h>
#include <stdio.h>
void main(void)
{
int a;
PORTA=0x00;
DDRA=0xFF; //semua bit porta sbg output
// USART0 initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART0 Receiver: On
// USART0 Transmitter: Off
// USART0 Mode: Asynchronous
// USART0 Baud Rate: 9600
UCSR0A=0x00;
UCSR0B=0x10;
UCSR0C=0x06;
UBRR0H=0x00;
UBRR0L=0x33;
PORTA = 0x00; //mula-mula motor mati
while (1)
{
// Place your code here
a=getchar();
if(a=='8')
PORTA.0=1;
else
PORTA.0=0;
};
}

U1
20
24
23

RESET
XTAL1
XTAL2

51
PA0/AD0
50
D1 49 PA1/AD1
PA2/AD2
48
LED-BIRY
PA3/AD3
47
PA4/AD4
46
PA5/AD5
45
PA6/AD6
44
PA7/AD7
10
11
12
13
14
15
16
17
35
36
37
38
39
40
41
42
62
64

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

U2
R1
10k

R2
10k

20
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

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

ATMEGA128

FA Lab.

Anda mungkin juga menyukai