Kata-kata:

"Sejelek-jeleknya tulisan/catatan/postingan, adalah sebaik-baiknya ingatan. "(anonim).

Tuesday, February 15, 2011

Menerjemahkan Ebook

Mungkin kalau saya lancar paham dengan bahasa Inggris mungkin tak perlu terjemahan segala, tapi belajar di sekolah kok ya tidak pinter-pinter. Kenapa? karena hanya senangnya sekolah tapi tak senang belajar. Sekolah tidak mesti pintar, wong belajar saja juga butuh waktu dlsb,, juga kadang tidak mudah bisa.

Uhh...saya mau fokus satu-persatu dulu



ada judul e-book

EMBEDDED
SYSTEMS
PROGRAMMING
WITH THE
PIC16F877

196 halaman, mau saya terjemmahkan dulu
=============================================================
Ini daftar isinya:

Table of Contents
Preface …………………………………………………………………. 5
List of Figures …………………………………………………………. 6
Abbreviations and Acronyms …………………………………………. 7
Trademarks ……………………………………………………………. 10
Chapter 1 Introduction to ESP and the PIC …………………………. 11
Chapter 2 Microcontrollers and the PIC16F877 ……………………. 15
Section 2.0 Chapter Summary ……………………………….. 15
Section 2.1 Memory and Memory Organization ……………. 15
Section 2.2 The PIC16F877 …………………………………. 16
Section 2.3 Programming the PIC …………………………… 17
Chapter 3 Simple PIC Hardware & Software (“Hello World”) …….. 20
Section 3.0 Chapter Summary ……………………………….. 20
Section 3.1 A Simple Example System ……………………… 20
Section 3.2 Summary of Instructions and Concepts …………. 25
Chapter 4 The PIC Instruction Set (Part I) ………………………….. 27
Section 4.0 Chapter Summary ………………………………. 27
Section 4.1 The PIC16F877 Instruction Set ………………… 27
Section 4.2 Summary of Instructions and Concepts …………. 33
Chapter 5 The PIC Instruction Set (Part II) …………………………. 34
Section 5.0 Chapter Summary ……………………………….. 34
Section 5.1 Introduction ……………………………………… 34
Section 5.2 Keypad and Display Interface …………………… 35
Section 5.3 The STATUS Register and Flag Bits ……………. 39
Section 5.4 The Keypad Software ……………………………. 40
Section 5.5 The LED Display Software ……………………… 43
Section 5.6 Improved Display and Indirect Addressing ……… 46
Section 5.7 Odds & Ends …………………………………….. 50
Section 5.8 Using KEY_SCAN and DISPLAY Together ……. 54
Section 5.9 A Last Look at the Advanced Security System ….. 56
Section 5.10 Summary of Instructions and Concepts ………… 57
Chapter 6 Fundamental ESP Techniques ……………………………. 59
Section 6.0 Chapter Summary ………………………………… 59
Section 6.1 Introduction ………………………………………. 59
Section 6.2 Software Readability …………………………… 59
Section 6.3 Software Maintainability …………………………. 60

