12
Pernahkah terfikir? Apakah dia: Mikro Pemproses? Mikro Komputer? Mikro Pengawal? Apa Bezanya? Kenapa mikro pengawal? MIKRO PEMPROSES Mikropemproses terdiri daripada ALU untuk melaksanakan manipulasi logik dan aritmetik, daftar dan unit kawalan.

Apa Itu Pengawal Mikro

Embed Size (px)

DESCRIPTION

Pengenalan Kepada PIC

Citation preview

Page 1: Apa Itu Pengawal Mikro

Pernahkah terfikir?

Apakah dia:

Mikro Pemproses?

Mikro Komputer?

Mikro Pengawal?

Apa Bezanya? Kenapa mikro pengawal?

MIKRO PEMPROSES

Mikropemproses terdiri daripada ALU untuk melaksanakan manipulasi logik dan aritmetik, daftar dan unit kawalan.

Sebagai tambahan, ia mempunyai beberapa perantara muka kepada dunia luar dalam bentuk bus-bus.

Page 2: Apa Itu Pengawal Mikro

MIKRO KOMPUTER

MIKRO PENGAWAL

Mikropengawal ialah sistem mikropemproses yang mengandungi ciri-ciri berikut dalam satu chip:

Teras pemproses Ingatan data dan aturcara

Masukan/Keluaran siri dan selari

Pemasa

Mekanisma pengendali sampukan dalaman dan luaran

ADC/DAC dll

Page 3: Apa Itu Pengawal Mikro

KENAPA MIKROPENGAWAL?

Mudah diperolehi/dibeli Murah

Berkuasa

Perkakasan pembagunan yang murah dan mudah diperolehi

Sesuai bagi tujuan pembelajaran dan hobi

Page 4: Apa Itu Pengawal Mikro

DIMANA MIKROPENGAWAL DIGUNAKAN?

Bagi sistem kuasa yang tidak kritikal. Rumah (oven, washing machine, etc)

Pejabat (printer, fax, etc)

Peralatan elektronik (CD player, Hi-Fi, etc)

Komunikasi FAutomotif, dll.

MIKRO PENGAWAL DIPASARAN

PIC – murah, senang dipelajari, senang digunakan, mudah diperolehi, pembangunan yang mudah, mudah diaturcara. (PIC16F84,PIC16F877, …).

MOTOROLA – murah, mudah dipelajari, mudah diperolehi. (MC68HC11).

ATMEL – murah, senang dipelajari, mudah diperolehi. (AT89C2051).

Lain : ARM, AVR, SH-1, ….

SEDIKIT PERBANDINGAN

Page 5: Apa Itu Pengawal Mikro

APA YANG PERLU DIKETAHUI UNTUK GUNA MIKROPENGAWAL?

1. CIRI-CIRI DALAMAN: Ingatan Liang Masukan/keluaran

Pemasa & pembilang

ADC/DAC

Serial Communication: UART

PWM

Dll

*  ( jangan lupa “data sheet”)

2. Basic Circuitry: Kuasa – 5V dan GND Pengayun – denyut jam untuk pelaksanaan suruhan

Reset – restart mikropengawal

I/O – membaca dan mengawal keluaran

3. Set Suruhan:

Digunakan untuk tulis aturcara. Boleh rujuk helaian data.

4. Perkakasan Pembagunan

Digunkan untuk menulis aturcara, menyelaku dan muat turun aturcara.

Pengenalan Kepada PICMari kita mulakan kelas pertama ini. Apa itu PIC? PIC bermaksud Peripheral Interface Controller. Ianya adalah sejenis microcontroller. Apa pula microcontroller? Seperti namanya, microcontroller adalah satu pengawal yang kecil dalam bentuk litar elektronik. Ianya seperti litar elektronik biasa yang mempunyai beberapa komponen yang mengawal isyarat masukan

Page 6: Apa Itu Pengawal Mikro

(input), memprosesnya dan kemudian memberi maklumbalas (feedback) dalam bentuk keluaran (output) untuk memjalankan sesuatu fungsi. Uniknya litar microcontroller ini ianya mempunyai IC (intergrated circuit) yang mana IC tersebut boleh diprogramkan mengikut kehendak kita. Jika litar elektronik yang biasa akan menjalankan sesuatu fungsi tersebut secara khas dan tidak boleh ditukar kepada fungsi lain.

Sebuah komputer merupakan juga satu sistem kawalan. Komputer mempunyai pemproses mikro (microprocessor), RAM (Read Access Memory), Hardisk dan sebagainya. Microcontroller adalah serupa, tetapi saiznya jauh lebih kecil iaitu hanya sebesar IC 8, 18, 28 dan 40 pin. IC unik yang boleh diprogramkan itu adalah microcontroller. Memandangkan ianya bersaiz terlalu kecil berbanding litar komputer, maka kemampuannya juga terhad dan kecil. Di dalam microcontroller ini juga terdapat microprocessor, RAM (nilai yang terhad), hardisk dalam bentuk flash memory seperti pendrive anda serta beberapa fungsi modul yang lain.

