USB AVR Downloader

USBasp merupakan in-circuit programmer untuk mikrokontroler Atmel AVR. Rangkaiannya menggunakanATMega48 atau ATMega8 dan beberapa komponen pasif lainnya. Programmer atau downloader ini menggunakan sebuah penggerak USB hanya-firmware (firmware-only USB driver), tidak memerlukan pengontrol USB khusus.




Fitur-fitur

  • Bisa digunakan untuk berbagai macam platform, sudah diuji untuk Linux, Mac OS dan Windows;
  • Tidakmemerlukan pengontrol atau komponen smd khusus;
  • Kecepatan pemrograman bisa mencapai 5kByte/detik;
  • Opsi SCK untuk mendukung mikrokontroler target yang berkecepatan rendah.


PCB layouts

Dibawah ini beberapa layout PCB yang sudah siap pakai :
Official USBasp kit  Official USBasp kit
Oleh Fisch und Fischl GmbH
Official USBasp kit with case and preprogrammed controller. No smd parts.

de Offiziellen USBasp Bausatz bestellen
USBasp: single-side PCB  usbasp_single_side.t3001.zip (Yang direkomendasikan)
Oleh Thomas Fischl
Single-Side PCB, TARGET 3001! layout file
Size: 90x40 mm (optimized for case Hammond 1591ATBU)
LV-USBasp  lv_usbasp.tar.gz
by Pawel Szramowski (11/2007)
With Low-voltage front-end.
Single-Side PCB, EAGLE layout files, some SMD components
Bernhard Walle  http://bwalle.de/docs/usbasp/
by Bernhard Walle
Double-Side PCB, EAGLE layout files, part list with order numbers for Reichelt.de and Conrad.de
Size: optimized for case Hammond 1591ATBU
Thomas Pfeifer  http://thomaspfeifer.net/atmel_usb_programmer.htm
by Thomas Pfeifer
Single-Side PCB, PDF layout files, SMD components
Tomasz Ostrowski  http://ostry.w.szu.pl/misc.php#USBasp
by Tomasz Ostrowski
Single-Side PCB, PDF and EPS layout files, only four 0805 SMD parts, rest discrete components
USBasp by Christian Heigemeyr  USBasp_CH.zip
by Christian Heigemeyr
Single-Side PCB, with some SMD 0805 components, PDF-files
With additional buttons for reset and disconnection of the target
Zhurov Pavel  USBasp.schUSBasp.pcb
ComponentSide.pdfTopSide.pdfSchematics.pdf
by Zhurov Pavel
Single-Side PCB, P-CAD 2002 format and PDF files
Crosspiece TXD and RXD are added for the ISP connector
J.A. de Groot  usbasp_gr.rar
by J.A. de Groot
The board is single sided (EAGLE format), measures 3 by 8 cm and uses only regular components.

USBasp Howto (in Dutch). There is also a pdf file with 6 devices on one euro-card.



Semoga bermanfaat.
Matthias Goerner  usbasb_mg.zip
by Matthias Görner
Single-Side PCB, eagle-format, with PS/PDF-files
integrated sockets for target chips ATmega8 and ATmega32
USBasp by Hannes Östlund  Tarball with layout
by Hannes Östlund
Doubleside-Side PCB, SMD components, very small
USBasp by Sergiy Bogdancev  http://mcuusage.org.ua/ForAmateurs/Miscellaneous/USBasp_eng.aspx
by Sergiy Bogdancev (01/2010)
3.3V version, ATMega48 only. Single-side PCB, ExpressPCB layout format + socket board for varies AVRs. Without future serial interface, chip initially must be programmed with another programmer.
USBasp by Hans Hafner  Eaglefiles (sch/brd) and CAD case design (dxf)
by Hans Hafner, HTL Mössingerstrasse-Klagenfurt, Österreich, hans.hafner (at) htl-klu (dot) at
(01/2010)
CNC-milled case (DXF file available), Eagle layout, only a few SMD parts

Sejarah dan Ulasan MIkrokontroler

  • Judul : Sejara dan Ulasan Seputar Mikrokontroler
  • Bahasa : Indonesia
  • Jenis File : PDF (Adobe reader)
  • Jumlah Halaman : 20
  • Lain-lain :
  • Isi :
  1. Pengendali mikro 1
  2. Atmel AVR 6
  3. ATMega8535 7
  4. Intel 8051 8
  5. PIC16F84
Anda bisa mendownloadnya disini