Chapter 6
Section 6.4
Software Fundamentals ………………………….. 60
Section 6.5 The Background Routine ………………………… 61
Section 6.6 The Watch-Dog Timer …………………………… 61
Section 6.7 Event-Driven Software …………………………... 62
Section 6.8 Interrupts …………………………………………. 65
Section 6.9 Slow Inputs and Outputs …………………………. 65
Section 6.10 Software Time Measurement …………………… 66
Section 6.11 Hashing …………………………………………. 67
Section 6.12 Waveform Encoding ……………………………. 68
Section 6.13 Waveform Decoding …………………………… 71
Section 6.14 RAM, ROM, and Time Tradeoffs ……………… 75
Section 6.15 ROM States ……………………………………... 75
Section 6.16 Limitations of C/C++ …………………………… 76
Chapter 7 Advanced ESP ……………………………………………. 78
Section 7.0 Chapter Summary ………………………………… 78
Section 7.1 Introduction ………………………………………. 78
Section 7.2 Sine Wave Generation …………………………….78
Section 7.3 Dual-Tone-Multi-Frequency (DTMF) Signaling …81
Section 7.4 Pulse-Width Modulation ………………………….82
Section 7.5 ADPCM Data Compression ………………………84
Section 7.6 Test Functions and System Ideas …………………87
Chapter 8 PIC Peripherals and Interrupts ……………………………91
Section 8.0 Chapter Summary ………………………………...91
Section 8.1 Overview of the PIC Peripherals …………………91
Section 8.2 Input/Output Ports ………………………………..93
Section 8.2.1 Port A ………………………………………….. 93
Section 8.2.2 Port B, Port C, Port D ………………………….. 95
Section 8.2.3 Port E ………………………………………….. 95
Section 8.3 Interrupts …………………………………………. 95
Section 8.4 ADC and Analog MUX ………………………….. 98
Section 8.5 Watch-Dog Timer ………………………………... 102
Section 8.6 Timer 0 …………………………………………… 103
Section 8.7 Timer 1 ………………………………………….. 105
Section 8.8 Timer 2 ………………………………………….. 106
Section 8.9 Capture Mode …………………………………… 107
Section 8.10 Compare Mode ………………………………… 109
Section 8.11 Pulse-Width Modulation (PWM) ……………… 111
Section 8.12 Parallel Slave Port ……………………………… 114


Chapter 8 Section 8.13 EEPROM Data Memory ………………………… 116
Section 8.14 FLASH Program Memory ………………………. 117
Section 8.15 FLASH Code & Data EEPROM Protection ……. 118
Section 8.16 The CONFIGURATION Word ………………… 119
Section 8.17 Sleep Modes & Reset Modes …………………… 120
Chapter 9 PIC Peripherals, Serial Communications Ports ……………122
Section 9.0 Chapter Summary …………………………………122
Section 9.1 Introduction ……………………………………….122
Section 9.2 USART (Overview) ………………………………122
Section 9.2.1 USART (Asynchronous Mode, Full-Duplex) …..123
Section 9.2.2 USART (Synchronous, Master Mode) ………… 127
Section 9.2.3 USART (Synchronous, Slave Mode) ………….. 128
Section 9.3 Serial Peripheral Interface (Master Mode) ………. 128
Section 9.4 Serial Peripheral Interface (Slave Mode) …………132
Section 9.5 I2C System Overview …………………………….134
Section 9.5.1 I2C Slave Mode …………………………………137
Section 9.5.2 I2C Master Mode ………………………………. 139
Chapter 10 DSP Fundamentals ……………………………………… 147
Section 10.0 Chapter Summary ………………………………. 147
Section 10.1 Introduction …………………………………….. 147
Section 10.2 An Example: A Low-Pass Filter ……………….. 148
Section 10.3 An Example: A High-Pass Filter ………………. 148
Section 10.4 DSP Filters in General ………………………… 149
Section 10.5 Aliasing and the Nyquist Sampling Theorem ……149
Section 10.6 DSP Cookbook I: A Simple LPF/HPF …………. 151
Section 10.7 DSP Cookbook II: A Simple BPF ……………… 152
Section 10.8 DSP Cookbook III: A Median Filter …………… 153
Section 10.9 DSP Example I: Standard DTMF Decoding …….154
Section 10.10 DSP Example II: Alternative DTMF Decoding .. 155
Section 10.11 DSP Application: Speech Compression ………… 159
Appendix A The PIC16F877 Instruction Set ………………………….. 163
Appendix B Useful C++ Programs for PIC ASM Applications ………. 180
Appendix C Special Function Registers (RAM Addresses & Bits) ……185
Appendix D PIC16F877 Register File Map ……………………………191
Appendix E PIC16F877 Pin Function Map ……………………………192
Appendix F Save/Restore Registers on Interrupt ……………………… 193
References ………………………………………………………………. 195

