praktek 2 avr komunikasi serial

9
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: 1

Upload: dodik-yuniar

Post on 13-Jul-2016

61 views

Category:

Documents


4 download

DESCRIPTION

praktek at mega usart

TRANSCRIPT

Praktek 2Komunikasi 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

1

Gambar 1.2

Gambar 1.3

2

Gambar 1.4

Gambar 1.5

3

Gambar 1.6

Gambar 1.7

4

PERCOBAAN 1Pada 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: 9600UCSR0A=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

5

PERCOBAAN 3 Pada percobaan ini menggunakan 2 buah mikrokontrolerMikrokontroler 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: 9600UCSR0A=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'); }

}

6

// 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: 9600UCSR0A=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; };}

7

PE0/RXD0/PDI 2

PE1/TXD0/PDO 3

PE2/XCK0/AIN0 4

PE3/OC3A/AIN1 5

PE4/OC3B/INT4 6

PE5/OC3C/INT5 7

PE6/T3/INT6 8

PE7/ICP3/INT7 9

PB0/SS10

PB1/SCK11

PB2/MOSI12

PB3/MISO13

PB4/OC014

PB5/OC1A15

PB6/OC1B16

PB7/OC2/OC1C17

PG3/TOSC2 18

PG4/TOSC1 19

RESET20

XTAL223XTAL124

PD0/SCL/INT0 25

PD1/SDA/INT1 26

PD2/RXD1/INT2 27

PD3/TXD1/INT3 28

PD4/ICP1 29

PD5/XCK1 30

PD6/T1 31

PD7/T2 32

PG0/WR 33

PG1/RD 34

PC0/A835

PC1/A936

PC2/A1037

PC3/A1138

PC4/A1239

PC5/A1340

PC6/A1441

PC7/A1542 PG2/ALE 43

PA7/AD744PA6/AD645 PA5/AD546 PA4/AD447 PA3/AD348PA2/AD249PA1/AD150 PA0/AD051

PF7/ADC7/TDI 54PF6/ADC6/TDO 55PF5/ADC5/TMS 56PF4/ADC4/TCK 57PF3/ADC3 58PF2/ADC2 59PF1/ADC1 60PF0/ADC0 61

AREF62

AVCC64 PEN 1

U1

ATMEGA128

D1LED-BIRY

PE0/RXD0/PDI 2

PE1/TXD0/PDO 3

PE2/XCK0/AIN0 4

PE3/OC3A/AIN1 5

PE4/OC3B/INT4 6

PE5/OC3C/INT5 7

PE6/T3/INT6 8

PE7/ICP3/INT7 9

PB0/SS10

PB1/SCK11

PB2/MOSI12

PB3/MISO13

PB4/OC014

PB5/OC1A15

PB6/OC1B16

PB7/OC2/OC1C17

PG3/TOSC2 18

PG4/TOSC1 19

RESET20

XTAL223 XTAL124

PD0/SCL/INT0 25

PD1/SDA/INT1 26

PD2/RXD1/INT2 27

PD3/TXD1/INT3 28

PD4/ICP1 29

PD5/XCK1 30

PD6/T1 31

PD7/T2 32

PG0/WR 33

PG1/RD 34

PC0/A835

PC1/A936

PC2/A1037

PC3/A1138

PC4/A1239

PC5/A1340

PC6/A1441

PC7/A1542 PG2/ALE 43

PA7/AD744 PA6/AD645 PA5/AD546 PA4/AD447PA3/AD348 PA2/AD249 PA1/AD150 PA0/AD051

PF7/ADC7/TDI 54PF6/ADC6/TDO 55PF5/ADC5/TMS 56PF4/ADC4/TCK 57PF3/ADC3 58PF2/ADC2 59PF1/ADC1 60

PF0/ADC0 61

AREF62

AVCC64 PEN 1

U2

ATMEGA128

R1

10k

R2

10k

FA Lab.

8