Laporan Mikrokontroler USART
Laporan Mikrokontroler USART
TEORI DASAR
1.1 ATmega – 16
1.1.1 Definisi
ATmega16 adalah mikrokontroler kinerja tinggi dengan 8-bit keluaran dan
konsumsi daya yang rendah. Atmega16 dapat bekerja pada frekuensi maksimum
16MHz. ATmega16 memiliki 16 KB diprogram memori flash, RAM statis 1 KB dan
EEPROM 512 Bytes. ATmega16 adalah mikrokontroler 40 pin. Ada 32 I / O (input /
output) baris yang dibagi menjadi empat port 8-bit ditunjuk sebagai PORTA,
PORTB, PORTC dan PORTD.
Ada banyak fungsi pada masing-masing port pada ATmega antara lain:
1. VCC merupakan pin yang berfungsi sebagai masukan catu daya.
2. GND merupakan pin Ground.
3. Port A (PA.0...PA.7) merupakan pin input/ output dua arah dan pin masukan
ADC.
4. Port B (PB.0...PB.7) merupakan pin input/ output dua arah dan pin fungsi
khusus
5. PortC (PC.0...PC.7) merupakan pin input/ output dua arah dan pin fungsi khusus
6. Port D(PD.0...PD.7) merupakan pin input/ output dua arah dan pin fungsi
khusus
1.1.3 ADC
Data Hasil Konversi (DHK) ditentukan dari Vref dan SS. Dimana nilai dari Vin =
Vref
1.1.4 USART
UDR merupakan register 8 bit yang terdiri dari 2 buah dengan alamat yang
sama, yang digunakan sebagai :
1. RXC (USART Receive Complete) otomatis akan bernilai 1, jika ada data
baru di bufer penerima. RXC otomatis akan bernilai 0, jika data sudah
dibaca atau bufer penerima kosong.
2. TXC USART (Transmit Complete)otomatis akan bernilai 1, jika data di
buffer selesai dikirim.
3. UDRE (USART Data Register Empty) otomatis akan bernilai 1 , jika
register UDR kosong . receiver siap menerima data. UDRE=0, UDR ada
isinya.
4. FE (Frame Error) otomatis akan bernilai 1, jika ada frame eror.
5. DOR (Data OverRun) otomatis akan bernilai 1, jika data datang ketika bufer
penuh(terjadi antrian).
6. PE (Parity Error) otomatis akan bernilai 1, jika terjadi parity eror.
7. U2X (Double the USART Transmission Speed)kita set U2X=0, kecepatan
normal. U2X=1 kecepatan 2xbaudrate.
8. MPCM ( Multi-processor Communication Mode) kita set MCM=1 byte
pertama yg diterima harus 9 bit , jika tdk data byte akan diabaikan.bit ini
terjadi hanya untuk penerimaan saja pd komunikasi banyak microcontroller.
7. RXB8 (Receive Data Bit 8) RXB8 menjadi bit ke-9 jika panjang data yg
diterima 9 bit .
8. TXB8 (Transmit Data Bit 8) TXB8 menjadi bit ke-9 jika panjang data yg
dikirim 9 bit.
1. URSEL (Register Select) memilih UCSRC atau UBRRH, kita set URSEL=1 ,
UCSRC aktif ,UBRRH tdk aktif, dan jika kita set URSEL=0 , UBRRH aktif ,
UCRSC tdk aktif.
2. UMSEL (USART Mode Select) kita set UMSEL=1 , mode synceonous.
UMSEL=0 mode asyncronous
3. UPM1 dan UMP0 (Parity Mode):
4. USBS (Stop Bit Select) kita set USBS=0, stop bit =1 bit , USBS=1 panjang
stop bit = 2 bit.
5. UCSZ1 dan 0 (Character Size) kita set UCSZ2:UCSZ1:UCSZ0 = 011 ,
panjang data 8 BIT. (bit UCSZ2 ada di register UCSRB)
6. UCPOL (Clock Polarity ) bit ini digunakan untuk mode syncoronous saja.
7. kita set UCPOL=0 trnasmisi clock naik, UCPOL=1 transmisi clock turun.
(khusus yg ini don’t care krn kita menggunakan mode asyncronous)
UDR merupakan register 8 bit yang terdiri dari 2 buah dengan alamat yang sama,
yang digunakan sebagai :
1. Tempat untuk menyimpan data yang akan dikirimkan (TXB)
2. Tempat data diterima (RXB)
Memiliki 2 macam, yakni :
1. PISO ( TxD ) Paralel Input Serial Output
2. SIPO ( RxD ) Serial Input Paralel Output
Seven segment merupakan sebuah tampilan yang terdiri dari tujuh elemen LED yang
disusun untuk menampilkan angka desimal 0 sampai 9. Dan untuk setiap segment diberi
kode dengan huruf a, b, c, d, e, f, g dan d.p. Ada dua jenis seven segment yaitu common
anoda (CA) dan common catoda (CC).
Pada common anoda (CA), karena yang dijadikan satu adalah catoda maka CA
dihubungkan dengan Vcc, sehingga untuk menyelakan segment maka pin dari segment
tersebut berlogika 0 atau 0 Volt. Pada common catoda (CC), karena yang dijadikan satu
adalah Ground maka untuk menyalakan segment pin dari segment tersebut diberi logika 1
atau 5 Volt.
1.3 Potensiometer
Jenis potensiometer :
1. Potensiometer karbon adalah potensiometer yang terbuat dari bahan
karbon harganya cukup murah akan tetapi kepressian potensiometer ini
sangat rendah biasanya harga resistansi akan sangat mudah berubah
akibat pergeseran kontak.
2. Potensiometer gulungan kawat (wire wound) adalah potensiometer yang
menggunakan gulungan kawat nikelin yang sangat kecil ukuran
penampangnya.Ketelitian dari potensiometer jenis ini tergantung dari
ukuran kawat yang digunakanserta kerapihan penggulungannya.
3. Potensiometer metal film adalah potensiometer yang menggunakan bahan
metal yang dilapiskan kebahan isolator
LDR (Light Dependent Resistor) adalah komponen elektronika yang pada dasarnya
mempunyai sifat yang sama dengan resistor, hanya saja nilai resistansi dari LDR berubah-
ubah sesuai dengan tingkat intensitas cahaya yang diterimanya. LDR merupakan sensor
yang bekerja apabila terkena cahaya. LDR memiliki hambatan yang sangat tinggi jika tidak
terkena cahaya dan memiliki hambatan yang sangat kecil jika terkena cahaya.
2.1 Flow-chart
2.2 Simulasi
#include <mega16.h>
#include <stdio.h>
#include <stdlib.h>
#include <delay.h>
unsigned char segment[11] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90, 0xbf};
char status,data;
status=UCSRA;
data=UDR;
for(x=0;x<=4;x++){
PORTC = nama[x];
delay_ms(500);
for(x=0;x<=12;x++){
PORTC = segment[nim[x]];
delay_ms(500);
itoa(data2, tegangan);
puts(tegangan);
rx_buffer[rx_wr_index]=data;
if (++rx_counter == RX_BUFFER_SIZE)
rx_counter=0;
rx_buffer_overflow=1;
};
};
ADCSRA=0x83;
#asm("sei")
while (1)
{
data1 = read_adc(0);
data2 = read_adc(1);
PORTC = 0xfe;
delay_ms(100);
PORTC = 0x7d;
delay_ms(100);
PORTC = 0xfb;
delay_ms(100);
PORTC = 0x77;
delay_ms(100);
PORTC = 0xef;
delay_ms(100);
PORTC = 0x5f;
delay_ms(100);
};
}
BAB III
HASIL PERCOBAAN
Dengan mengetikkan kode berupa huruf “A” pada laptop, maka Seven Segment
akan menampilkan nama (“NANDA”) pada port C.
Dengan mengetikkan kode berupa huruf “B” pada laptop, maka Seven Segment
akan menampilkan NIM (“1241160001”) pada port C.
Ketika menginputkan huruf “C” pada kolom terminal di AVR, maka yang
muncul adalah menunjukan besar dari nilai potensio. Apabila kita memutar ke
nilai paling minimum, maka yang tertera adalah “0”. Ketika kita memutar
potensio sampai di tengah-tengah, maka nilai yang muncul adalah nilai diantara 0-
255 yaitu “104”. Dan apabila kita memutar potensio pada posisi paling
maksimum, maka yang tertera adalah nilai maksimum dari potensio yaitu “255”.
3.4.4 Menampilkan Kondisi Pencahayaan LDR (Terang, Redup & Gelap) pada
Code Vision AVR
1.Ketika menginputkan huruf “D” pada kolom terminal di AVR, maka akan
muncul “REDUP” pada kolom teminal AVR. Hal ini disebabkan karena LDR
dibiarkan begitu saja sehingga cahaya yang diterima hanya sedikit.
2.Ketika menginputkan huruf “D” pada kolom terminal di AVR, maka akan
muncul “GELAP” pada kolom teminal AVR. Hal ini disebabkan karena LDR
ditutup dengan jari sehingga LDR tidak menerima cahaya apapun.
3.Ketika menginputkan huruf “D” pada kolom terminal di AVR, maka akan
muncul “TERANG” pada kolom teminal AVR, apabila LDR diberi sorot cahaya
yang di fokuskan pada di atas LDR.
2. ANALISA
Setelah melakukan percobaan didapatkan analisa bahwa, ATMEGA 16 memiliki
beberapa PORT yaitu PORT A,PORT B,PORT C,PORT D ,USART dan ADC. Pada
proyek ini PORT C digunakan untuk menghubungkan antara ATMEGA 16
dengan7SEGMENT (Fungsi seven Segment sendiri digunakan untuk menampilkan hasil
keluaran apabila diketik A (nama) atau B (nim) pada terminal codevision ) sedangkan
pada percobaan LDR berada pada PORT A0 dan potensio dihubungkan pada PORT A1
sehingga keluaran akan muncul pada terminal codevision.
Pada Praktikum ini juga banyak kendala seperti ATMEGA 16 tidak dapat di read
dan write,kendala lain nya adalah pada percobaan Usart apabila bila ketik A dan B seven
segment dapat menghasilkan keluaran (A (nama) dan B(nim)) sedangkan apabila Ketik C
dan D keluaran tidak muncul pada terminal codevision semua kendala yang terjadi
diakibatkan oleh hasil solderan yang tidak bagus sehingga komponen tidak berjalan
sesuai fungsinya.
Apabila dibandingkan secara simulasi maupun percobaan keduanya mempunyai
sedikit perbedaan diantaranya adalah komponen yang digunakan misalnya, IC MAX232.
Jika pada simulasi tanpa adanya MAX232 simulasi tersebut dapat berjalan namun pada
percobaan IC MAX232 digunakan fungsinya untuk menjalankan fitur Serial Komunikasi
berjalan sebagaimana mestinya. Perbedaan lainnya yaitu terletak pada sensitivitas pada
LDR.
3.6KESIMPULAN
1. ATMega16 terdiri atas unit-unit fungsionalnya Arithmetic and Logical Unit (ALU),
himpunan register kerja, register dan dekoder instruksi, dan pewaktu.
3. Seven Segment adalah suatu segmen- segmen yang digunakan menampilkan suatu
bilangan dari biner maupun hexa.