===============================================================

dibantu oleh Google Translate......


Gubug Sekolahku

Mau ngomong Home Schooling tapi mbok "keclethot', ya...saya beri judul "Gubug Sekolahku". Kenapa tiba-tiba muncul dibenak pikiranku untuk mau corat-coret diblog ini, yaah...karena kebetulan saya baru mborong buku tentang Home Scholing dan juga ebook serta berbagai artikel yang kaitannya dengan "Sekolah Rumahan". Tapi yang jelas saya belum khatam/tamat dalam membaca semua pustaka saya tadi.

Barusan masuk kelas, semau saya mau belajar apa...yang jelas apa yang sedang saya butuhkan. Saya cari kelasnya,....Alhamddulillaaah nemu ...Ini dia kelas yag sedang saya ikuti
http://kelas-mikrokontrol.com/index.html

kalau sedang bosen, tinggal pergi tanpa ada rasa takutpun dianggap 'mbeler'.


Fasilitas Sekolah saya juga tak banyak, dan bisa berpindah-pindah tempat lagi, Tidak harus di gedung mewah ber-AC, tapi bisa dimanasaja yang sesuai, kadang di hutan kadang pula di tempat mewah, dan seringnya dikelas saya sendirian.. anak istri sudah tidur....yah saking rajjinnnya,. hua...ha.ha...hhaaa.

Dan Alhammdulillah belajar di "Gubug Sekolah" saya dapat beasiswa,,... uangnnya Dolar lagi.. (wk....wkkakkwk), dapat tiap hari dan dapat diambil sewaktu-waktu kalau mau (hua..... haa.... haa....haa),
Betapa senangnya belajar tidak mbayar malah dapat uang saku tiap hari, belajarpun bisa milih manasuka, dan tanpa banyak tekanan itulah KEMERDEKAAN.

pasti Anda kepengin kaaan.... (ndaftar boleeh?)

Di "Gubug Sekolah" saya, saya tidak takut dinilai jelek, tidak lulus, Drop Out, dimarahi guru, Kenapa?, karena tak ada yang memberi nilai, akhirnya saya buat nilai sendiri agar bagus bagaimana. Guru saya mbah Google tak pernah memarahi saya. Lulus atau tidak lulus tidak saya pikir, kalau belum lancar berarti saya belum lulus-lulus. Drop out, bisa saja tanpa banyak tekanan malu pada siapa, lha wong saya di Kelas apa, sedang ambil apa juga banyak yang tidak tahu. Saya tidak mau behenti di "Gubug Sekolah" bersama anak-anak, tidak ada kata tamat untuk belajar,"Tolabul 'ilmi minnal mahdi ilal lahdi".....yaa di "Gubug Sekolah". Coba berapa lama Anda betah belajar di sekolah formal sampai umur 60 tahun maukah?

Belajar di Gubug Sekollah akan saya lengkapi buat anak-anak biar betah, gembira dan cepat pintar....tapi ya tetep bisa jadi anak yang baik, bahkan anak-anak yang sudah pinter, langsung jadi guru, yang sudah sampai Iqra' 2 ngajari dong yang baru Iqra' 1, dan yang bisa ngajari saya beri hadiah menarik.

Anda tertarik dan ingin ikutserta sebagai partisipan, team support? Call me 0282695541


Monday, February 14, 2011

Pengenalan Pada Mikrokontroler PIC16F877A

Mikrokontroler PIC16F877A merupakan salah satu mikrokontroler dari keluarga PICmicro yang popular digunakan sekarang ini, mulai dari pemula hingga para profesional. Hal tersebut karena PIC16F877A sangat praktis dan menggunakan teknologi FLASH memori sehingga dapat di program-hapus hingga seribu kali. Keunggulan mikrokontroler jenis RISC ini dibanding dengan mikrokontroler 8-bit lain dikelasnya terutama terletak pada kecepatan dan kompresi kodenya. Selain itu, PIC116F877A juga tergolong praktis dan ringkas karena memiliki kemasan 40 pin dengan 33 jalur I/O.

