praktek 2 avr komunikasi serial
Post on 13-Jul-2016
66 Views
Preview:
DESCRIPTION
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
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
top related