Dasar Pemrograman PIC (Bagian 1)

Mikrokontroler saat ini memberikan suatu cara baru kepada kita dalam merancang sirkuit, dahulu kita membutuhkan banyak IC Digital dan perhitungan Aljabar sekarang semua itu dapat dipogram dan di masukkan kedalam satu IC yaitu mikrokontroler. Misalnya satu set lampu lalu lintas membutuhkan satu osilator sirkuit, penghitung, IC dekoding, dan berbagai macam IC logika sekarang dapat dibuat dengan mudah dalam satu IC Mikrokontroler.

Disini kita akan belajar bagaimana memprogram mikrokontroler itu, saya memilih mikrokontroler jenis PIC16F84 yang dapat di flashing atau tulis hapus secara elektrik tanpa memerlukan ultraviolet eraser, yang memiliki 18pin dan oscilator sampai 4Mhz.

(masih direlease)

Mikrokontroler dengan Ladder diagram

Pemrograman Mikrokontroler menggunakan ladder diagram (ladder logic micro).
Bagi anda yang terbiasa memprogram PLC itu akan sangat membantu menggunakan software ini. karena dengan software ini pemrograman mikrokontroler bisa dilakukan layaknya memprogram PLC.

Berikut ialah screenshotnya
Berikut ialah jenis mikrokontroler yang didukung:
  • PIC16F628(A)
  • PIC16F88
  • PIC16F819
  • PIC16F877(A)
  • PIC16F876(A)
  • PIC16F887
  • PIC16F886
  • ATmega128
  • ATmega64
  • ATmega162
  • ATmega32
  • ATmega16
  • ATmega8
Cara menggunakan software ini cukup mudah, pertama anda memasukan kontak (LD,LD not, And, Andnot, timer, ataupun output) melalui label instruction lalu pilih tipe kontak yang anda inginkan, setelah itu isi parameternya apakan kontak input/output dari pin IC atau input/output virtual layaknya PLC.
 setelah itu compile maka ladder pun akan berubah menjadi bentuk intel hex file (.hex) yang siap dimasukan ke dalam IC mikrokontroler.

terima kasih
software Ladder logic nya bisa anda download disini

Dasar Pemrograman AT89C2051 (Bagian 3)

Special Function Register (SFR) AT89Cx051

Random Access Memory (RAM) dalam AT89Cx051 hanya 256 byte, hanya setengahnya yang dipakai sebagai memori-data biasa, setengahnya lagi dipakai untuk register-register untuk mengatur perilaku MCS51 dalam hal-hal khusus, misalnya tempat untuk berhubungan dengan port paralel P1 atau P3, dan sarana input/output lainnya, tapi tidak dipakai untuk menyimpan data seperti layaknya memori-data. Meskipun demikian, dalam hal penulisan program SFR diperlakukan persis sama dengan memori-data.
Nomor memori-data yang disediakan untuk Special Function Register mulai dari $80 sampai dengan $FF, area sebanyak 128 byte ini tidak semuanya dipakai, hal ini digambarkan dalam Denah Special Function Register, Gambar 5. Masing-masing register dalam Special Function Register mempunyai nomor dan nama.
Dianjurkan agar nomor-nomor yang tidak dipakai jangan dipergunakan, karena bisa mengakibatkan terjadinya sesuatu yang tidak terduga.
Sebagian register dalam Special Function Register sudah dibicarakan sebagai Register Dasar, merupakan piranti dasar untuk penulisan program. Register-register dasar tersebut antara lain adalah Akumulator (ACC), Stack Pointer Register (SP), Program Status Register (PSW), Register B, Data Pointer High Byte (DPH) dan Data Pointer Low Byte (DPL). Di dalam area Special Function Register. Register-register ini diperlakukan sebagai memori dengan nomor yang sudah tertentu.
Akumulator menempati memori-data nomor $E0, Stack Pointer Register menempati memori-data nomor $81, Program Status Register ada di $D0, Register B di $F0, DPL di $82 dan DPH di $83.
Kemampuan MCS51 untuk menomori memori-data dalam level bit, dipakai juga dalam Special Function Register. Secara keseluruhan nomor bit yang disediakan dalam MCS51 sebanyak 256, nomor bit 0 sampai 127 sudah dipakai untuk  nomor bit memori-data nomor $20 sampai $2F, sisanya sebanyak 128 nomor dipakai di Special Function Register.
Special Function Register yang bisa dinomori dengan nomor bit, adalah yang mempunyai nomor memori dengan digit heksadesimal kedua adalah 0 atau 8, misalnya nomor $80, $88, $90, $98..$F0 dan $F8.
Akumulator merupakan Special Function Register dengan nomor $E0, sehingga semua bit dalam Akumulator bisa di-nomor-i satu per satu.  Dalam penulisan program bit 0 Akumulator bisa dituliskan sebagai A.0, bit 1 Akumulator ditulis sebagai A.1 dan seterusnya. Instuksi SETB A.0 mengakibatkan bit 0 dari Akumulator menjadi ‘1’ sedangkan bit-bit lainnya tidak terpengaruh. Instruksi CLR A.6 mengakibatkan bit 6 dari Akumulator menjadi ‘0’ tapi tidak memengaruhi bit-bit yang lain.