Anggota keluarga PICmicro buatan Microchip Inc. cukup banyak. Ada yang menggunakan FLASH memori dan ada pula yang jenis OTP (One Time Programmable). Mikrontroler dari keluarga PICmicro yang popular, antara lain PIC2C08, PIC16C54, PIC16F84. Agar lebih mengenal PIC16F877A, berikut ini diberikan fitur-fitur penting yang terdapat pada PIC16F877A.




Fitur-Fitur PIC16F877A

Sebenarnya, PIC16F877A bukanlah mikrokontroler yang istimewa dalam keluarga PICmicro. Namun demikian, PIC16F877A cukup mudah dipelajari dan dapat di bilang memiliki kemampuan yang handal sebagai mikrokontroler yang memiliki 40 pin.

Fitur-fitur pada PIC16F877A antara lain :

  • RISC CPU yang mempunyai performance tinggi
  • Hanya 35 jenis instruksi yang perlu dipelajari
  • Semua instrujsi mempunyai siklus tunggal kecuali untuk instruksi percabangan.
  • Kecepatan Instruksi: DC - 20 MHz clock input DC - 200 ns instruction cycle
  • 8K x 14 words of FLASH Program Memory, 368 x 8 bytes of Data Memory (RAM) , 256 x 8 bytes of EEPROM Data Memory
  • Pinout compatible dengan PIC16C73B/74B/76/77
  • Interrupt (14 sumber interrupt)
  • Delapan level hardware stack
  • Direct, indirect dan relative addressing modes
  • Power-on Reset (POR)
  • Power-up Timer (PWRT) dan Oscillator Start-up Timer (OST)
  • Watchdog Timer (WDT) dengan on-chip RC oscillator
  • Programmable code protection
  • Power saving SLEEP mode
  • Selectable oscillator options
  • Low power, high speed CMOS FLASH/EEPROM technology
  • Fully static design
  • In-Circuit Serial Programming (ICSP) hanya dengan dua pin
  • Single 5V In-Circuit Serial Programming capability
  • Processor read/write access to program memory
  • Wide operating voltage range: 2.0V to 5.5V
  • High Sink/Source Current: 25 mA
  • Commercial, Industrial and Extended temperature ranges

Peripheral Features:

  • Timer0: 8-bit timer/counter dengan 8-bit prescaler
  • Timer1: 16-bit timer/counter dengan prescaler, dapat di-increment selama proses SLEEP dengan external crystal/clock
  • Timer2: 8-bit timer/counter dengan 8-bit period register, prescaler dan postscaler
  • Dua Capture, Compare, PWM modules (Capture is 16-bit, max. resolution is 12.5 ns , Compare is 16-bit, max. resolution is 200 ns , PWM max. resolution is 10-bit)
  • 10-bit multi-channel Analog-to-Digital converter (ADC)
  • Synchronous Serial Port (SSP) dengan SPI (Master mode) dan I2C (Master/Slave)
  • Universal Synchronous Asynchronous Receiver Transmitter (USART/SCI) dengan 9-bit address detection
  • Parallel Slave Port (PSP) 8-bits wide, dengan external RD, WR and CS controls (40/44-pin only)
  • Brown-out detection circuitry untuk Brown-out Reset (BOR)

Deskripsi Pin-Pin

Mikrokontroler PIC16F877A di produksi dalam kemasan 40 pin PDIP (Plastik Dual In Line) maupun 40 pin SO (Small Outline). Namun yang banyak terdapat dipasaran adalah kemasan PDIP. Pin-pin untuk I/O sebanyak 33 pin, yang terdiri atas 6 pada Port A, 8 pada Port B, 8 pada Port C, 8 pada Port D, 3 pada Port E. Ada pula beberapa Pin pada mikrokontroler yang memiliki fungsi ganda.







Organisasi Memori

