Tulisan ini sengaja saya buat karena beberapa waktu yang lalu dua mikrokontroler saya (semuanya ATMega32, masing-masing dalam kemasan SMD dan PDIP) menjadi korban ketidak-tahuan saya tentang otak-atik System Clock atau FUSE bit pada mikrokontroler AVR.
Perlu diketahui bahwa setiap mikrokontroler AVR memiliki fasilitas untuk memilih sumber clock atau detak dengan banyak alternatif pilihan. Berbeda dengan keluarga AT89, keluarga AVR memberikan opsi pilihan sumber clock untuk flkesibilitas penggunaan, bukan untuk menyulitkan penggunaan. Jika siapapun Anda yang saat ini sedang terlibat dengan aplikasi-aplikasi mikrokontroler AVR dan tidak pernah peduli dengan system clock, atau dengan kata lain tidak pernah otak-atik FUSE bit, dipastikan kristal yang Anda pasang berapapun aja nilainya tidak ada gunanya sama sekali! Loch kok bisa? Ya karena default dari pabriknya (http://www.atmel.com) adalah sesuai dengan paragraf yang mereka tulis di datasheet-nya:
The device is shipped with CKSEL = “0001” and SUT = “10”. The default clock source setting is therefore the 1 MHz Internal RC Oscillator with longest startup time. This default setting ensures that all users can make their desired clock source setting using an In-System or Parallel Programmer.
Okey? Sudah jelas? Hanya 1 MHz internal saja clock-nya, kalau gak percaya silahkan cabut saja kristal Anda dan biarkan mikrokontroler AVR Anda bekerja dengan baik tanpa kristal (beberapa teman yang saya sarankan hal tersebut sempat kaget juga). Jadi sudah capek-capek ngitung reload, timer dan lain sebagainya ternyata hanya bekerja di 1 MHz saja secara internal. So, bagaimana caranya agar bisa menggunakan kristal eksternal atau internal yang lebih besar dari 1 MHz?
Sebelum saya memberikan penjelasan lebih lanjut, ada baiknya Anda lihat dulu bagan sumber clock yang ada pada keluarga AVR berikut ini:
Gambar 1. Sumber clock pada AVR
Terlihat bahwa sumber clock untuk AVR berasal dari:
- External Crystal/Ceramic Resonator
- External Low-frequency Crystal
- External RC Oscillator
- Calibrated Internal RC Oscillator, dan
- External Clock
Untuk bisa mengatur sumber clock mana yang akan digunakan, Anda perlu tahu cara mengaturnya, untuk itu ada beberapa bit register yang perlu diperhatikan. Perhatikan Tabel 1, ditunjukkan berbagai macam opsi pilihan sumber clock berdasar bit CKSEL3..0.
Tabel 1. Device Clocking Options Select
Pemasangan kristal dilakukan pada pin XTAL1 dan XTAL2 (sebagaimana ditunjukkan pada Gambar 2). FUSE bit CKOPT digunakan untuk memilih satu diantara dua pilihan mode penguat osilator yang berbeda. Untuk lebih jelasnya silahkan perhatikan Tabel 2.
Gambar 2. Rangkaian Crystal Oscillator
Tabel 2. Crystal Oscillator Operating Modes
Sedangkan bit CKSEL0 dikombinasikan dengan bit-bit SUT1..0 digunakan untuk memilih waktu start-up sebagaimana ditunjukkan pada Tabel 3.
Tabel 3.Start-up Times for the Crystal Oscillator Clock Selection
Untuk pilihan Low-frequency Crystal Oscillator, dipilih dengan mengatur CKSEL3..0 = 1001 (lihat lagi Tabel 1). Kristal dipasang sesuai dengan gambar 2. Waktu start-up-nya ditunjukkan pada Tabel 4.
Tabel 4. Start-up Times for the Low-frequency Crystal Oscillator Clock Selection
Sedangkan pilihan External RC Oscillator menggunakan rangkaian yang ditunjukkan pada Gambar 3. Nilai frekuensi-nya ditentukan dengan persamaan f = 1/(3RC), dengan nilai C sekitar 22pF. Mode operasinya ditunjukkan pada Tabel 5, sedangkan waktu start-up-nya ditunjukkan pada Tabel 6.
Gambar 3.Konfigurasi RC eksternal
Tabel 5.External RC Oscillator Operating Modes
Tabel 6. Start-up Times for the External RC Oscillator Clock Selection
Sedangkan untuk pilihan Calibrated Internal RC Oscillator, pilihan mode operasi-nya ditunjukkan pada Tabel 7 dan waktu start up-nya ditunjukkan pada Tabel 8.
Tabel 7. Internal Calibrated RC Oscillator Operating Modes
Tabel 8. Start-up Times for the Internal Calibrated RC Oscillator Clock Selection
Jika memang dikehendaki, Anda bisa juga memasang sumber clock eksternal (External Clock) tanpa menggunakan kristal maupun rangkaian RC dilakukan dengan memberikan nilai CKSEL3..0=000, misalnya sumber clock yang berasal dari generator fungsi atau mikrokontroler lainnya. Rangkaiannya ditunjukkan pada Gambar 4. Sedangkan pilihan waktu start up-nya ditunjukkan pada Tabel 9.
Gambar 4. Konfigurasi penggerak clock eksternal
Tabel 9. Start-up Times for the External Clock Selection
Bagaimana? Bingung? Okey, berikut ini saya rangkumkan semua kemungkinan sumber clock yang bisa diberikan ke mikrokontroler AVR (dalam hal ini saya gunakan acuan ATMega32). Nilai pengaturan dinyatakan dalam High Byte (berkaitan dengan bit-bit OCDEN, JTAGEN, SPIEN, CKOPT, EESAVE, BOOTSZ1, BOOTSZ0 dan BOOTRST) dan Low Byte (berkaitan dengan bit-bit BODLEVEL, BODEN, SUT1, SUT0, CKSEL3, CKSEL2, CKSEL1 dan CKSEL0), yang dicetak tebal merupakan DEFAULT pabrik:
- Ext. Clock; Start-up time: 6 CK + 0 ms (HIGH: 0xFF dan LOW: 0xCO);
- Ext. Clock; Start-up time: 6 CK + 4 ms (HIGH: 0xFF dan LOW: 0xDO);
- Ext. Clock; Start-up time: 6 CK + 64 ms (HIGH: 0xFF dan LOW: 0xEO);
- Int. RC Osc. 1 MHz; Start-up time: 6 CK + 0 ms (HIGH: 0xFF dan LOW: 0xC1);
- Int. RC Osc. 1 MHz; Start-up time: 6 CK + 4 ms (HIGH: 0xFF dan LOW: 0xD1);
- Int. RC Osc. 1 MHz; Start-up time: 6 CK + 64 ms (HIGH: 0xFF dan LOW: 0xE1);
- Int. RC Osc. 2 MHz; Start-up time: 6 CK + 0 ms (HIGH: 0xFF dan LOW: 0xC2);
- Int. RC Osc. 2 MHz; Start-up time: 6 CK + 4 ms (HIGH: 0xFF dan LOW: 0xD2);
- Int. RC Osc. 2 MHz; Start-up time: 6 CK + 64 ms (HIGH: 0xFF dan LOW: 0xE2);
- Int. RC Osc. 4 MHz; Start-up time: 6 CK + 0 ms (HIGH: 0xFF dan LOW: 0xC3);
- Int. RC Osc. 4 MHz; Start-up time: 6 CK + 4 ms (HIGH: 0xFF dan LOW: 0xD3);
- Int. RC Osc. 4 MHz; Start-up time: 6 CK + 64 ms (HIGH: 0xFF dan LOW: 0xE3);
- Int. RC Osc. 8 MHz; Start-up time: 6 CK + 0 ms (HIGH: 0xFF dan LOW: 0xC4);
- Int. RC Osc. 8 MHz; Start-up time: 6 CK + 4 ms (HIGH: 0xFF dan LOW: 0xD4);
- Int. RC Osc. 8 MHz; Start-up time: 6 CK + 64 ms (HIGH: 0xFF dan LOW: 0xE4);
- Ext. RC Osc. - 0.9 MHz; Start-up time: 18 CK + 0 ms (HIGH: 0xFF dan LOW: 0xC5);
- Ext. RC Osc. - 0.9 MHz; Start-up time: 18 CK + 4 ms (HIGH: 0xFF dan LOW: 0xD5);
- Ext. RC Osc. - 0.9 MHz; Start-up time: 18 CK + 64 ms (HIGH: 0xFF dan LOW: 0xE5);
- Ext. RC Osc. - 0.9 MHz; Start-up time: 6 CK + 4 ms (HIGH: 0xFF dan LOW: 0xF5);
- Ext. RC Osc. 0.9 MHz - 3.0 MHz; Start-up time: 18 CK + 0 ms (HIGH: 0xFF dan LOW: 0xC6);
- Ext. RC Osc. 0.9 MHz - 3.0 MHz; Start-up time: 18 CK + 4 ms (HIGH: 0xFF dan LOW: 0xD6);
- Ext. RC Osc. 0.9 MHz - 3.0 MHz; Start-up time: 18 CK + 64 ms (HIGH: 0xFF dan LOW: 0xE6);
- Ext. RC Osc. 0.9 MHz - 3.0 MHz; Start-up time: 6 CK + 4 ms (HIGH: 0xFF dan LOW: 0xF6);
- Ext. RC Osc. 3.0 MHz - 8.0 MHz; Start-up time: 18 CK + 0 ms (HIGH: 0xFF dan LOW: 0xC7);
- Ext. RC Osc. 3.0 MHz - 8.0 MHz; Start-up time: 18 CK + 4 ms (HIGH: 0xFF dan LOW: 0xD7);
- Ext. RC Osc. 3.0 MHz - 8.0 MHz; Start-up time: 18 CK + 64 ms (HIGH: 0xFF dan LOW: 0xE7);
- Ext. RC Osc. 3.0 MHz - 8.0 MHz; Start-up time: 6 CK + 4 ms (HIGH: 0xFF dan LOW: 0xF7);
- Ext. RC Osc. 8.0 MHz - 12.0 MHz; Start-up time: 18 CK + 0 ms (HIGH: 0xFF dan LOW: 0xC8);
- Ext. RC Osc. 8.0 MHz - 12.0 MHz; Start-up time: 18 CK + 4 ms (HIGH: 0xFF dan LOW: 0xD8);
- Ext. RC Osc. 8.0 MHz - 12.0 MHz; Start-up time: 18 CK + 64 ms (HIGH: 0xFF dan LOW: 0xE8);
- Ext. RC Osc. 8.0 MHz - 12.0 MHz; Start-up time: 6 CK + 4 ms (HIGH: 0xFF dan LOW: 0xF8);
- Ext. Low-Freq. Crystal; Start-up time: 1K CK + 4 ms (HIGH: 0xFF dan LOW: 0xC9);
- Ext. Low-Freq. Crystal; Start-up time: 1K CK + 64 ms (HIGH: 0xFF dan LOW: 0xD9);
- Ext. Low-Freq. Crystal; Start-up time: 32K CK + 64 ms (HIGH: 0xFF dan LOW: 0xE9);
- Ext. Crystal/Resonator Low Freq.; Start-up time: 258 CK + 4 ms (HIGH: 0xFF dan LOW: 0xCA);
- Ext. Crystal/Resonator Low Freq.; Start-up time: 258 CK + 64 ms (HIGH: 0xFF dan LOW: 0xDA);
- Ext. Crystal/Resonator Low Freq.; Start-up time: 1K CK + 0 ms (HIGH: 0xFF dan LOW: 0xEA);
- Ext. Crystal/Resonator Low Freq.; Start-up time: 1K CK + 4 ms (HIGH: 0xFF dan LOW: 0xFA);
- Ext. Crystal/Resonator Low Freq.; Start-up time: 1K CK + 64 ms (HIGH: 0xFF dan LOW: 0xCB);
- Ext. Crystal/Resonator Low Freq.; Start-up time: 16K CK + 0 ms (HIGH: 0xFF dan LOW: 0xDB);
- Ext. Crystal/Resonator Low Freq.; Start-up time: 16K CK + 4 ms (HIGH: 0xFF dan LOW: 0xEB);
- Ext. Crystal/Resonator Low Freq.; Start-up time: 16K CK + 64 ms (HIGH: 0xFF dan LOW: 0xFB);
- Ext. Crystal/Resonator Medium Freq.; Start-up time: 258 CK + 4 ms (HIGH: 0xFF dan LOW: 0xCC);
- Ext. Crystal/Resonator Medium Freq.; Start-up time: 258 CK + 64 ms (HIGH: 0xFF dan LOW: 0xDC);
- Ext. Crystal/Resonator Medium Freq.; Start-up time: 1K CK + 0 ms (HIGH: 0xFF dan LOW: 0xEC);
- Ext. Crystal/Resonator Medium Freq.; Start-up time: 1K CK + 4 ms (HIGH: 0xFF dan LOW: 0xFC);
- Ext. Crystal/Resonator Medium Freq.; Start-up time: 1K CK + 64 ms (HIGH: 0xFF dan LOW: 0xCD);
- Ext. Crystal/Resonator Medium Freq.; Start-up time: 16K CK + 0 ms (HIGH: 0xFF dan LOW: 0xDD);
- Ext. Crystal/Resonator Medium Freq.; Start-up time: 16K CK + 4 ms (HIGH: 0xFF dan LOW: 0xED);
- Ext. Crystal/Resonator Medium Freq.; Start-up time: 16K CK + 64 ms (HIGH: 0xFF dan LOW: 0xFD);
- Ext. Crystal/Resonator High Freq.; Start-up time: 258 CK + 4 ms (HIGH: 0xFF dan LOW: 0xCE);
- Ext. Crystal/Resonator High Freq.; Start-up time: 258 CK + 64 ms (HIGH: 0xFF dan LOW: 0xDE);
- Ext. Crystal/Resonator High Freq.; Start-up time: 1K CK + 0 ms (HIGH: 0xFF dan LOW: 0xEE);
- Ext. Crystal/Resonator High Freq.; Start-up time: 1K CK + 4 ms (HIGH: 0xFF dan LOW: 0xFE);
- Ext. Crystal/Resonator High Freq.; Start-up time: 1K CK + 64 ms (HIGH: 0xFF dan LOW: 0xCF);
- Ext. Crystal/Resonator High Freq.; Start-up time: 16K CK + 0 ms (HIGH: 0xFF dan LOW: 0xDF);
- Ext. Crystal/Resonator High Freq.; Start-up time: 16K CK + 4 ms (HIGH: 0xFF dan LOW: 0xEF);
- Ext. Crystal/Resonator High Freq.; Start-up time: 16K CK + 64 ms (HIGH: 0xFF dan LOW: 0xFF);
Pilihan-pilihan tersebut secara lengkap saya ambil dari fasilitas downloader AVR ISP MkII dari AVR Studio 4.0, sebagaimana ditunjukkan pada Gambar 5, perhatikan tanda panahnya.
Gambar 5. Jendela pengaturan FUSE pada fasilitas AVR ISP MkII dari AVR Studio 4.0
Semoga bermanfaat dan selamat mencoba, hati-hati dengan pilihan External, karena setelah Anda mengatur pilihan ke External, maka Anda harus menyediakan sumber clock eksternal sesuai dengan pengaturan yang dilakukan, jika tidak, maka AVR Anda tidak dapat di-program lagi (masih berfungsi tetapi seperti mengunci diri, padahal tidak diotak-atik Lock bit-nya).
Sumber:
- Atmel, 2007, ATMega32 / ATMega32L Microcontroller with 32K Bytes In-System Programmable Flash Datasheet
Tags: at89, atmel, avr, fuse bits, microcontroller, Mikrokontroler, system clock
December 3rd, 2009 at 10:28 am
link calculator fusebit
http://www.engbedded.com/fusecalc/
December 3rd, 2009 at 4:04 pm
@dhani:
terima kasih atas link-nya, semoga rekan2 yang lain juga bisa memanfaatkannya…
December 3rd, 2009 at 6:56 pm
http://yusisukmalia.wordpress......vr-tenang/
January 25th, 2010 at 10:56 am
oH GITU TO pak. Makanya tiap setting waktu kok gak pernah pas. Terima kasih penjelasannya…
Ow y. Kira2 kalu mw setting waktu 1 detik dengan internal clock 1 Mhz g mn caranya?
February 19th, 2010 at 7:43 am
saya puny atmega8 mau tak pasang ext crystal 12 mhz setting fuse bit nya gmn??cause bingung 12mhz tergolong low,medium,high freq???plizzzz
March 10th, 2010 at 7:11 pm
aslm .pak agfi saya mo tanya cara menampilkan 7 segmen dengan AT mega 8535 cara
pemrogramanya gmn y pak..?
krn sy sudah mencoba dng AVR studio .assembly tapi kadang bermasalah..
tlng sertakan jika ada linknya pak…
trimakasih pak..
March 15th, 2010 at 8:37 am
@ardhana:
cukup panjang dijelaskan, menggunakan assembly konsep sama saja yaitu melakukan scan, misalnya 4×7segmen, jalur data cuman 8 bit dipake bersama ke-4 digit, hanya saja masing-masing digit dihidupkan secara bergantian (demikian juga dengan datanya)…
karena dilakukan dengan cepat, mata qta menangkapnya kelihatan bersamaan (padahal bergantian)…
March 15th, 2010 at 9:17 am
untuk set fuse bit lebih mudah menggunakan AVRprog bawaan AVR studio. penggunan ext clock 12MHz bila menggunakan AVRprog pilih aja setting ext XTAL ,startup 30us + 1K CK (saya pakai setting ini) atau semua register fusebit =1 … cuma saya tidak paham apa makna 1K CK itu.
dan perlu diingat juga di PORTC ATMEGA 32 /16 ada tambahan fungsi pin maka jika kita ingin menghubkan LCD atau untuk permainan ping pong led di PORTC fuse bit JTAG harus mati (disable) , kalo untuk ATMEGA 8535 tidak perlu.
JTAG disable =1
JTAG enable =0
August 2nd, 2010 at 8:36 pm
klo seting fuse bit untuk komunikasi serial gmana ya??? saya pakai atmega8535 dan crystal 11059200 Hz… mohon bantuannya…
August 20th, 2010 at 6:06 pm
Hi pak agri…
Saya salah setting fuse bits yang menyebabkan Avr128 saya terkunci dan tidak terbaca/mati suri…
gimana cara mereset atau membuka kunci fusebitnya..
Thanks..
March 7th, 2011 at 1:31 am
yang bingung setting fuse bit low pk kristal (eksternal).. low pake kristal 16MHz ama 12MHz, browsing, kok kyknya sama settingan low and high bitnya ~ ~ saya juga pengalaman atmega128 saya g kenak diprogram ulang.. pdhl low di kasih supply 5v, ttp jalan program yang lama (pdhl udah sempet berkali2 saya program, lancar). kyk ke lock gitu, pdhl fungsi lock nya program downloader g pernah saya otakatik.. tp terakhir kali, pas diprogram ulang, “chip enable eror”. udah saya periksa, ttp aja. kristal juga terpasang dengan baik.. jalur PCB saya cek juga baik. kira2 kenapa ya??
March 22nd, 2011 at 9:46 pm
Apa yang dimaksud dengan Start-up time: xx CK + x ms? Mohon pencerahan, makasih.
March 25th, 2011 at 10:01 am
@arduino:
pada saat dihidupkan, mikrokontroler membutuhkan waktu, nah waktu itu didasarkan pada xx Ck dan masih bisa ditambah delay … ms (misalnya untuk persiapan periferal lainnya agar siap untuk operasional)…
July 22nd, 2012 at 11:45 pm
Assalamualaikum Master, maw tanya ngatur fuse bit menggunakan avrdude gimana ya, soalnya udah beberapa minggu cari solusinya blm ktmu, avr saya, kucoba Chip Signature muncul AVRProg error getting ID……katanya clocknya terkunci,,,,,tuk ngembaliin ke clock 12 MHrz gmana ya????thanks Master. Sampaikanlah walau satu ayat……
February 17th, 2013 at 10:10 am
ya ampun berarti selama ini sama saja dunk!
saya kasih 12 mega,
eh pak tapi di setingan codevision ada setingan kristalnya, apakah itu juga pengaruh apabila , masih memakai fuse bite dari pabrikanya mikro avr??
March 16th, 2013 at 6:01 pm
Halo Pak! Trima kasih untuk penjelasannya tapi saya masih belum mengerti. Saya juga sedang membuat aplikasi berbasis mikro. Mikro yang saya gunakan ATmega8535 dan menggunakan kristal 12MHz dengan kapasitor masing2 22nF. Saya mencoba membuat program delay waktu 1 detik menggunakan program yang ada pada e-book tutorial AVR 1.0. saya mengambil potongan program yang menggunakan timer2 untuk membuat delay 1 detik.saya memasukkan program tersebut ke dalam program saya (Program yang saya gunakan CV AVR)dan dicompile tidak error, Tetapi pada saat diaktifkan delay waktunya bukan 1 detik tetapi sekitar 10 detik. Saya coba mengurangi ulang<100 menjadi ulang<10 baru nilainya menjadi 1 detik. say coba menggunakan delay_ms(1000) pada cv avr itu juga delaynya sekitar 10 detik. Kira-kira kenapa ya pak? mo0hon penjelasannya.. trima kasih…..
April 5th, 2013 at 1:57 pm
terima kasih mas atas penjelasannx… tpi saya mau nnya juga, karena saya juga jadi korban setting fuse bit ini..,,masih bisa tidak lw atmega8535 yang sudah saya ganti fuse butx itu bisa lagi di program??
saya hanya mengubah settingan pada L fuse menjadi
Ext. RC Osc. 8.0 MHz - 12.0 MHz; Start-up time: 6 CK + 4 ms ;[CKSEL = 1000 ] SUT = 11
saya pakai khazama mas, dan downloadder USB.. tlong pengarahannya… terima kasih
April 6th, 2013 at 2:19 am
Mau bagi pengalaman nih, cara menghidupkan avr yg mati suri. software yg di butuhkan extreme burner avr. cara begini cabut cystal plus capasitor pendukungnya. Lalu colok usbasp programnya ke avr yg mati suri dan buka aplikasi extreme burner avr, kemudian pegang dengan jari kita 2 pin crytal avr tadi ( mngkin jari kita dianggap ground sana avr).Klau dah siap klik tool fuse bits/setting lalu isi low dan high dgn default pabriknya.jangan lupa centang kotak diatasnya kemudian klik write. Bila ada bacaan ic incorrect berarti avr kita besar kemungkinan bisa sehat lagi. Dan biasanya suka gagal dalam tahap pertama. Terus ulangi jgn putus asa sekali2x klik erase chip lalu balik lagi write fuse. cara ini saya pkai di 3 atmega8 sy sembuh semua dan temen2x pakai juga berhasil.
May 30th, 2014 at 3:25 pm
Sedikit berbagi pengalaman,kalau memakai Atiny 2313 Exr crystal 4 MHz,..saya hanya merubah bagian Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time: 14 CK + 0 ms,yang lain biarkan apa adanya.
July 1st, 2014 at 5:12 am
Saya mengalami hal yang sama dengan ATMEGA16 menjadi korban karena ketidak mengertian saya mengenai microcontroller ini. Maklumlah karena masih pemula.
Bagaimana dengan chip yang sudah menjadi korban tersebut, apakah ada trik/jurus yang bisa di share untuk mengatasi chip yang rusak tersebut. Problem yang saya hadapi sekarang adalah :
“Device Signature” terbaca oleh codecvision = FFF FFF FFF (255 255 255)sehingga pada saat programming chip dilakukan terjadi perbedaan Device signature” ATMEGA16 dengan yang berada pada codecvision.
Terimakasih
October 7th, 2014 at 10:50 am
selamat siang pak, trims sebelumnya utk artikelnya…
sy pnya kendala pak, chip sy tidak terdeteksi oleh program (BASCOM AVR) pdhl koneksi USBASP di laptop sdh OK… sebelumnya sy biasa pake kabel paralel jg tdk ad masalah.. kira2 kesalahannya di mana ya? apakah itu karena pengaturan clocknya tidak sesuai atau bgmn? mhon pencerahannya, trims…
August 25th, 2015 at 3:17 pm
gan cara menghapus semua program yang ada pada easy avr v7 gimana?
mohon bantuanya
March 29th, 2018 at 9:45 am
terimakasih untuk berbagi artikel ini pak
April 18th, 2018 at 10:00 am
thank u for sharing
May 16th, 2018 at 2:16 pm
thank you for sharing it’s so helpful
June 17th, 2018 at 7:56 pm
Good to know information. Nice one. @ vascular doctor near me
December 9th, 2018 at 12:29 am
thank you for sharing, im so interested.
January 10th, 2019 at 12:06 pm
Cara membuka program / file hex ATMEGA328 yg dilock gmn ya gan ?? Kuncinya powerful bgt apa ???
March 12th, 2019 at 8:17 am
thank you for sharing this
May 4th, 2019 at 5:48 pm
Hello my friend. I want to say that this post is awesome, nice written and include almost all important information. I would like to peer more posts like this. I’ll right away grab your rss feed as I can’t to find your email subscription hyperlink or e-newsletter service. Do you’ve any? Kindly allow me recognise so that I may subscribe. Thanks. http://mbahmistik.com/data-sgp-2019/
May 7th, 2019 at 7:03 pm
Hello my friend. I want to say that this post is awesome, nice written and include almost all important information. I would like to peer more posts like this. I’ll right away grab your rss feed as I can’t to find your email subscription hyperlink or e-newsletter service. Do you’ve any? Kindly allow me recognise so that I may subscribe. Thanks. https://qqrajaremi.blogspot.com/
September 11th, 2019 at 9:56 am
hello guys, nice post bro
September 11th, 2019 at 10:30 am
thanks for sharing. nice information
September 11th, 2019 at 10:34 am
Terima kasih. informasi yang sangat bagus sekali