IC microcontroller ini tidak dapat berfungsi dengan sendiri. Ianya memerlukan beberapa komponen tambahan untuk menjadikan litar microcontroller lengkap. Komponen tambahan ini bergantung kepada jenis IC microcontroller yang digunakan. Salah satu jenis IC microcontroller adalah PIC keluaran Microchip yang telah disebutkan. Jenis lain yang terdapat dalam pasaran ialah seperti Atmel (yang terkenal dengan sistem Arduino), Intel 8051, Z80 dari Zilog dan banyak lagi.

Kenapa PIC? Saya memilih untuk memberi penekanan kepada PIC berbanding microcontroller yang lain kerana kosnya murah, siri PIC yang pelbagai (terdapat siri dari PIC10, PIC12, PIC16, PIC18, PIC24, PIC30 dan PIC32) yang boleh dipilih mengikut berapa besar sistem kawal yang dikehendaki, pengguna yang ramai (menjadikan ianya dikenali) dan juga banyak development tool untuk PIC yang boleh dimuat turun secara percuma di internet. Oleh kerana PIC merupanya microcontroller dalam bentuk IC yang boleh diprogramkan, saya suka menyebut ianya sebagai Programmable IC untuk akronim PIC disebabkan ianya adalah IC yang sama bentuk dengan yang lain, cuma ianya tiada fungsi (seolah-olah seperti IC yang kosong) sehinggalah kita yang mencorakkan fungsinya mengikut kehendak kita melalui program yang ditulis dan dimasukkan ke dalam IC tersebut.

Keluarga PIC8-bit (PIC10, PIC12, PIC16, PIC18)16-bit (PIC24F, PIC24H, dsPIC30, dsPIC33)32-bit (PIC32)

Apa pula 8-bit, 16-bit, 32-bit? Memandangkan anda yang membaca blog ini ada capaian internet, saya tidak mahu mengulas lebih dalam tentang bit ini kerana ianya agak mendalam bagi mereka yang tiada asas elektronik digital. Oleh itu, sebagai kerja rumah, anda bolehlah mencari maksud bit dan penggunaannya melalui carian Google dan sebagainya. =) Secara ringkas, microcontroller memerlukan bahasa mesin (machine language) dalam bentuk

Page 7: Apa Itu Pengawal Mikro

nombor asas dua (base 2 number atau dipanggil binary number) 0 dan 1, serta nombor asas enam sepuluh (hexadecimal) bukannya asas 16 sebagai bahasa mesin. Kita akan belajar bahasa mesin ini dalam kelas akan datang dalam pengaturcaraan (programming) PIC.

Bit yang dimaksudkan adalah bilangan susunan nombor binary sebagai contoh nombor 8-bit adalah 1010 0101, di mana terdapat 8 angka nombor binary 0 dan 1. Perbezaan antara 8,16 dan 32-bit PIC pula ialah, secara mudahnya semakin banyak bilangan bit, semakin laju pemprosesan data, semakin banyak bilangan input, semakin banyak juga bilangan output. Sebagai contoh, 8-bit PIC mempunyai 8 input bagi satu register (memory), 8 output bagi satu register dan memproses 8 angka binary serentak.Oleh itu semakin banyak bit, 16 atau 32, semakin laju microcontroller tersebut.

Kita akan sambung kelas PIC kita dalam kelas yang ke-2 di mana kita akan mempelajari litar asas PIC. Nantikan. =)

Untuk sebarang pertanyaan dan maklumbalas, sila komen pada entry ini atau menggunakan borang maklumbalas di bawah. Komen membina anda adalah diperlukan untuk menambahbaik blog ini. Terima kasih.

Terdapat 3 bahagian utama untuk memprogram PIC, iaitu dari PC (software untuk menulis program dan software untuk compile program) ke Programmer (merupakan suatu litar untuk memindahkan program yang telah di"compile" di PC ke PIC) dan seterusnya ke litar PIC.

SoftwareSoftware yang diperlukan ialah untuk:1. Menulis program2. Meng"compile" program3. Membina litar untuk simulasi

Untuk menulis program ke PIC, kita haruslah mengetahui bahasa pengaturcaraan (programming language) yang boleh digunakan untuk memprogram PIC. Jika anda meng'Google' untuk mencari bahasa yang digunakan untuk memprogram sesuatu PIC, anda akan menemui senarai program (programming list) dalam bahasa yang anda sendiri tidak faham. Ini kerana dalam tahun sebelum 2000, kebanyakkan bahasa yang digunakan adalah bahasa peringkat rendah seperti BASIC (kebanyakkannya sudah tidak menggunakan bahasa ini lagi) dan Assembly (.asm). Assembly language masih lagi digunakan dan merupakan bahasa yang popular. Sebab itu jika kita merujuk kepada buku-buku era 90an dan awal 2000, kebanyakkan pengaturcaraan PIC menggunakan bahasa Assembly.