Memori pada PIC16F877A dapat dipisahkan menjadi dua blok memori, satu untuk memori program dan satu untuk memori data. Memori EEPROM dan register GPR didalam RAM merupakan memori data, sedangkan memori FLASH merupakan memori program.

Memori Program
Memori program direalisasikan dalam teknologi FLASH memori yang memungkinkan pem-program melakukan program-hapus hingga seribu kali. Pemrograman PIC16F877A dilakukan sebelum dipasang pada rangkaian aplikasi, atau ketika sistem sudah terpasang namun dikehendaki adanya up-dating pada program didalamnya. Pemrograman berulang biasanya dilakukan pada saat pengembangan dan penyempurnaan sistem. Ukuran memori program untuk PIC16F877A adalah 8K lokasi dengan lebar kata 14 words.




Memori Data

Memori data terbagi di dalam beberapa ruang (semacam halaman/bank) yang memuat register yang mempunyai fungsi-fungsi umum dan khusus yang tersendiri. Bit RP1 (STATUS<6>) dan RP0 (STATUS<5>) adalah bit yang menunjukan letak ruang yang dimaksud.

Setiap ruang mempunyai kapasitas di atas 7Fh (128 bytes). Lokasi paling bawah dari setiap ruang ditujukan untuk register yang mempunyai fungsi spesial.



Mode Pengalamatan

Lokasi memori RAM dapat di akses secara langsung atau tidak langsung :

Pengalamatan langsung
Pengalamatan langsung dilakukan melalui alamat 9 bit. Alamat ini merupakan rangkaian dari 7 bit langsung dari instruksi dan 2 bit dari RP0 dan RP1 pada register STATUS. Contoh pengalamatan langsung adalah pengaksesan register FSR

Pengalamatan tidak langsung
Berbeda dengan pengalamatan langsung, pengalamatan tidak langsung tidak mengambil alamat dari instruksi, tetapi menggunakan bit ke 7 (IRP) dari register status dan semua bit dari register FSR. Lokasi alamat di akses melalui register INDF yang didalamnya berisi alamat yang ditunjuk oleh FSR.
CPU (Central Processing Unit) PIC16F877A
CPU berperan sebagai otak dari mikrokontroler. Bagian ini bertanggung jawab untuk mengambil instruksi, melakukan decode, dan mengeksekusi instruksi. CPU terhubung ke semua bagian pada mikrokontroler. Fungsi terpenting dari CPU adalah melakukan dekode dan mengeksekusi suatu instruksi. Instruksi-instruksi dalam bahasa assembly terdiri atas opcode dan operan. Opcode menyatakan proses yang harus dilakukan mikrokontroler. Sedangkan operan adalah bagian yang dioperasikan pada aritmatika maupun logika. Agar mikrokontroler dapat mengerti perintah opcode, maka instruksi harus diterjemahkan ke dalam urutan biner dengan kode “0” dan “1”. Tugas untuk menterjemahkan instruksi dari bahasa asembly ke bahasa mesin (bahasa yang di mengerti oleh mikrokontroler) dilakukan oleh translator (software assembler atau compiler).


Sumber http://iddhien.com/index.php?option=com_content&task=view&id=35&Itemid=108
================================================================



Jumper untuk ICProg
ICSP (In Circuit Serial Programming)




PIC ICSP connections

16F877A : ICSP PIC Programming connections:



ICPROG untuk PICMicro
ICPROG
programmer adalah sebuah program windows gratis yang dapat Anda gunakan untuk PIC Programming. Ini interface baik menggunakan port serial atau paralel pada PC, melalui perangkat keras pemrograman, ke pin ICSP pada
PIC mikro.

Anda dapat download ICPROG di sini [buka di jendela baru].

ICPROG menggunakan file hex yang dihasilkan dari assembler seperti MPASM atau sebuah kompiler seperti MikroC.

Ketika Anda pertama kali mulai ICPROG ini adalah layar yang Anda lihat untuk memilih hardware PIC programmer , Anda bisa memilih programmer AN589 - sebuah programmer port paralel.


