Top Banner

of 16

Laporan Mikrokontroler USART

Oct 09, 2015

Download

Documents

Nanda Putri

Usart
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

BAB ITEORI DASAR

1.1 ATmega 161.1.1 DefinisiATmega16 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 merupakanpinyang berfungsi sebagai masukan catu daya.2. GND merupakanpin Ground. 3. PortA(PA.0...PA.7) merupakanpininput/outputdua arah danpinmasukan ADC.4. PortB(PB.0...PB.7) merupakanpin input/ outputdua arah danpinfungsi khusus 5. PortC(PC.0...PC.7) merupakanpin input/ outputdua arah dan pin fungsi khusus 6. PortD(PD.0...PD.7) merupakanpin input/ outputdua arah dan pin fungsi khusus

RESET merupakanpinyang digunakan untuk me-resetmikrokontroler.7. XTAL1 dan XTAL2 merupakanpinmasukanclock eksternal.8. AVCC merupakanpinmasukan tegangan untuk ADC.9. AREF merupakanpinmasukan tegangan referensi ADC.

1.1.3 ADCADC digunakan untuk mengubah nilai amplitudo ( Volt ) ke besaran biner yang memiliki 8 bit maupun 10 bit. Besaran tegangan input (Vref) berguna untuk menentukan Step Size (SS)

Data Hasil Konversi (DHK) ditentukan dari Vref dan SS. Dimana nilai dari Vin = Vref

Fungsi lain dari ADC antara lain :1. Dikonfigurasi sebagai single ended input maupun differential input. 2. Memiliki konfigurasi pewaktuan, tegangan referensi, mode operasi dan kemampuan filter derau (noise) yang amat fleksibel sehingga dapat dengan mudah disesuaikan dengan kebutuhan ADC itu sendiri. Proses inisialisasi ADC meliputi proses penentuan clock, tegangan referensi, formal data keluaran, dan modus pembacaan. Memiliki 2 macam yakni :a. ADC Multiplexer ADMUXb. ADC Control and Status Register A ADCSRA

1.1.4 USARTUSART adalah protokol komunikasi serial antara PC dengan komponen elektronika lainnya, salah satunya adalah mikrokontroler. USART juga digunakan sebagai alat komunikasi antara satu mikrokontroler dengan mikrokontroler lainnya maupun dengan port expander.USART ( Universal Syncronous Asyncronous Receiver Transmiter ) menggunakan komunikasi data SERIAL. Salah satu mode transmisi dalam komunikasi serial adalah mode asinkron. Transmisi mode serial ini digunakan apabila pengiriman data dilakukan satu karakter tiap pengiriman. Antara satu karakter dengan yang lainnya tidak ada waktu antara yang tetap.USART memiliki 4 register, yakni :1. USART I/O Data Register (UDR)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 Output2. USART Control and Status Register A (UCSRA)

1. RXC (USART Receive Complete) otomatis akan bernilai 1, jika ada data baru di bufer penerima. RXC otomatis akan bernilai0, jika data sudah dibaca atau bufer penerima kosong.2. TXC USART (Transmit Complete)otomatis akan bernilai1, jika data di buffer selesai dikirim.3. UDRE (USART Data Register Empty) otomatis akan bernilai 1 , jika register UDR kosong .receiversiap 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 bernilai1, jika data datang ketika bufer penuh(terjadi antrian).6. PE (Parity Error) otomatis akan bernilai1, jika terjadi parity eror.7. U2X (Double the USARTTransmission Speed)kita set U2X=0, kecepatan normal. U2X=1 kecepatan 2xbaudrate.8. MPCM ( Multi-processorCommunication 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 pdkomunikasibanyak microcontroller.

3. USART Control and Status Register B (UCSRB)

1. RXCIE (RX Complete Interrupt Enable)kita set RXCIE=1 , interupsi receive complete aktif.2. TXCIE (TX Complete Interrupt Enable)kita set TXCIE=1, interupsi transmit complete aktif.3. UDRIE (USART Data Register Empty Interrupt Enable) kita set UDRIE=1, interupsi UDRE aktip.4. RXEN (Receiver Enable) kita set RXEN=1, USART receiver aktif. micon bisa mnerima data.5. TXEN (Transmitter Enable) kita set TXEN=1, Usart Transmiter aktif. micon bisa mengirim data.6. UCSZ2 (Character Size) kita set UCSZ2:UCSZ1:UCSZ0 = 011 , panjang data 8 BIT.(bit UCSZ1 dan UCSZ0 ada di register UCSRC)

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.

4. USART Control and Status Register C (UCSRC)

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 dont 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

1.2 Seven SegmentSeven 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.Pada Atmega 16 ini, sevensegment yang digunakan adalah sevensegmnet common anoda (CA) jadi CA disetting 5 V (dihubungkan dengan Vcc) sedangkan ujungnya 0 V.1.3 PotensiometerPotensiometer adalah resistor yang nilai hambatannya dapat diubah-ubah dengan memutar poros yang telah tersedia. Potensiometer pada dasarnya sama dengan trimpot secara fungsional . 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

1.4 LDR (Light Dependent Resistor)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.

Gambar Komponen LDR

BAB IIISI2.1 Flow-chart

2.2 Simulasi

2.3 Listing Program#include #include #include #include

unsigned char x, data1, data2, tegangan[5];unsigned char nama[5] = {0xc8,0x08,0xc8,0xa1,0x08}; unsigned char nim[13] = {1, 2, 4, 1, 10, 1, 6, 0, 10, 0, 10, 0, 1};unsigned char segment[11] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90, 0xbf};// USART Receiver interrupt service routineinterrupt [USART_RXC] void usart_rx_isr(void){char status,data;status=UCSRA;data=UDR; if(data == 'A' || data == 'a'){ for(x=0;x= 75 && data1 < 150){ putsf(" -> redup"); } if(data1 >= 150){ putsf(" -> gelap"); } } if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0) { rx_buffer[rx_wr_index]=data; if (++rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0; if (++rx_counter == RX_BUFFER_SIZE) { rx_counter=0; rx_buffer_overflow=1; }; };}

ADMUX=ADC_VREF_TYPE & 0xff;ADCSRA=0x83;

// Global enable interrupts #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 IIIHASIL PERCOBAAN

3.4 Gambar Hasil Praktikum3.1.1 Menampilkan Nama pada Seven Segment

Dengan mengetikkan kode berupa huruf A pada laptop, maka Seven Segment akan menampilkan nama (NANDA) pada port C.

3.1.2 Menampilkan NIM pada Seven Segment

Dengan mengetikkan kode berupa huruf B pada laptop, maka Seven Segment akan menampilkan NIM (1241160001) pada port C.

3.1.3 Menampilkan Data Potensio pada Code Vision AVR

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 AVR1.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. ANALISASetelah 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.6KESIMPULAN1. ATMega16 terdiri atas unit-unit fungsionalnya Arithmetic and Logical Unit (ALU), himpunan register kerja, register dan dekoder instruksi, dan pewaktu.2. Sensitifitas tiap komponen LDR berbeda beda. 3. Seven Segment adalah suatu segmen- segmen yang digunakan menampilkan suatu bilangan dari biner maupun hexa.4. Potensiometer merupakan resistor variable yang bisa kita rubah nilainya.5. MAX232 digunakan untuk komunikasi serial to USB.