Kini bahasa yang mudah untuk difahami serta mudah untuk menulis adalah bahasa C (C language) yang merupakan salah satu bahasa peringkat tinggi (high level language). Kenapa bahasa-bahasa ini perlu diketahui sebelum menulis sesuatu program? Ini kerana setiap bahasa

Page 8: Apa Itu Pengawal Mikro

memerlukan aplikasi software yang berbeza bagi satu-satu bahasa. Contohnya bahasa BASIC boleh ditulis menggunakan MikroBASIC, BASIC Pro dan sebagainya yang khusus untuk bahasa BASIC. Manakala bahasa C boleh ditulis menggunakan MikroC tetapi tidak boleh menggunakan MikroBASIC dan sebaliknya. Bagi bahasa Assembly, kebanyakkan software compiler boleh digunakan, termasuk juga MikroC. Ini kerana bahasa Assembly sudah terkenal dan banyak digunakan. Untuk pelajaran kelas ini, kita akan menggunakan bahasa C dan ditulis pada software MikroC.

Program CompilerKita boleh menulis dan meng"compile" program yang ditulis sekaligus menggunakan software MikroC yang sama. Apa itu program compiler? Setelah kita menulis program dalam apa jua bahasa, kita perlu untuk meng"compile" program tersebut kepada bahasa mesin (machine language). Apa pula bahasa mesin? Secara mudah, bahasa mesin adalah bahasa yang difahami oleh mesin (PIC) yang biasanya dalam bentuk bit nombor binary atau hexadecimal. Untuk mengetahui secara lanjut, bolehlah meng"Google" tentang bahasa mesin. Setelah kita meng"compile" program tersebut, contohnya jika ditulis dalam bahasa C, biasanya file yang di"save" mempunyai sambungan (extension) .c, akan ditukar kepada hex file iaitu file dengan extension .hex. File tersebut adalah sedia untuk dipindahkan atau diprogram ke PIC.

ProgrammerUntuk memindahkan file hex tersebut, kita memerlukan programmer iaitu suatu litar (hardware) yang disambungkan dari PC (melalui USB port atau serial port RS232) ke PIC (disambungkan ke pin PGD, PGC, MCLR, VSS dan VDD). Sambungan ke PIC ini mengikut jenis PIC dan bilangan pinnya dan biasanya bilangan pin berbeza adalah berbeza sambungan pinnya. Rujuk datasheet PIC tersebut sebelum membuat penyambungan.

Jenis-jenis litar programmer juga berbeza. Sekiranya anda ingin menggunakan programmer sedia ada di pasaran, anda perlu mengetahui apa yang anda perlukan sebelum membelinya. Terdapat programmer dalam bentuk litar untuk fungsi memindahkan hex file ke IC PIC anda sahaja. Jika anda ingin membeli programmer jenis ini, lebih baik jika membeli programmer yang universal yang boleh memprogram semua jenis bilangan pin PIC dari 8, 14, 18, 20, 28 dan 40 pin. Ini kerana jika anda perlu menggunakan salah satu jenis bilangan pin PIC tersebut, programmer tersebut boleh digunakan.

Programmer jenis ini biasanya agak mahal, disebabkan fungsinya untuk memenuhi semua jenis PIC. Akan tetapi kelemahannya ialah IC PIC dimasukkan ke soket IC PIC programmer untuk memindahkan hex file dan kemudian IC PIC perlu dikeluarkan untuk dimasukkan ke soket IC PIC litar PIC yang dibina. Jika program perlu diuji sehingga berjaya, proses mengeluarkan IC PIC dan memasukkannya semula membuatkan proses ujian program menjadi remeh dan ada kemungkinan kaki pin PIC bengkok, patah atau rosak disebabkan mungkin tidak disengajakan semasa mengeluarkan dan memasukkan IC PIC.

Terdapat juga programmer jenis sambungan terus ke litar PIC. Programmer jenis ini biasanya

Page 9: Apa Itu Pengawal Mikro

murah disebabkan sambungan kepada PIC serta komponen terbabit berada pada litar PIC yang kita bina. Kita hanya perlu mengetahui sambungan pin dari programmer (biasanya dalam bentuk connector) dan kemudiannya kita menyediakan sambungan ke pin PIC dalam bentuk connector tersebut juga. Programmer jenis ini memudahkan kita memindahkan hex file ke PIC secara terus ke litar dan dapat diuji terus tanpa perlu mengeluarkan IC PIC seperti programmer jenis yang dinyatakan sebelum ini. Programmer jenis ini adalah disarankan.

Software Simulasi LitarUntuk membuat simulasi litar PIC sebelum hex file dipindahkan ke litar PIC sebenar, kita boleh menggunakan software simulasi litar seperti SIMULINK, Proteus dan sebagainya. Untuk kelas ini, kita akan mempelajari software simulasi litar Proteus dalam Pengaturcaraan PIC (PIC Programming).

Untuk sebarang pertanyaan dan maklumbalas, sila komen pada entry ini atau menggunakan borang maklumbalas di bawah. Komen membina anda adalah diperlukan untuk menambahbaik blog ini. Terima kasih.