Setelah ini layar program utama ditampilkan. Jangan mengubah semua program code area.. Kontrol penting adalah tombol Open dan tombol dengan IC di bawahnya.




Pilih Device
To use it for PIC programming select the device from the menu Settings-->
Device-->
Microchip PIC.

Di sini contoh telah memilih perangkat PIC16F877A.

Menu Device juga menunjukkan banyak perangkat lain yang dapat Anda gunakan dengan ICPROG.

Catatan: Perubahan layar untuk mengakomodasi fitur chip (di sini EEPROM oscillator, program 'Tulis mengaktifkan' dan bit konfigurasi chip).


Cek Hardware
Anda dapat memeriksa untuk melihat apakah ICPROG berkomunikasi dengan hardware anda dengan menggunakan pilihan menu Settings -> Hardware Cek. Hal ini memungkinkan Anda mengaktifkan keadaan sinyal ICSP individu dan Power VCC.

Catatan: Anda akan memerlukan osiloskop atau multimeter untuk memeriksa keadaan sinyal.

Load Hex file
Hal berikutnya yang harus dilakukan dengan perangkat lunak pemrograman PIC PIC dengan memuat file hex (kecuali jika Anda memiliki 12F675 yang memiliki nilai osilator kalibrasi bahwa Anda akan ingin menyimpan-dalam hal ini melakukan baca pertama).

Catatan: Anda harus memilih perangkat secara manual itu tidak didefinisikan dalam file hex.Meskipun toko ICPROG perangkat saat ini digunakan antara sesi Anda harus memilih perangkat baru secara manual ketika Anda memulai sebuah proyek hardware baru

Catatan: Sekering dan pengaturan osilator dikendalikan dari file hex sehingga semua yang perlu Anda lakukan adalah memeriksa bahwa mereka sesuai dengan pengaturan Anda dalam compileratau assembler.

Tekan tombol terbuka untuk load file hex Anda.


Erase device
Tindakan
PIC berikutnya pemrograman adalah untuk menghapus perangkat dengan menekan tombol menghapus perangkat. Ini mengirim perintah untuk PIC yang menghapus seluruh perangkat termasuk bit proteksi (dalam perangkat yang lebih baru). Lama perangkat yang digunakan untuk un-digunakan setelah Anda telah mengatur perlindungan bit!


Jadi perintah ini dengan cepat menghapus chip.

Catatan: Anda tidak harus menggunakan menghapus tombol sebagai tombol program akan menimpa isi chip pula. Kadang-kadang berguna jika Anda ingin meyakinkan diri sendiri bahwa program ini benar-benar diprogram ke dalam perangkat dengan benar.


Program device
Tombol perangkat program tidak hanya itu, itu program dimuat isi dari file hex (dalam memori ICPROG) ke dalam memori program dari PIC mikro. Jika ada di chip EEPROM maka program ini juga. Akhirnya kata program konfigurasi.

Verify device
memverifikasi
tombol perangkat membaca kembali seluruh isi chip memastikan bahwa itu cocok dengan file hex (dimuat ke ICPROG).


Catatan: Tergantung pada pengaturan dalam menu:

Pengaturan - Pilihan> -> Pemrograman

verifikasi secara otomatis dapat terjadi di akhir.


Sekali Anda terbiasa untuk ICPROG dan perangkat keras Anda bekerja andal anda hanya mungkin ingin melakukan verifikasi jika sesuatu tidak bekerja jika tidak membutuhkan waktu lebih banyak.


Read device
Tombol
perangkat membaca, membaca kembali seluruh isi chip ke dalam buffer saat ini dipilih (ditampilkan di bagian bawah jendela ICPROG). Jadi anda bisa menyimpan file hex atau bandingkan dengan isi buffer lain.


Ini adalah kontrol hanya yang Anda butuhkan untuk pemrograman PIC berhasil menggunakan ICPROG.


Sumber http://www.best-microcontroller-projects.com/pic-programming.html
===============================================================