11
PIN, PORT, DDR pada Mikrokontroler 1. PIN x berfungsi sebagai pembaca status pin beertegangan 0 atau +5v 2. PORT berfungsi : a. Jika sebagai input mengaktifkan pull up internal b. Jika sebagai output memberi tegangan 0 atau +5v 3. DDR(Data Direct Register) berfungsi menentukan PIN tersebut sebagai masukan (input) atau sebagai keluaran(output). a. Keluaran bernilai 1 b. Masukan bernilai 0 USART pada Mikrokontroler AVR Selain timer, fitur dan fasilitas yang terdapat dalam mikrokontroler AVR yang sering digunakan adalah USART. USART (Universal Synchronous Asynchronous serial Receiver and Transmitter) merupakan protokol komunikasi serial yang terdapat pada mikrokontroler AVR. Dengan memanfaatkan fitur ini kita dapat berhubungan dengan “dunia luar”. Dengan USART kita bisa menghubungkan mikrokontroler dengan PC, hape, GPS atau bahkan modem, dan banyak lagi peralatan yang dapat dihubungkan dengan mikrokontroler dengan menggunakan fasilitas USART. Komunikasi dengan menggunakan USART dapat dilakukan dengan dua cara yaitu dengan mode sinkron dimana pengirim data mengeluarkan pulsa/clock untuk sinkronisasi data, dan yang kedua dengan mode asinkron, dimana pengirim data tidak mengeluarkan pulsa/clock, tetapi untuk proses sinkronisasi memerlukan inisialisasi, agar data yang diterima sama dengan data yang dikirimkan. Pada proses inisialisasi ini setiap perangkat yang terhubung harus memiliki baud rate (laju data) yang sama. Pada mikrokontroler AVR untuk mengaktifkan dan mengeset komunikasi USART dilakukan dengan cara mengaktifkan register2 yang digunakan untuk komunikasi USART. Register2 yang dipakai antara lain: USART I/O Data Register – UDR

Mikrokontroler

Embed Size (px)

DESCRIPTION

pin, DDRA, port

Citation preview

PIN, PORT, DDR pada Mikrokontroler1. PIN x berfungsi sebagai pembaca status pin beertegangan 0 atau +5v2. PORT berfungsi :a. Jika sebagai input mengaktifkan pull up internalb. Jika sebagai output memberi tegangan 0 atau +5v3. DDR(Data Direct Register) berfungsi menentukan PIN tersebut sebagai masukan (input) atau sebagai keluaran(output). a. Keluaran bernilai 1 b. Masukan bernilai 0 USART pada MikrokontrolerAVRSelain timer, fitur dan fasilitas yang terdapat dalam mikrokontroler AVR yang sering digunakan adalah USART. USART (Universal Synchronous Asynchronous serial Receiver and Transmitter) merupakan protokol komunikasi serial yang terdapat pada mikrokontroler AVR. Dengan memanfaatkan fitur ini kita dapat berhubungan dengan dunia luar. Dengan USART kita bisa menghubungkan mikrokontroler dengan PC, hape, GPS atau bahkan modem, dan banyak lagi peralatan yang dapat dihubungkan dengan mikrokontroler dengan menggunakan fasilitas USART.Komunikasi dengan menggunakan USART dapat dilakukan dengan dua cara yaitu dengan mode sinkron dimana pengirim data mengeluarkan pulsa/clock untuk sinkronisasi data, dan yang kedua dengan mode asinkron, dimana pengirim data tidak mengeluarkan pulsa/clock, tetapi untuk proses sinkronisasi memerlukan inisialisasi, agar data yang diterima sama dengan data yang dikirimkan. Pada proses inisialisasi ini setiap perangkat yang terhubung harus memiliki baud rate (laju data) yang sama. Pada mikrokontroler AVR untuk mengaktifkan dan mengeset komunikasi USART dilakukan dengan cara mengaktifkan register2 yang digunakan untuk komunikasi USART. Register2 yang dipakai antara lain:

USART I/O Data Register UDR

UDR : merupakan register 8 bit yang terdiri dari 2 buah dengan alamat yang sama, yang digunakan sebagai tempat untuk menyimpan data yang akan dikirimkan (TXB) atau tempat data diterima (RXB) sebelum data tersebut dibaca.

