SlideShare una empresa de Scribd logo
1 de 9
Sistem minimum Mikrokontroler Atmega8535/16/32<br />Mikrokontroler adalah suatu keping IC dimana terdapat mikroprosesor dan memori program (ROM) serta memori serbaguna (RAM), bahkan ada beberapa jenis mikrokontroler yang memiliki fasilitas ADC, PLL, EEPROM dalam satu kemasan. Penggunaan mikrokontroler dalam bidang kontrol sangat luas dan populer. Mikrokontroler merupakan komputer didalam  chip yang digunakan untuk mengontrol peralatan elektronik, yang menekankan efisiensi dan efektifitas biaya. Secara harfiahnya bisa disebut quot;
pengendali kecilquot;
 dimana sebuah sistem elektronik yang sebelumnya banyak memerlukan komponen-komponen pendukung seperti IC TTL dan CMOS dapat direduksi/diperkecil dan akhirnya terpusat serta dikendalikan oleh mikrokontroler ini.<br /> Secara teknis hanya ada 2 jenis mikrokontroler yaitu RISC dan CISC dan masing-masing mempunyai keturunan/keluarga  sendiri-sendiri. RISC kependekan dari Reduced Instruction Set Computer : instruksi terbatas tapi memiliki fasilitas yang lebih banyak. CISC kependekan dari Complex Instruction Set Computer : instruksi bisa dikatakan lebih lengkap tapi dengan fasilitas secukupnya.<br />Ada beberapa vendor yang membuat mikrokontroler diantaranya Intel, Microchip, Winbond, Atmel, Philips, Xemics dan lain - lain. Dari beberapa vendor tersebut, yang paling populer digunakan adalah mikrokontroler buatan Atmel. <br />Mikrokontroler AVR (Alf and Vegard’s Risc prosesor) memiliki arsitektur RISC 8 bit, di mana semua instruksi dikemas dalam kode 16-bit (16-bits word) dan sebagian besar instruksi dieksekusi dalam 1 (satu) siklus clock, berbeda dengan instruksi MCS 51 yang membutuhkan 12 siklus clock. Tentu saja itu terjadi karena kedua jenis mikrokontroler tersebut memiliki arsitektur yang berbeda. AVR berteknologi RISC (Reduced Instruction Set Computing), sedangkan seri MCS 51 berteknologi CISC (Complex Instruction Set Computing). <br />Secara umum, AVR dapat dikelompokkan menjadi 4 kelas, yaitu keluarga ATtiny, keluarga AT90Sxx, keluarga ATMega dan AT86RFxx. Pada dasarnya yang membedakan masing–masing kelas adalah memori, peripheral, dan fungsinya. Dari segi arsitektur dan instruksi yang digunakan, mereka bisa dikatakan hampir sama. Oleh karena itu, dipergunakan salah satu AVR produk Atmel, yaitu ATMega8535/16/32.<br />Konfigurasi Pin ATMega8535<br />Gambar: Pin-pin atmega8535<br />Dari gambar tersebut dapat dijelaskan secara fungsional konfigurasi pin ATMega8535 sebagai berikut:<br />VCC merupakan pin yang berfungsi sebagai pin masukan catu daya.<br />GND merupakan pin ground.<br />Port A (PA0..PA7) merupakan pin I/O dua arah dan pin masukan ADC.<br />Port B (PB0..PB7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu Timer/Counter,komparator analog,dan SPI.<br />Port C (PC0..PC7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu TWI,komparator analog dan Timer Oscillator.<br />Port D (PD0..PD7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu komparator analog,interupsi eksternal,dan komunikasi serial.<br />RESET merupakan pin yang digunakan untuk me-reset mikrokontroler.<br />XTAL1 dan XTAL2 merupakan pin masukan clock ekstenal.<br />AVCC merupakan pin masukan tegangan untuk ADC.<br />AREF merupakan pin masukan tegangan referensi ADC. <br />Untuk memprogram mikrokontroler dapat menggunakan bahasa assembler atau bahasa tingkat tinggi yaitu bahasa C.<br />Port Sebagai Input / Output Digital<br />Atmega 8535 mempunyai empat buah port yang bernama PortA, PortB, PortC, dan PortD. Keempat port tersebut merupakan jalur bi-directional dengan pilihan internal pull-up.<br />Tiap port mempunyai tiga buah register bit, yaitu DDxn, PORTxn, dan PINxn. Huruf ‘x’ mewakili nama huruf dari port sedangkan huruf ‘n’ mewakili nomor bit. Bit DDxn terdapat pada I/O address DDRx, bit PORTxn terdapat pada I/O address PORTx, dan bit PINxn terdapat pada I/O address PINx. Bit DDxn dalam register DDRx (Data Direction Register) menentukan arah pin. Bila DDxn diset 1, maka Px berfungsi sebagai pin output. Bila DDxn diset 0 maka Px berfungsi sebagai pin input. Bila PORTxn diset 1 pada saat pin terkonfigurasi sebagai pin input, maka resistor pull-up akan diaktifkan. Untuk mematikan resistor pull-up, PORTxn harus diset 0 atau pin dikonfigurasi sebagai pin output. Pin port adalah tri-state setelah kondisi reset. Bila PORTxn diset 1 pada saat pin terkonfigurasi sebagai pin output maka pin port akan berlogika 1. Dan bila PORTxn diset 0 pada saat pin terkonfigurasi sebagai pin output maka pin port akan berlogika 0.<br />Saat mengubah kondisi port dari kondisi tri-state (DDxn=0, PORTxn=0) ke kondisi output high (DDxn=1, PORTxn=1) maka harus ada kondisi peralihan apakah itu kondisi pull-up enabled (DDxn=0, PORTxn=1) atau kondisi output low (DDxn=1, PORTxn=0). Biasanya, kondisi pull-up enabled dapat diterima sepenuhnya, selama lingkungan impedansi tinggi tidak memperhatikan perbedaan antara sebuah strong high driver dengan sebuah pull-up. Jika ini bukan suatu masalah, maka bit PUD pada register SFIOR dapat diset 1 untuk mematikan semua pull-up dalam semua port. Peralihan dari kondisi input dengan pull-up ke kondisi output low juga menimbulkan masalah yang sama. Maka harus menggunakan kondisi tri-state (DDxn=0, PORTxn=0) atau kondisi output high (DDxn=1, PORTxn=0) sebagai kondisi transisi.<br />Tabel Konfigurasi Pin Port<br />-15938519050<br />Tabel diatas menunjukkan konfigurasi pin pada port-port mikrokontroler. Bit 2 – PUD = Pull-up Disable, bila bit diset bernilai 1 maka pull-up pada port I/O akan dimatikan walaupun register DDxn dan PORTxn dikonfigurasikan untuk menyalakan pull-up (DDxn=0, PORTxn=1).<br />Codevision AVR<br />Pemrograman mikrokontroler AVR lebih mudah dilakukan dengan bahasa pemrograman C, salah satu  software pemrograman AVR mikrokontroler adalah Codevision AVR C Compiler. Dengan C AVR program yang telah di tulis selanjutnya di-compile agar diperoleh bentuk hexadesimal dengan bentuk file *.hex. bentuk hexa inilah yang akan dapat di download ke mikrokontroller.<br />Memulai project dengan C AVR<br /> <br />File > New > Pilih Project > OK<br />Use codeWizardAVR? >NO<<br />Kemudian simpan project.  Dan muncul jendela berikut<br />Pada colom C compiler, di bagian chip pilih mikrokontroller yang digunakan (Atmega8535) berikut juga crystal nya(12 Mhz). OK <br />Langkah selanjutnya yaitu, membuat file tempat penulisan source code yang ber ektensi .c. yaitu, pilih File > New > Pilih Source > OK.<br />Kemudian, ketikkan dulu satu atau beberapa baris listing program, kemudian simpan [ File > Save ], dengan ekstensi .c.<br />3060065447675Langkah selanjutnya adalah meng-include file source code listing program tadi kedalam project yang kita buat, caranya adalah.. Pilih Project > Configure<br />564515-4445<br />Kemudian pilih > “Add” > masukkkan/ open file ber-ekstensi .c yang tadi di save.<br />Menggunakan Simulator Proteus<br />2012315256540Proteus ISIS, dapat digunakan untuk mensimulasikan program yang telah dibikin.<br />Tampilan awal proteus 7.6<br />Memanggil komponen<br />Start/stop simulation<br />Rangkai seperti gambar berikut. Ambil komponen, untuk mikro pilih AT90S8535 (sama dengan atmega8535), led pilih yang aktive (warna terserah), resistor MINRES470R, dan tombol dengan button (pilih yang aktif).<br />434594096520<br />Properties AT90S8535Ubah clock frequency sesuai pada compiler CAVR, dan pada Program file masukkan /cari file .hex hasil compile program yang dibuatUntuk mengubah value tengan dc, klik kanan edit propertiesUntuk sumber tegangan, pilih dc<br />Menyalakan Lampu di PORT C<br />Pada gambar Sistem minimum Mikrokontroler Atmega8535/16/32 diatas, PORTC dihubungkan denga 8buah led, dimana 8led tersebut terhubung common anoda (anoda bersama), sehingga saat diberikan logika 0 pada port C maka akan mendapatkan led menyala. Hal ini dikarenakan adanya beda potensial pada kaki anoda dan katoda. Saat kita memberikan logika 1, maka Led akan padam.<br />Contoh Programnya:<br />1. Program Menghidupkan LED di PORTC<br />//Prog1: Menghidupkan LED di PortC<br />#include<mega8535.h><br />void main(void)<br />{ <br />DDRC=0xff; // inisialisasi PORTC sebagi keluaran <br />PORTC=0xF0; // keluarkan data F0 di PORT C (cat:F0=11110000)<br />}<br />2. Program Menghidupkan LED<br />//Prog2: Menghidupkan LED1,3,5,7<br />#include<mega8535.h><br />void main(void)<br />{<br />DDRC=0xff; // inisialisasi PORTC sebagi keluaran<br />PORTC=0xAA; // keluarkan data AA(hex) ke PORTC cat: AA=10101010 <br />}<br />3. Program LED Berkedip (memakai delay)<br />//Prog3: LED berkedip pada Port C<br />#include<mega8535.h><br />#include<delay.h><br />void main(void)<br />{<br />DDRC=0xff;  // inisialisasi PORTC sebagi keluaran<br />while(1) // perulangan yang tidak pernah terpenuhi<br />{<br />PORTC=0x00;<br />delay_ms(1000);<br />PORTC=0xff;<br />delay_ms(1000);<br />}<br />}<br />4. Program LED Berjalan<br />//prog4: LED berjalan<br />#include<mega8535.h><br />#include<delay.h><br />void main(void)<br />{    <br />char urutan[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};<br />char i;<br />DDRC=0xff;<br />PORTC=0Xff;<br />        while(1)<br />        {<br />           for(i=0;i<8;i++)<br />                {<br />                PORTC=urutan[i];<br />                delay_ms(500);<br />                }<br />         }<br />}     <br />Penjelasan : <br />#include<mega8535.h> : Inisialisasi Mikrokontroller yang dipakai, memanggil library ( mempersiapkan perintah2 yang dapat digunakan saat menggunakan mikrokontroler Atmega8535).<br />#include<delay.h> : memanggil library delay, dimana terdapat fungsi2 delay/tunda yang dapat kita gunakan, seperti delay_ms(“konstanta”) =tunda untuk milisecond, delay_us(“konstanta”) =tunda untuk microsecond.<br />DDRn : Menyiapkan PORTn sebagai Keluaran (0xff) atau  masukan (0x00)<br />PORTn : Keluarkan data di PORTn<br />n         : mewakili A,B,C,dan D (PORT)<br />Karena common Annoda maka pada saat logika “0”, lampu LED akan  menyala. Untuk penggunaan biner, maka penulisannya adalah 0b10101010. Untuk penggunaan Hexa, maka penulisannya adalah 0xaa.<br />PENEKANAN TOMBOL <br />Port-port mikrokontroler dilengkapi pull up internal, sehingga kondisi default-nya adalah high. Untuk menjadikan Port ini sebagai input, kita tinggal memberikan logika high atau membiarkannya dalam kondisi default. Jika kita menginginkan sebuah masukan terbaca kita sebaiknya menggunakan masukan berupa sinyal Low. Prinsip kerja Hardware ,saat kita menekan tombol SW maka signal reendah akan dikrim ke PORTA pada mikrokontroler, Dengan demikian port ini akan mempunyai logika sesuai dengan penekanan tombol . Kemudian akan memicu PORTC unruk mengeluarkan data.( Tergantung Programnya bagaimana)<br />Contoh Programnya:<br />1. Penekanan Tombol di PORTA<br />#include<mega8535.h><br />void main(void)<br />{     <br />       DDRA=0x00; // PORTA diinisialisasikan sebagai masukan<br />       DDRC=PORTA=PORTC=0xff;    <br />       while(1)<br />           {             PORTC=PINA;<br />            };  <br /> }<br />2. Penekanan Tombol di PORTA 2     <br />#include<mega8535.h><br />void main(void)<br />{<br />DDRA=0x00; // PORTA diinisialisasikan sebagai masukan<br />DDRC=PORTA=PORTC=0xff;    <br />while(1)<br />       {<br />if (PINA.0==0) {PORTC=0x5f;} <br />else if<br />    (PINA.1==0) {PORTC=0xAf;}<br />else if <br />     (PINA.2==0) {PORTC=0x9f;}<br />else if<br />      (PINA.3==0) {PORTC=0x6f;}<br />else        <br />{PORTC=0x0f};<br />        }<br />}<br />Penjelasan: <br />DDRA=0x00; // PORTA diinisialisasikan sebagai masukan<br />DDRC=PORTB=PORTC=0xff;    : PORTC sebagai keluaran. Data di PORTC dan PORTB adalah tinggi semua ( 0xff ). Biner: (11111111). <br />PINB.0 : Kita bisa mengakses langsung ke PIN PORTB nomor 0   ( catatan: PIN dan PORT berbeda. PIN untuk satu saja kalau PORT untuk keseluruhan PIN. Satu PORT ada 8 PIN )<br />While (1) : Dipakai karena agar program mengulang kembali instruksi yang berada di bawahnya. Ciri perulangan while adalah dia akan terus melakukan perulangan karena tidaka akan terpenuhi.<br />Inti penekanan Tombol adalah Membuat  sebuah PORT menjadi masukan. Dan aksinya tentunya akan dilakukan di PORT yang diset sebagai keluaran.<br />>>>>>>>>>>>>>>><br />Tugas, buatlah program led berjalan dengan penekanan tombol, jika PINA.0 ditekan akan berjalan kekanan, jika PINA.1 ditekan akan berjalan kekiri, jika PINA.2 ditekan akan berkedip-kedip, jika tidak di tekan kondisi led mati.<br />Tugas dirumah, cari artikel dan pelajari mengenai tipe data dan  instruksi dalam CAVR<br />
ATMEGA8535 Sistem Minimum
ATMEGA8535 Sistem Minimum
ATMEGA8535 Sistem Minimum
ATMEGA8535 Sistem Minimum
ATMEGA8535 Sistem Minimum
ATMEGA8535 Sistem Minimum
ATMEGA8535 Sistem Minimum
ATMEGA8535 Sistem Minimum

Más contenido relacionado

La actualidad más candente

Makalah mikroprosesor jam digital dengan LCD16X2
Makalah mikroprosesor jam digital dengan LCD16X2 Makalah mikroprosesor jam digital dengan LCD16X2
Makalah mikroprosesor jam digital dengan LCD16X2 lely charo
 
Materi praktek-10-pemrograman-output-display-7-segment
Materi praktek-10-pemrograman-output-display-7-segmentMateri praktek-10-pemrograman-output-display-7-segment
Materi praktek-10-pemrograman-output-display-7-segmentNyoman Dharmawan
 
Running Text on LCD ATMEGA 8535
Running Text on LCD ATMEGA 8535Running Text on LCD ATMEGA 8535
Running Text on LCD ATMEGA 8535Chardian Arguta
 
72681707 jam-digital-at-mega-16
72681707 jam-digital-at-mega-1672681707 jam-digital-at-mega-16
72681707 jam-digital-at-mega-16Satria Speed
 
Cara membuat simulasi lcd running text dengan menggunakan proteus
Cara membuat simulasi lcd running text dengan menggunakan proteusCara membuat simulasi lcd running text dengan menggunakan proteus
Cara membuat simulasi lcd running text dengan menggunakan proteusFilla Fidyana
 
Membuat sensor suhu lm 35 menggunakan at mega
Membuat sensor suhu lm 35 menggunakan at megaMembuat sensor suhu lm 35 menggunakan at mega
Membuat sensor suhu lm 35 menggunakan at megaPriyo Harjiyono
 
Basic avr-microcontroller-tutorial 8535
Basic avr-microcontroller-tutorial 8535Basic avr-microcontroller-tutorial 8535
Basic avr-microcontroller-tutorial 8535LAZY MAGICIAN
 
Bab 5 Pengolahan Input Output
Bab 5  Pengolahan Input OutputBab 5  Pengolahan Input Output
Bab 5 Pengolahan Input OutputBeny Abd
 
Modul dasar-mikrokontroler-bab-ii-kebutuhan-hardware-at mega16
Modul dasar-mikrokontroler-bab-ii-kebutuhan-hardware-at mega16Modul dasar-mikrokontroler-bab-ii-kebutuhan-hardware-at mega16
Modul dasar-mikrokontroler-bab-ii-kebutuhan-hardware-at mega16Beny Abdurrahman
 
Dasar dasar mikrokontroler
Dasar dasar mikrokontrolerDasar dasar mikrokontroler
Dasar dasar mikrokontrolerTantriIrawan
 
Modul arduino iii
Modul arduino iiiModul arduino iii
Modul arduino iiisutono stn
 
Pemahaman Dasar Mikrokontroler
Pemahaman Dasar MikrokontrolerPemahaman Dasar Mikrokontroler
Pemahaman Dasar MikrokontrolerAbel Tasfir
 
97674720 buku-mikrokontroler-atmega8535-dengan-codevisionavr
97674720 buku-mikrokontroler-atmega8535-dengan-codevisionavr97674720 buku-mikrokontroler-atmega8535-dengan-codevisionavr
97674720 buku-mikrokontroler-atmega8535-dengan-codevisionavrPrayogy Pangestu
 
Modul arduino i ii
Modul arduino i iiModul arduino i ii
Modul arduino i iisutono stn
 

La actualidad más candente (19)

(1) pemrograman lcd
(1) pemrograman lcd(1) pemrograman lcd
(1) pemrograman lcd
 
Makalah mikroprosesor jam digital dengan LCD16X2
Makalah mikroprosesor jam digital dengan LCD16X2 Makalah mikroprosesor jam digital dengan LCD16X2
Makalah mikroprosesor jam digital dengan LCD16X2
 
Materi praktek-10-pemrograman-output-display-7-segment
Materi praktek-10-pemrograman-output-display-7-segmentMateri praktek-10-pemrograman-output-display-7-segment
Materi praktek-10-pemrograman-output-display-7-segment
 
Running Text on LCD ATMEGA 8535
Running Text on LCD ATMEGA 8535Running Text on LCD ATMEGA 8535
Running Text on LCD ATMEGA 8535
 
72681707 jam-digital-at-mega-16
72681707 jam-digital-at-mega-1672681707 jam-digital-at-mega-16
72681707 jam-digital-at-mega-16
 
Cara membuat simulasi lcd running text dengan menggunakan proteus
Cara membuat simulasi lcd running text dengan menggunakan proteusCara membuat simulasi lcd running text dengan menggunakan proteus
Cara membuat simulasi lcd running text dengan menggunakan proteus
 
Membuat sensor suhu lm 35 menggunakan at mega
Membuat sensor suhu lm 35 menggunakan at megaMembuat sensor suhu lm 35 menggunakan at mega
Membuat sensor suhu lm 35 menggunakan at mega
 
Makalah Mikrokontroler ATmega16
Makalah Mikrokontroler ATmega16Makalah Mikrokontroler ATmega16
Makalah Mikrokontroler ATmega16
 
Basic avr-microcontroller-tutorial 8535
Basic avr-microcontroller-tutorial 8535Basic avr-microcontroller-tutorial 8535
Basic avr-microcontroller-tutorial 8535
 
Bab 5 Pengolahan Input Output
Bab 5  Pengolahan Input OutputBab 5  Pengolahan Input Output
Bab 5 Pengolahan Input Output
 
Modul dasar-mikrokontroler-bab-ii-kebutuhan-hardware-at mega16
Modul dasar-mikrokontroler-bab-ii-kebutuhan-hardware-at mega16Modul dasar-mikrokontroler-bab-ii-kebutuhan-hardware-at mega16
Modul dasar-mikrokontroler-bab-ii-kebutuhan-hardware-at mega16
 
Presentasi Mikrokontroler
Presentasi MikrokontrolerPresentasi Mikrokontroler
Presentasi Mikrokontroler
 
Bahan ajar
Bahan ajarBahan ajar
Bahan ajar
 
Dasar dasar mikrokontroler
Dasar dasar mikrokontrolerDasar dasar mikrokontroler
Dasar dasar mikrokontroler
 
Modul arduino iii
Modul arduino iiiModul arduino iii
Modul arduino iii
 
Pemahaman Dasar Mikrokontroler
Pemahaman Dasar MikrokontrolerPemahaman Dasar Mikrokontroler
Pemahaman Dasar Mikrokontroler
 
97674720 buku-mikrokontroler-atmega8535-dengan-codevisionavr
97674720 buku-mikrokontroler-atmega8535-dengan-codevisionavr97674720 buku-mikrokontroler-atmega8535-dengan-codevisionavr
97674720 buku-mikrokontroler-atmega8535-dengan-codevisionavr
 
PROYEK1
PROYEK1PROYEK1
PROYEK1
 
Modul arduino i ii
Modul arduino i iiModul arduino i ii
Modul arduino i ii
 

Similar a ATMEGA8535 Sistem Minimum

Mikroprosesor dan mikrokontroler
Mikroprosesor dan mikrokontrolerMikroprosesor dan mikrokontroler
Mikroprosesor dan mikrokontrolerAzizah Amel
 
Laporan Praktikum konveyor maju mundur menggunakan atmega16
Laporan Praktikum konveyor maju mundur menggunakan atmega16Laporan Praktikum konveyor maju mundur menggunakan atmega16
Laporan Praktikum konveyor maju mundur menggunakan atmega16Sidiksetiyono17
 
Basic avr-microcontroller-tutorial v3
Basic avr-microcontroller-tutorial v3Basic avr-microcontroller-tutorial v3
Basic avr-microcontroller-tutorial v3Mabekni Yulianto
 
Laporan Praktikum Robot Maju Mundur menggunakan ATMega16
Laporan Praktikum Robot Maju Mundur menggunakan ATMega16Laporan Praktikum Robot Maju Mundur menggunakan ATMega16
Laporan Praktikum Robot Maju Mundur menggunakan ATMega16Sidiksetiyono17
 
Mikroprosesor sttc
Mikroprosesor sttcMikroprosesor sttc
Mikroprosesor sttcBeni Putra
 
M I C R O C O N T R O L L E R 2009new
M I C R O C O N T R O L L E R 2009newM I C R O C O N T R O L L E R 2009new
M I C R O C O N T R O L L E R 2009newDeddy Susilo
 
Percobaan 12 led berbasis a tmega16
Percobaan 12 led berbasis a tmega16Percobaan 12 led berbasis a tmega16
Percobaan 12 led berbasis a tmega16DelaOktavia1
 
Presentasi makalah interface & peripheral
Presentasi makalah interface & peripheralPresentasi makalah interface & peripheral
Presentasi makalah interface & peripheralyohanesjati
 
Percobaan 12 led berbasis ATMega16 - BascomeAVR
Percobaan 12 led berbasis ATMega16 - BascomeAVRPercobaan 12 led berbasis ATMega16 - BascomeAVR
Percobaan 12 led berbasis ATMega16 - BascomeAVRMaesaroh9
 
Mikroprosesor &amp; mikrokomputer
Mikroprosesor &amp; mikrokomputerMikroprosesor &amp; mikrokomputer
Mikroprosesor &amp; mikrokomputeragus ismangil
 
Presentasi dan video pembelajaran Mikrokontroller
Presentasi dan video pembelajaran MikrokontrollerPresentasi dan video pembelajaran Mikrokontroller
Presentasi dan video pembelajaran Mikrokontrollerirsyadsyawal1
 
Pertemuan 14-sistem-embedded
Pertemuan 14-sistem-embeddedPertemuan 14-sistem-embedded
Pertemuan 14-sistem-embeddedFrance Rhezhek
 
PERANCANGAN PUTAR BALIK MOTOR DC WALKING ROBOT MENGGUNAKAN MIKROKONTROLLER ...
PERANCANGAN PUTAR BALIK MOTOR DC  WALKING ROBOT MENGGUNAKAN  MIKROKONTROLLER ...PERANCANGAN PUTAR BALIK MOTOR DC  WALKING ROBOT MENGGUNAKAN  MIKROKONTROLLER ...
PERANCANGAN PUTAR BALIK MOTOR DC WALKING ROBOT MENGGUNAKAN MIKROKONTROLLER ...muhamadaulia3
 
Perancangan keypad mesin fotocopy sederhana menggunakan ATmega8535
Perancangan keypad mesin fotocopy sederhana menggunakan ATmega8535Perancangan keypad mesin fotocopy sederhana menggunakan ATmega8535
Perancangan keypad mesin fotocopy sederhana menggunakan ATmega8535al farisi
 

Similar a ATMEGA8535 Sistem Minimum (20)

1 mikrokontroler-avr1
1  mikrokontroler-avr11  mikrokontroler-avr1
1 mikrokontroler-avr1
 
Sensor suhu LM 35
Sensor suhu LM 35Sensor suhu LM 35
Sensor suhu LM 35
 
Mikroprosesor dan mikrokontroler
Mikroprosesor dan mikrokontrolerMikroprosesor dan mikrokontroler
Mikroprosesor dan mikrokontroler
 
Laporan Praktikum konveyor maju mundur menggunakan atmega16
Laporan Praktikum konveyor maju mundur menggunakan atmega16Laporan Praktikum konveyor maju mundur menggunakan atmega16
Laporan Praktikum konveyor maju mundur menggunakan atmega16
 
Basic avr-microcontroller-tutorial v3
Basic avr-microcontroller-tutorial v3Basic avr-microcontroller-tutorial v3
Basic avr-microcontroller-tutorial v3
 
Laporan Praktikum Robot Maju Mundur menggunakan ATMega16
Laporan Praktikum Robot Maju Mundur menggunakan ATMega16Laporan Praktikum Robot Maju Mundur menggunakan ATMega16
Laporan Praktikum Robot Maju Mundur menggunakan ATMega16
 
06 jurnal anita
06 jurnal anita06 jurnal anita
06 jurnal anita
 
Sismik
Sismik Sismik
Sismik
 
Mikroprosesor sttc
Mikroprosesor sttcMikroprosesor sttc
Mikroprosesor sttc
 
M I C R O C O N T R O L L E R 2009new
M I C R O C O N T R O L L E R 2009newM I C R O C O N T R O L L E R 2009new
M I C R O C O N T R O L L E R 2009new
 
Percobaan 12 led berbasis a tmega16
Percobaan 12 led berbasis a tmega16Percobaan 12 led berbasis a tmega16
Percobaan 12 led berbasis a tmega16
 
Presentasi makalah interface & peripheral
Presentasi makalah interface & peripheralPresentasi makalah interface & peripheral
Presentasi makalah interface & peripheral
 
Percobaan 12 led berbasis ATMega16 - BascomeAVR
Percobaan 12 led berbasis ATMega16 - BascomeAVRPercobaan 12 led berbasis ATMega16 - BascomeAVR
Percobaan 12 led berbasis ATMega16 - BascomeAVR
 
Mikroprosesor &amp; mikrokomputer
Mikroprosesor &amp; mikrokomputerMikroprosesor &amp; mikrokomputer
Mikroprosesor &amp; mikrokomputer
 
Presentasi dan video pembelajaran Mikrokontroller
Presentasi dan video pembelajaran MikrokontrollerPresentasi dan video pembelajaran Mikrokontroller
Presentasi dan video pembelajaran Mikrokontroller
 
Pertemuan 14-sistem-embedded
Pertemuan 14-sistem-embeddedPertemuan 14-sistem-embedded
Pertemuan 14-sistem-embedded
 
PERANCANGAN PUTAR BALIK MOTOR DC WALKING ROBOT MENGGUNAKAN MIKROKONTROLLER ...
PERANCANGAN PUTAR BALIK MOTOR DC  WALKING ROBOT MENGGUNAKAN  MIKROKONTROLLER ...PERANCANGAN PUTAR BALIK MOTOR DC  WALKING ROBOT MENGGUNAKAN  MIKROKONTROLLER ...
PERANCANGAN PUTAR BALIK MOTOR DC WALKING ROBOT MENGGUNAKAN MIKROKONTROLLER ...
 
Bab ii atmega8
Bab ii atmega8Bab ii atmega8
Bab ii atmega8
 
Perancangan keypad mesin fotocopy sederhana menggunakan ATmega8535
Perancangan keypad mesin fotocopy sederhana menggunakan ATmega8535Perancangan keypad mesin fotocopy sederhana menggunakan ATmega8535
Perancangan keypad mesin fotocopy sederhana menggunakan ATmega8535
 
Tutorial at89s51
Tutorial at89s51Tutorial at89s51
Tutorial at89s51
 

ATMEGA8535 Sistem Minimum

  • 1. Sistem minimum Mikrokontroler Atmega8535/16/32<br />Mikrokontroler adalah suatu keping IC dimana terdapat mikroprosesor dan memori program (ROM) serta memori serbaguna (RAM), bahkan ada beberapa jenis mikrokontroler yang memiliki fasilitas ADC, PLL, EEPROM dalam satu kemasan. Penggunaan mikrokontroler dalam bidang kontrol sangat luas dan populer. Mikrokontroler merupakan komputer didalam  chip yang digunakan untuk mengontrol peralatan elektronik, yang menekankan efisiensi dan efektifitas biaya. Secara harfiahnya bisa disebut quot; pengendali kecilquot; dimana sebuah sistem elektronik yang sebelumnya banyak memerlukan komponen-komponen pendukung seperti IC TTL dan CMOS dapat direduksi/diperkecil dan akhirnya terpusat serta dikendalikan oleh mikrokontroler ini.<br /> Secara teknis hanya ada 2 jenis mikrokontroler yaitu RISC dan CISC dan masing-masing mempunyai keturunan/keluarga  sendiri-sendiri. RISC kependekan dari Reduced Instruction Set Computer : instruksi terbatas tapi memiliki fasilitas yang lebih banyak. CISC kependekan dari Complex Instruction Set Computer : instruksi bisa dikatakan lebih lengkap tapi dengan fasilitas secukupnya.<br />Ada beberapa vendor yang membuat mikrokontroler diantaranya Intel, Microchip, Winbond, Atmel, Philips, Xemics dan lain - lain. Dari beberapa vendor tersebut, yang paling populer digunakan adalah mikrokontroler buatan Atmel. <br />Mikrokontroler AVR (Alf and Vegard’s Risc prosesor) memiliki arsitektur RISC 8 bit, di mana semua instruksi dikemas dalam kode 16-bit (16-bits word) dan sebagian besar instruksi dieksekusi dalam 1 (satu) siklus clock, berbeda dengan instruksi MCS 51 yang membutuhkan 12 siklus clock. Tentu saja itu terjadi karena kedua jenis mikrokontroler tersebut memiliki arsitektur yang berbeda. AVR berteknologi RISC (Reduced Instruction Set Computing), sedangkan seri MCS 51 berteknologi CISC (Complex Instruction Set Computing). <br />Secara umum, AVR dapat dikelompokkan menjadi 4 kelas, yaitu keluarga ATtiny, keluarga AT90Sxx, keluarga ATMega dan AT86RFxx. Pada dasarnya yang membedakan masing–masing kelas adalah memori, peripheral, dan fungsinya. Dari segi arsitektur dan instruksi yang digunakan, mereka bisa dikatakan hampir sama. Oleh karena itu, dipergunakan salah satu AVR produk Atmel, yaitu ATMega8535/16/32.<br />Konfigurasi Pin ATMega8535<br />Gambar: Pin-pin atmega8535<br />Dari gambar tersebut dapat dijelaskan secara fungsional konfigurasi pin ATMega8535 sebagai berikut:<br />VCC merupakan pin yang berfungsi sebagai pin masukan catu daya.<br />GND merupakan pin ground.<br />Port A (PA0..PA7) merupakan pin I/O dua arah dan pin masukan ADC.<br />Port B (PB0..PB7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu Timer/Counter,komparator analog,dan SPI.<br />Port C (PC0..PC7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu TWI,komparator analog dan Timer Oscillator.<br />Port D (PD0..PD7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu komparator analog,interupsi eksternal,dan komunikasi serial.<br />RESET merupakan pin yang digunakan untuk me-reset mikrokontroler.<br />XTAL1 dan XTAL2 merupakan pin masukan clock ekstenal.<br />AVCC merupakan pin masukan tegangan untuk ADC.<br />AREF merupakan pin masukan tegangan referensi ADC. <br />Untuk memprogram mikrokontroler dapat menggunakan bahasa assembler atau bahasa tingkat tinggi yaitu bahasa C.<br />Port Sebagai Input / Output Digital<br />Atmega 8535 mempunyai empat buah port yang bernama PortA, PortB, PortC, dan PortD. Keempat port tersebut merupakan jalur bi-directional dengan pilihan internal pull-up.<br />Tiap port mempunyai tiga buah register bit, yaitu DDxn, PORTxn, dan PINxn. Huruf ‘x’ mewakili nama huruf dari port sedangkan huruf ‘n’ mewakili nomor bit. Bit DDxn terdapat pada I/O address DDRx, bit PORTxn terdapat pada I/O address PORTx, dan bit PINxn terdapat pada I/O address PINx. Bit DDxn dalam register DDRx (Data Direction Register) menentukan arah pin. Bila DDxn diset 1, maka Px berfungsi sebagai pin output. Bila DDxn diset 0 maka Px berfungsi sebagai pin input. Bila PORTxn diset 1 pada saat pin terkonfigurasi sebagai pin input, maka resistor pull-up akan diaktifkan. Untuk mematikan resistor pull-up, PORTxn harus diset 0 atau pin dikonfigurasi sebagai pin output. Pin port adalah tri-state setelah kondisi reset. Bila PORTxn diset 1 pada saat pin terkonfigurasi sebagai pin output maka pin port akan berlogika 1. Dan bila PORTxn diset 0 pada saat pin terkonfigurasi sebagai pin output maka pin port akan berlogika 0.<br />Saat mengubah kondisi port dari kondisi tri-state (DDxn=0, PORTxn=0) ke kondisi output high (DDxn=1, PORTxn=1) maka harus ada kondisi peralihan apakah itu kondisi pull-up enabled (DDxn=0, PORTxn=1) atau kondisi output low (DDxn=1, PORTxn=0). Biasanya, kondisi pull-up enabled dapat diterima sepenuhnya, selama lingkungan impedansi tinggi tidak memperhatikan perbedaan antara sebuah strong high driver dengan sebuah pull-up. Jika ini bukan suatu masalah, maka bit PUD pada register SFIOR dapat diset 1 untuk mematikan semua pull-up dalam semua port. Peralihan dari kondisi input dengan pull-up ke kondisi output low juga menimbulkan masalah yang sama. Maka harus menggunakan kondisi tri-state (DDxn=0, PORTxn=0) atau kondisi output high (DDxn=1, PORTxn=0) sebagai kondisi transisi.<br />Tabel Konfigurasi Pin Port<br />-15938519050<br />Tabel diatas menunjukkan konfigurasi pin pada port-port mikrokontroler. Bit 2 – PUD = Pull-up Disable, bila bit diset bernilai 1 maka pull-up pada port I/O akan dimatikan walaupun register DDxn dan PORTxn dikonfigurasikan untuk menyalakan pull-up (DDxn=0, PORTxn=1).<br />Codevision AVR<br />Pemrograman mikrokontroler AVR lebih mudah dilakukan dengan bahasa pemrograman C, salah satu software pemrograman AVR mikrokontroler adalah Codevision AVR C Compiler. Dengan C AVR program yang telah di tulis selanjutnya di-compile agar diperoleh bentuk hexadesimal dengan bentuk file *.hex. bentuk hexa inilah yang akan dapat di download ke mikrokontroller.<br />Memulai project dengan C AVR<br /> <br />File > New > Pilih Project > OK<br />Use codeWizardAVR? >NO<<br />Kemudian simpan project. Dan muncul jendela berikut<br />Pada colom C compiler, di bagian chip pilih mikrokontroller yang digunakan (Atmega8535) berikut juga crystal nya(12 Mhz). OK <br />Langkah selanjutnya yaitu, membuat file tempat penulisan source code yang ber ektensi .c. yaitu, pilih File > New > Pilih Source > OK.<br />Kemudian, ketikkan dulu satu atau beberapa baris listing program, kemudian simpan [ File > Save ], dengan ekstensi .c.<br />3060065447675Langkah selanjutnya adalah meng-include file source code listing program tadi kedalam project yang kita buat, caranya adalah.. Pilih Project > Configure<br />564515-4445<br />Kemudian pilih > “Add” > masukkkan/ open file ber-ekstensi .c yang tadi di save.<br />Menggunakan Simulator Proteus<br />2012315256540Proteus ISIS, dapat digunakan untuk mensimulasikan program yang telah dibikin.<br />Tampilan awal proteus 7.6<br />Memanggil komponen<br />Start/stop simulation<br />Rangkai seperti gambar berikut. Ambil komponen, untuk mikro pilih AT90S8535 (sama dengan atmega8535), led pilih yang aktive (warna terserah), resistor MINRES470R, dan tombol dengan button (pilih yang aktif).<br />434594096520<br />Properties AT90S8535Ubah clock frequency sesuai pada compiler CAVR, dan pada Program file masukkan /cari file .hex hasil compile program yang dibuatUntuk mengubah value tengan dc, klik kanan edit propertiesUntuk sumber tegangan, pilih dc<br />Menyalakan Lampu di PORT C<br />Pada gambar Sistem minimum Mikrokontroler Atmega8535/16/32 diatas, PORTC dihubungkan denga 8buah led, dimana 8led tersebut terhubung common anoda (anoda bersama), sehingga saat diberikan logika 0 pada port C maka akan mendapatkan led menyala. Hal ini dikarenakan adanya beda potensial pada kaki anoda dan katoda. Saat kita memberikan logika 1, maka Led akan padam.<br />Contoh Programnya:<br />1. Program Menghidupkan LED di PORTC<br />//Prog1: Menghidupkan LED di PortC<br />#include<mega8535.h><br />void main(void)<br />{ <br />DDRC=0xff; // inisialisasi PORTC sebagi keluaran <br />PORTC=0xF0; // keluarkan data F0 di PORT C (cat:F0=11110000)<br />}<br />2. Program Menghidupkan LED<br />//Prog2: Menghidupkan LED1,3,5,7<br />#include<mega8535.h><br />void main(void)<br />{<br />DDRC=0xff; // inisialisasi PORTC sebagi keluaran<br />PORTC=0xAA; // keluarkan data AA(hex) ke PORTC cat: AA=10101010 <br />}<br />3. Program LED Berkedip (memakai delay)<br />//Prog3: LED berkedip pada Port C<br />#include<mega8535.h><br />#include<delay.h><br />void main(void)<br />{<br />DDRC=0xff; // inisialisasi PORTC sebagi keluaran<br />while(1) // perulangan yang tidak pernah terpenuhi<br />{<br />PORTC=0x00;<br />delay_ms(1000);<br />PORTC=0xff;<br />delay_ms(1000);<br />}<br />}<br />4. Program LED Berjalan<br />//prog4: LED berjalan<br />#include<mega8535.h><br />#include<delay.h><br />void main(void)<br />{ <br />char urutan[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};<br />char i;<br />DDRC=0xff;<br />PORTC=0Xff;<br /> while(1)<br /> {<br /> for(i=0;i<8;i++)<br /> {<br /> PORTC=urutan[i];<br /> delay_ms(500);<br /> }<br /> }<br />} <br />Penjelasan : <br />#include<mega8535.h> : Inisialisasi Mikrokontroller yang dipakai, memanggil library ( mempersiapkan perintah2 yang dapat digunakan saat menggunakan mikrokontroler Atmega8535).<br />#include<delay.h> : memanggil library delay, dimana terdapat fungsi2 delay/tunda yang dapat kita gunakan, seperti delay_ms(“konstanta”) =tunda untuk milisecond, delay_us(“konstanta”) =tunda untuk microsecond.<br />DDRn : Menyiapkan PORTn sebagai Keluaran (0xff) atau masukan (0x00)<br />PORTn : Keluarkan data di PORTn<br />n : mewakili A,B,C,dan D (PORT)<br />Karena common Annoda maka pada saat logika “0”, lampu LED akan menyala. Untuk penggunaan biner, maka penulisannya adalah 0b10101010. Untuk penggunaan Hexa, maka penulisannya adalah 0xaa.<br />PENEKANAN TOMBOL <br />Port-port mikrokontroler dilengkapi pull up internal, sehingga kondisi default-nya adalah high. Untuk menjadikan Port ini sebagai input, kita tinggal memberikan logika high atau membiarkannya dalam kondisi default. Jika kita menginginkan sebuah masukan terbaca kita sebaiknya menggunakan masukan berupa sinyal Low. Prinsip kerja Hardware ,saat kita menekan tombol SW maka signal reendah akan dikrim ke PORTA pada mikrokontroler, Dengan demikian port ini akan mempunyai logika sesuai dengan penekanan tombol . Kemudian akan memicu PORTC unruk mengeluarkan data.( Tergantung Programnya bagaimana)<br />Contoh Programnya:<br />1. Penekanan Tombol di PORTA<br />#include<mega8535.h><br />void main(void)<br />{ <br /> DDRA=0x00; // PORTA diinisialisasikan sebagai masukan<br /> DDRC=PORTA=PORTC=0xff; <br /> while(1)<br /> { PORTC=PINA;<br /> }; <br /> }<br />2. Penekanan Tombol di PORTA 2 <br />#include<mega8535.h><br />void main(void)<br />{<br />DDRA=0x00; // PORTA diinisialisasikan sebagai masukan<br />DDRC=PORTA=PORTC=0xff; <br />while(1)<br /> {<br />if (PINA.0==0) {PORTC=0x5f;} <br />else if<br /> (PINA.1==0) {PORTC=0xAf;}<br />else if <br /> (PINA.2==0) {PORTC=0x9f;}<br />else if<br /> (PINA.3==0) {PORTC=0x6f;}<br />else <br />{PORTC=0x0f};<br /> }<br />}<br />Penjelasan: <br />DDRA=0x00; // PORTA diinisialisasikan sebagai masukan<br />DDRC=PORTB=PORTC=0xff; : PORTC sebagai keluaran. Data di PORTC dan PORTB adalah tinggi semua ( 0xff ). Biner: (11111111). <br />PINB.0 : Kita bisa mengakses langsung ke PIN PORTB nomor 0 ( catatan: PIN dan PORT berbeda. PIN untuk satu saja kalau PORT untuk keseluruhan PIN. Satu PORT ada 8 PIN )<br />While (1) : Dipakai karena agar program mengulang kembali instruksi yang berada di bawahnya. Ciri perulangan while adalah dia akan terus melakukan perulangan karena tidaka akan terpenuhi.<br />Inti penekanan Tombol adalah Membuat sebuah PORT menjadi masukan. Dan aksinya tentunya akan dilakukan di PORT yang diset sebagai keluaran.<br />>>>>>>>>>>>>>>><br />Tugas, buatlah program led berjalan dengan penekanan tombol, jika PINA.0 ditekan akan berjalan kekanan, jika PINA.1 ditekan akan berjalan kekiri, jika PINA.2 ditekan akan berkedip-kedip, jika tidak di tekan kondisi led mati.<br />Tugas dirumah, cari artikel dan pelajari mengenai tipe data dan instruksi dalam CAVR<br />