Pengelompokan SFR

Selain register yang berfungsi sebagai register dasar yang sudah dibicarakan diatas, register-register dalam SFR dipakai untuk mengatur Input/Output dari MCS51 yang dikelompokan menjadi :
·        Register Penampung Data Input/Output, misalnya data yang diisikan ke register P1 akan diteruskan (di-output-kan) ke Port 1 yang terdapat di kaki IC AT89Cx051.
·        Register Pengatur Input/Output dan Register Status Input/Output, misalnya register SCON dipakai untuk mengatur UART dan dipakai untuk memantau kondisi UART, register TCON dipakai untuk mengatur kerja Timer.

Gambar 5
Denah Special Function Register

Uraian Singkat SFR

Berikut ini dibahas secara singkat fungsi dan sifat masing-masing register dalam Special Function Register, pembahasan secara rinci akan dilakukan dibagian lain.
P1 (Port 1, nomor $90, bisa dinomori dengan nomor bit): merupakan sarana input/output port 1, masing-masing bit dalam register ini setara dengan salah satu kaki IC AT89Cx051. Misalnya bit 3 dari register P1 terhubung ke kaki P1.3 (kaki nomor 15 AT89Cx051), instruksi SETB P1.3 mengakibatkan kaki nomor 15 tersebut menjadi ‘1’ dan instruksi CLR P1.3 akan membuatnya menjadi ‘0’.
P3 (Port 3, nomor $B0, bisa dinomori dengan nomor bit): merupakan sarana input/output port 3, masing-masing bit dalam register ini setara dengan salah satu kaki IC AT89Cx051. Misalnya bit 5 dari register P3 terhubung ke kaki P3.5 (kaki nomor 9 AT89Cx051), instruksi SETB P3.5 mengakibatkan kaki nomor 9 tersebut menjadi ‘1’ dan instruksi CLR P3.5 akan membuatnya menjadi ‘0’.
SBUF (Serial Buffer, nomor $99): Register Serial Buffer (SBUF) dipakai untuk mengirim data dan menerima data dengan UART yang terdapat dalam IC AT89Cx051. Angka yang disimpan ke SBUF akan dikirim keluar secara seri lewat kaki TXD (kaki nomor 3 IC AT89Cx051). Sebaliknya data seri yang diterima di kaki RXD (kaki nomor 2 IC AT89Cx051) bisa diambil di register SBUF. Jadi SBUF akan berfungsi sebagai port output pada saat register ini diisi data, dan SBUF akan menjadi port input kalau isinya diambil.
SCON (Serial Control, nomor $98, bisa dinomori dengan nomor bit): register SCON dipakai untuk mengatur perilaku UART di dalam IC AT89Cx051, hal-hal yang diatur meliputi penentuan kecepatan pengiriman data seri (baud rate); mengakitpkan fasilitas penerimaan data seri (fasilitas pengiriman data seri tidak perlu di atur), disamping itu register ini dipakai pula untuk memantau proses pengiriman data seri dan proses penerimaan data seri.
TL0/TH0 (Timer 0 Low/High, nomor $8A/$8C): Kedua register ini bersama membentuk Timer 0, yang merupakan pencacah naik (count up counter). Perilaku kedua register ini diatur oleh register TMOD dan register TCON. Hal-hal yang bisa diatur antara lain adalah sumber clock untuk pencacah, nilai awal pencacah, bilamana proses pencacahan mulai atau berhenti,  dan lain sebagainya.
 TL1/TH1 (Timer 1 Low/High, nomor $8B/$8D): Kedua register ini bersama membentuk Timer 1, yang merupakan pencacah naik (count up counter). Perilaku kedua register ini diatur oleh register TMOD dan register TCON. Hal-hal yang bisa diatur antara lain adalah sumber clock untuk pencacah, nilai awal pencacah, bilamana proses pencacahan mulai atau berhenti,  dan lain sebagainya.