USART Control and Status Register A UCSRA

UCSRA: merupakan register 8 bit yang digunakan untuk mengendalikan mode komunikasi USART dan untuk membaca status yang sedang terjadi pada USART. Bit 7 - RXC [status] : akan berlogika1 bila ada data di UDR (RXB) yang belum terbaca. Dapat digunakan untuk sumber interupsi, dengan mengeset RXCIE Bit 6 - TXC [status] : akan berlogika1 bila ada data di UDR (TXB) yang sudah dikirimkan. Dapat digunakan untuk sumber interupsi, dengan mengeset TXCIE Bit 5 - UDRE [status] : akan berlogika1 bila UDR siap untuk menerima data baru. Bit 1 - U2X [kendali] : diisi logika 1 bila kecepatan transmisi data ingin dinaikkan 2kali. Bit 0 - MPCM [kendali] : digunakan bila ingin menggunakan komunikasi multiprosesor.

USART Control and Status Register B UCSRB

UCSRB: merupakan register 8 bit yang digunakan untuk mengendalikan mode komunikasi USART dan untuk membaca status yang sedang terjadi pada USART. Bit RXCIE [kendali] : digunakan untuk mengaktifkan interupsi yang bersumber dari RXC. Bit TXCIE [kendali] : digunakan untuk mengaktifkan interupsi yang bersumber dari TXC. Bit UDRIE [kendali] : digunakan untuk mengaktifkan interupsi yang bersumber dari UDRE. Bit RXEN [kendali] : digunakan untuk mengaktifkan receiver. Bit TXEN [kendali] : digunakan untuk mengaktifkan transmitter. Bit UCSZ2 [kendali] : digunakan untuk menentukan panjang data yang dikirim dalam sekali. Digunakan bersama2 dengan UCSZ1,UCSZ0 pada UCSRC. Bit RXB8 [status] : digunakan sebagai penampung data ke 9 pada penerimaan data dengan 9 bit Bit TXB8 [status] : digunakan sebagai penampung data ke 9 pada transmisi data dengan 9 bit

USART Control and Status Register C UCSRC

UCSC : merupakan register 8 bit yang digunakan untuk mengendalikan mode komunikasi USART dan untuk membaca status yang sedang terjadi pada USART. Bit URSEL [kendali] : digunakan untuk memilih register pada UCSRC dan UBRRH. Dua register ini memiliki alamat yang sama, sehingga untuk proses penulisan memerlukan bantuan URSEL. Bila URSEL=1, maka register yang diisi adalah UCSRC, sedangkan bila URSEL = 0, register yang diisi adalah UBRRH. Tidak semua mikrokontroler AVR memiliki URSEL, karena ada yang memiliki register UBRRH dan UCSRC yang beda alamat Bit UMSEL [kendali] : bila 1, maka mode yang dipilih adalah asinkron, 0=sinkron Bit USBS [kendali] : bila 1, maka stop bit berjumlah 2 bit Bit UCSZ1, UCSZ0 [kendali] : bersama2 UCSZ2 digunakan untuk menentukan jumlah bit yang akan dikirimkan dalam sekali pengiriman data.

USART Baud Rate Registers UBRRL and UBRRH

UBRRL,UBRRH: merupakan register 16 bit yang digunakan untuk mengatur laju data (baud rate) pada saat mode komunikasi asinkron.

Tabel

Dasar - dasar ISP (In-System ChipProgramming)In-System Chip Programming (ISP) adalah sebuah fitur bagi sebuah microcontroller agar dapat didownload dengan program tanpa mencabut microcontroller dari system-nya. Sehingga Microcontroller tetap pada kedudukannya semua dan dihubungkan dengan ISP. Dan dilakukan proses download. Begitu pula saat memutuskan hubungan antara Downloader dan Microcontroller , kita hanya cukup memutuskan kabelnya saja, tanpa lagi perlu mencucuk-cabut microkontroler. Cara semacam ini adalah cara yang sangat hemat waktu terutama dalam proses pengembangan sebuah program.In-System Chip Programming (ISP) buatan ATMEL adalah sebuah komunikasi serial yang menggunakan bus SPI (Serial Paripheral Interface) yang menggunakan Shift Register sebagai komponen utamanya. Ada 2 kabel data yang disebut sebagai MISO (Master In Slave Out), dan MOSI (Master Out Slave In). Sesuai dengan namanya jika ISP ini adalah sebuah downloader dan microcontroler, maka dapat dikatakan Master adalah downloader dan Slave adalah MicroController. MOSI adalah kabel yang mengirimkan data kepada Slave, sedang MISO kabel tempat master menerima data. Transfer data tersebut memerlukan sebuah kabel lagi, yang dinamakan sebagai shyncronization. Dalam hal ini kabel tersebut dinamakan dengan SCK (Serial Clock). Data (MISO dan atau MOSI) akan dianggap valid hanya saat SCK dalam keadaan tinggi.Dua peralatan yang berkomunikasi ini sama-sama menggunakan Shift Register. Sehingga dalam komunikasi ISP ini, selalu ada data yang dikirim dan diterima secara bersama-sama dalam setiap clock bit-nya. Dalam hal ini. Untuk setiap perintah dalam ISP ini, data 4 byte dikirim sekaligus juga menerima 4 byte data. 4 byte data yang diterima ini sekaligus juga berarti respon dari target, seperti ATMEL AT89S5X atau AVR.

Flash adalah suatu jenis Read Only Memory yang biasanya diisi dengan program hasil perencanaan, yang harus dijalankan oleh mikrokontroler RAM (Random Acces Memory) merupakan memori yang membantu CPU untuk penyimpanan data sementara dan pengolahan data ketika program sedang running EEPROM (Electrically Erasable Programmable Read Only Memory) adalah memori untuk penyimpanan data secara permanen oleh program yang sedang running Port I/O adalah kaki untuk jalur keluar atau masuk sinyal sebagai hasil keluaran ataupun masukan bagi program Timer adalah modul dalam hardware yang bekerja untuk menghitung waktu/pulsa UART (Universal Asynchronous Receive Transmit) adalah jalur komunikasi data khusus secara serial asynchronous PWM (Pulse Width Modulation) adalah fasilitas untuk membuat modulasi pulsa ADC (Analog to Digital Converter) adalah fasilitas untuk dapat menerima sinyal analog dalam range tertentu untuk kemudian dikonversi menjadi suatu nilai digital dalam range tertentu SPI (Serial Peripheral Interface) adalah jalur komunikasi data khusus secara serial secara serial synchronous ISP (In System Programming) adalah kemampuan khusus mikrokontroler untuk dapat diprogram langsung dalam sistem rangkaiannya dengan membutuhkan jumlah pin yang minimalArsitektur ATmega8535 Saluran I/O sebanyak 32 buah, yaitu Port A, Port B, Port C dan Port D ADC 10 bit sebanyak 8 Channel Tiga buah timer / counter 32 register Watchdog Timer dengan oscilator internal SRAM sebanyak 512 byte Memori Flash sebesar 8 kb Sumber Interrupt internal dan eksternal Port SPI (Serial Peripheral Interface) EEPROM on board sebanyak 512 byte Komparator analog Port USART (Universal Shynchronous Ashynchronous Receiver Transmitter)Fitur ATmega8535 Sistem processor 8 bit berbasis RISC dengan kecepatan maksimal 16 MHz. Ukuran memory flash 8KB, SRAM sebesar 512 byte, EEPROM sebesar 512 byte. ADC internal dengan resolusi 10 bit sebanyak 8 channel Port komunikasi serial USART dengan kecepatan maksimal 2.5 Mbps Mode Sleep untuk penghematan penggunaan daya listrikKonfigurasi pin ATmega8535 VCC merupakan pin yang berfungsi sebagai pin masukan catudaya GND merupakan pin Ground Port A (PA0PA7) merupakan pin I/O dan pin masukan ADC Port B (PB0PB7) merupakan pin I/O dan pin yang mempunyai fungsi khusus yaitu Timer/Counter, komparator Analog dan SPI