TMOD (Timer Mode, nomor $89): register TMOD dipakai untuk mengatur mode kerja Timer 0 dan Timer 1, lewat register ini masing-masing timer bisa diatur menjadi timer 16-bit, timer 13-bit, timer 8-bit yang bisa isi ulang secara otomatis,  atau 2 buah timer 8 bit yang terpisah. Di samping itu bisa diatur agar proses proses pencacahan timer bisa dikendalikan lewat sinyal dari luar IC AT89Cx051, atau timer dipakai untuk mencacah sinyal-sinyal dari luar IC.
TCON (Timer Control, nomor $88, bisa dinomori dengan nomor bit): register TCON dipakai untuk memulai atau menghentikan proses pencacahan timer dan dipakai untuk memantau apakah terjadi limpahan dalam proses pencacahan. Disamping itu masih tersisa 4 bit dalam register TCON yang tidak dipakai untuk mengatur Timer, melainkan dipakai untuk mengatur sinyal interupsi yang diterima di INT0 (kaki nomor 6) atau INT1 (kaki nomor 7), dan dipakai untuk memantau apakah ada permintaan interupsi pada kedua kaki itu.
IE (Interrupt Enable, nomor $A8, bisa dinomori dengan nomor bit): register ini dipakai untuk mengaktipkan atau me-non-aktipkan sarana interupsi,  bit 0 sampai bit 6 dari register IE (IE.0..IE.6) dipakai untuk mengatur masing-masing sumber interupsi (sesungguhnya IE.6 tidak dipakai) sedangkan IE.7 dipakai untuk mengatur sistem interupsi secara keseluruhan, jika IE.7 =’0’ akan sistem interupsi menjadi non-aktip tidak mempedulikan keadaan IE.0.. IE.6.
IP (Interrupt Priority, nomor $B8, bisa dinomori dengan nomor bit): register ini dipakai untuk mengatur perioritas dari masing-masing sumber interupsi. Masing-masing sumber interupsi bisa diberi perioritas tinggi dengan memberi nilai ‘1’ pada bit bersangkutan dalam register ini. Sumber interupsi yang perioritasnya tinggi bisa menginterupsi proses interupsi dari sumber interupsi yang perioritasnya lebih rendah.
PCON (Power Control, nomor $87): Register PCON dipakai untuk mengatur pemakaian daya IC AT89Cx051, dengan cara ‘menidurkan’ IC tersebut sehingga memerlukan arus kerja yang sangat kecil. Satu satu bit dalam register ini dipakai untuk menggandakan kecepatan pengiriman data seri (baud rate) dari UART di dalam AT89Cx051.

Variasi dari SFR

Seperti sering disebut, MCS51 merupakan satu keluarga IC mikrokontroler yang terdiri dari ratusan macam IC, ratusan macam IC tersebut umumnya mempunyai fasilitas input/output yang berlainan. Keragaman ini ditampung dalam Special Function Register.
Register baku dalam keluarga MCS51, ada yang tidak dimiliki oleh keluarga AT89Cx051, register-register tersebut antara lain adalah :
P0 (Port 0, nomor  $80, bisa dinomori dengan nomor bit): merupakan sarana input/output port 0, masing-masing bit dalam register ini setara dengan salah satu kaki IC AT89C51. Sifat Port 0 mirip sekali dengan sifat Port 1 dan Port 3 milik AT89Cx051.
P2 (Port 2, nomor $A0, bisa dinomori dengan nomor bit): merupakan sarana input/output port 2, masing-masing bit dalam register ini setara dengan salah satu kaki IC AT89C51. Sifat Port 2 mirip sekali dengan sifat Port 1 dan Port 3 milik AT89Cx051
Kaki IC AT89Cx051 hanya 20, hanya setengah dari jumlah kaki AT89C51, berkurangnya kaki ini mengakibatkan AT89Cx051 tidak punya Port 0 dan Port 2 dan dengan demikian juga tidak punya register P0 dan register P2.
Di samping dipakai sebagai port input/output, Port 0 dan Port 2 bisa pula dipakai untuk saluran-data (data bus) dan saluran-alamat (address bus) yang diperlukan AT89C51 untuk bisa menambah memori diluar chip.