Port C (PC0PC7) merupakan port I/O dan pin yang mempunyai fungsi khusus, yaitu komparator analog dan Timer Oscillator Port D (PD0PD1) merupakan port I/O dan pin fungsi khusus yaitu komparator analog dan interrupt eksternal serta komunikasi serial RESET merupakan pin yang digunakan untuk mereset mikrokontroler XTAL1 dan XTAL2 merupakan pin masukan clock eksternal AVCC merupakan pin masukan untuk suplai tegangan ADC AREF merupakan pin masukan tegangan referensi untuk ADCPeta Memory ATmega8535ATmega8535 memiliki ruang pengalamatan memori data dan memori program yang terpisah. Memori data terbagi menjadi 3 bagian yaitu : 32 buah register umum, 64 buah register I.O, dan 512 byte SRAM internal. Register untuk keperluan umum menempati space data pada alamat terbawah yaitu $00 sampai $1F. Sementara itu register khusus untuk menangani I/O dan kontrol terhadap mikrokontroler menempati 64 alamat berikutnya, yaitu mulai dari $20 sampai $5F. Register tersebut merupakan register yang khusus digunakan untuk mengatur fungsi terhadap berbagai peripheral mikrokontroler, seperti kontrol register, timer/counter, fungsi fungsi I/O, dan sebagainya. Register khusus alamat memori secara lengkap dapat dilihat pada tabel dibawah. Alamat memori berikutnya digunakan untuk SRAM 512 byte, yaitu pada lokasi $60 sampai dengan $25F.Peta Memori Data ATmega8535Memori program yang terletak pada Flash Perom tersusun dalam word atau 2 byte karena setiap instruksi memiliki lebar 16-bit atau 32bit. AVR ATmega8535 memiliki 4KByte x 16 Bit Flash Perom dengan alamat mulai dari $000 sampai $FFF. AVR tersebut memiliki 12 bit Program Counter (PC) sehingga mampu mengalamati isi Flash.Memori Program AVR ATmega8535Selain itu AVR ATmega8535 juga memilki memori data berupa EEPROM 8-bit sebanyak 512 byte. Alamat EEPROM dimulai dari $000 sampai $1FF.Status RegisterStatus register adalah register berisi status yang dihasilkan pada setiap operasi yang dilakukan ketika suatu instruksi dieksekusi. SREG merupakan bagian dari inti CPU mikrokontroler.

Status Register ATmega8535Penjelasan : Bit 7 : I (Global Interrupt Enable), Bit harus di Set untuk mengenable semua jenis interupsi. Bit 6 : T (Bit Copy Storage), Instruksi BLD dan BST menggunakan bit T sebagai sumber atau tujuan dalam operasi bit. Suatu bit dalam sebuah register GPR dapat disalin ke bit T menggunakan instruksi BST, dan sebaliknya bit T dapat disalin kembali ke suatu bit dalam register GPR dengan menggunakan instruksi BLD. Bit 5 : H (Half Cary Flag) Bit 4 : S (Sign Bit) merupakan hasil operasi EOR antara flag -N (negatif) dan flag V (komplemen dua overflow). Bit3 : V (Twos Component Overflow Flag) Bit ini berfungsi untuk mendukung operasi matematis. Bit2 : N (Negative Flag) Flag N akan menjadi Set, jika suatu operasi matematis menghasilkan bilangan negatif. Bit1 : Z (Zero Flag) Bit ini akan menjadi Set apabila hasil operasi matematis menghasilkan bilangan 0. Bit0 :C (Cary Flag) Bit ini akan menjadi set apabila suatu operasi menghasilkan carry.Sistem Minimum Atmega8535Sistem minimum (minsys) mikrokontroler adalah rangkaian elektronik minimum yang diperlukan untuk beroperasinya IC mikrokontroler. Rangkaian ini kemudian bisa dihubungkan dengan rangkaian lain untuk menjalankan fungsi tertentu.Sistem Minimum Atmega8535Untuk membuat rangkaian minimum ATmega8535 diperlukan beberapa komponen yaitu: IC mikrokontroler ATmega8535 1 XTAL 4 MHz atau 8 MHz atau 11.0592 MHz (XTAL1) 3 kapasitor kertas yaitu dua 22 pF (C2 dan C3) serta 100 nF (C4) 1 kapasitor elektrolit 4.7 uF (C12) 2 resistor yaitu 100 ohm (R1) dan 10 Kohm (R3) 1 tombol reset pushbutton (PB1)Selain itu tentunya diperlukan power suply yang bisa memberikan tegangan 5V DC. Rangkaian sistem minimum ini sudah siap untuk menerima sinyal analog (fasilitas ADC) di port A.