<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SulhanSetiawan.com &#187; Buku karya Sulhan Setiawan</title>
	<atom:link href="http://sulhansetiawan.com/category/buku-karya-sulhan-setiawan/feed" rel="self" type="application/rss+xml" />
	<link>http://sulhansetiawan.com</link>
	<description>alias Yoko Chan</description>
	<lastBuildDate>Thu, 02 Sep 2010 00:23:19 +0000</lastBuildDate>
	<language>id</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>The new look of “Easy-Cozy in Microcontroller Learning” book</title>
		<link>http://sulhansetiawan.com/wajah-baru-buku-mudah-dan-menyenangkan-belajar-mikrokontroler</link>
		<comments>http://sulhansetiawan.com/wajah-baru-buku-mudah-dan-menyenangkan-belajar-mikrokontroler#comments</comments>
		<pubDate>Fri, 04 Sep 2009 11:30:36 +0000</pubDate>
		<dc:creator>Sulhan</dc:creator>
				<category><![CDATA[Buku karya Sulhan Setiawan]]></category>
		<category><![CDATA[buku Mikrokontroler]]></category>

		<guid isPermaLink="false">http://sulhansetiawan.com/?p=868</guid>
		<description><![CDATA[Kini buku Mudah dan Menyenangkan Belajar Mikrokontroler hadir dengan wajah baru. Jangan pangling karena justru tulisan &#8220;belajar mikrokontroler&#8221;nya lebih eye catching.]]></description>
			<content:encoded><![CDATA[<p>Kini buku Mudah dan Menyenangkan Belajar Mikrokontroler hadir dengan wajah baru. Jangan <em>pangling</em> karena justru tulisan &#8220;belajar mikrokontroler&#8221;nya lebih <em>eye catching</em>.</p>
<div class="wp-caption aligncenter" style="width: 155px"><a href="/img/BukuBelajarMikrokontroler.jpg"><img title="Mudah dan Menyenangkan Belajar Mikrokontroler" src="/img/BukuBelajarMikrokontroler.jpg" alt="Mudah dan Menyenangkan Belajar Mikrokontroler cetakan 2008" width="145" height="217" /></a><p class="wp-caption-text">Mudah dan Menyenangkan Belajar Mikrokontroler cetakan 2008</p></div>
]]></content:encoded>
			<wfw:commentRss>http://sulhansetiawan.com/wajah-baru-buku-mudah-dan-menyenangkan-belajar-mikrokontroler/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Tutorial belajar mikrokontroler</title>
		<link>http://sulhansetiawan.com/tutorial-belajar-mikrokontroler</link>
		<comments>http://sulhansetiawan.com/tutorial-belajar-mikrokontroler#comments</comments>
		<pubDate>Fri, 20 Feb 2009 13:55:31 +0000</pubDate>
		<dc:creator>Sulhan</dc:creator>
				<category><![CDATA[buku Mikrokontroler]]></category>
		<category><![CDATA[Belajar Mikrokontroler]]></category>
		<category><![CDATA[Mikrokontroler]]></category>

		<guid isPermaLink="false">http://sulhansetiawan.com/?p=564</guid>
		<description><![CDATA[Dibandingkan beberapa waktu yang lalu, sekarang harga chip mikrokontroler sudah relatif murah. Bahkan untuk sekadar membuat lampu berjalan, mikrokontroler pantas dipilih. Namun ternyata murahnya harga tidak serta merta membuat penggemar elektronika menggunakan mikrokontroler dalam rancangannya. Bukannya apa-apa, tapi karena mereka tidak dapat memprogramnya! Pakai trik apa? Harus diakui bahwa merancang sistem bermikrokontroler memang membutuhkan dasar [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Dibandingkan beberapa waktu yang lalu, sekarang harga chip mikrokontroler sudah relatif murah. Bahkan untuk sekadar membuat lampu berjalan, mikrokontroler pantas dipilih. Namun ternyata murahnya harga tidak serta merta membuat penggemar elektronika menggunakan mikrokontroler dalam rancangannya. Bukannya apa-apa, tapi karena mereka tidak dapat memprogramnya!</p>
<h4 style="text-align: justify;">Pakai trik apa?</h4>
<p style="text-align: justify;">Harus diakui bahwa merancang sistem bermikrokontroler memang membutuhkan dasar ilmu yang cukup kompleks. Banyak orang jadi menyerah sebelum mencoba. Mereka dibingungkan oleh lingkaran setan, dari mana harus memulai?</p>
<p style="text-align: justify;">Yang penting, Anda harus banyak berlatih, baik teori maupun praktik. Oleh karena itu, sebaiknya terlebih dahulu Anda mempersiapkan alat dan bahan, yaitu sistem minimal mikrokontroler (terdiri dari sebuah chip mikrokontroler, resistor, kapasitor, dan kristal), downloader, dan Integrated System Environment (IDE).</p>
<p style="text-align: justify;">Komponen-komponen bisa Anda beli di toko elektronika. Downloader bisa Anda buat sendiri atau beli. IDE bisa Anda dapatkan <a title="IDE mikrokontroler" href="http://sulhansetiawan.com/category/mikrokontroler/integrated-development-environment">di sini</a>. Jangan lupa, sandinglah buku <a title="Mudah dan Menyenangkan Belajar Mikrokontroler" href="http://sulhansetiawan.com/mudah-dan-menyenangkan-belajar-mikrokontroler">Mudah dan Menyenangkan Belajar Mikrokontroler</a> <img src='http://sulhansetiawan.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p style="text-align: justify;">Memang, untuk menjadi ahli, butuh waktu lumayan lama. Tapi, kalau hanya untuk sekadar bisa menggunakan mikrokontroler, satu atau dua hari saja sudah cukup! Mulailah dari yang paling sederhana, terus sedikit demi sedikit meningkat sampai yang rumit. Nanti, Jika Anda merasa mentok menghadapi masalah yang rumit, buatlah masalah menjadi sederhana. Jika Anda menghadapi masalah yang besar, buatlah masalah menjadi kecil. Jika Anda menemui bab yang sulit, jangan paksakan diri. Percayalah, suatu saat Anda pasti dapat memahaminya.</p>
<h4 style="text-align: justify;">Pakai mikrokontroler apa?</h4>
<p style="text-align: justify;">Sekali Anda menguasai salah satu jenis mikrokontroler, akan mudah bagi Anda untuk berpindah ke mikrokontroler jenis lainnya. Jadi, tidak penting pakai mikrokontroler apa, tapi teknik pemrogramannya.</p>
<p style="text-align: justify;">AT89C51 atau AT89C2051 dari keluarga MCS-51 bisa dijadikan pilihan yang bagus. Mikrokontroler ini mudah-murah-meriah. Anda tidak akan terlalu bersedih jika Anda membuatnya hancur. Sebaliknya, Anda akan sangat gembira jika ternyata bisa menguasai ilmu mikrokontroler dengan biaya yang rendah.</p>
<h4 style="text-align: justify;">Pakai bahasa pemrograman apa?</h4>
<p style="text-align: justify;">Ada banyak pilihan bahasa pemrograman. Ada yang menyarankan untuk menguasai bahasa pemrograman tingkat tinggi terlebih dahulu, seperti Basic, Pascal, C, dan lain-lain. Namun demikian, bahasa pemrograman terbaik yang benar-benar akan membuat Anda mengerti akan mikrokontroler adalah <em>assembly</em> karena bahasa ini menuntut Anda untuk membuat instruksi secara teliti.</p>
<p style="text-align: justify;">Selamat belajar!</p>
]]></content:encoded>
			<wfw:commentRss>http://sulhansetiawan.com/tutorial-belajar-mikrokontroler/feed</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>Pertanyaan seputar buku &#8220;Mudah dan Menyenangkan Belajar Mikrokontroler&#8221;</title>
		<link>http://sulhansetiawan.com/pertanyaan-seputar-buku-mudah-dan-menyenangkan-belajar-mikrokontroler</link>
		<comments>http://sulhansetiawan.com/pertanyaan-seputar-buku-mudah-dan-menyenangkan-belajar-mikrokontroler#comments</comments>
		<pubDate>Sat, 31 Jan 2009 23:47:50 +0000</pubDate>
		<dc:creator>Sulhan</dc:creator>
				<category><![CDATA[buku Mikrokontroler]]></category>
		<category><![CDATA[Belajar Mikrokontroler]]></category>
		<category><![CDATA[Mikrokontroler]]></category>

		<guid isPermaLink="false">http://sulhansetiawan.com/?p=469</guid>
		<description><![CDATA[Seorang pembaca buku Mudah dan Menyenangkan Belajar Mikrokontroler bertanya sebagai berikut: Pada listing program jam digital yang sudah ada tombol (hal. 91), tolong jelaskan lebih lanjut tentang penggunaan dan perhitungan Timer 0 Mode 2 sehingga menghasilkan timer 1 detik yang akurat. Tolong jelaskan lebih lanjut tentang cara kerja listing pengambilan data tombol (hal. 119). Bagaimana [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://sulhansetiawan.com/img/BkMdhMnynangknTnyKnp.jpg"><img class="aligncenter" title="BkMdhMnynangknTnyKnp" src="http://sulhansetiawan.com/img/BkMdhMnynangknTnyKnp.jpg" alt="" width="73" height="97" /></a></p>
<p style="text-align: justify;">Seorang pembaca buku <a title="Mudah dan Menyenangkan Belajar Mikrokontroler" href="http://sulhansetiawan.com/buku/mudah-dan-menyenangkan-belajar-mikrokontroler/">Mudah dan Menyenangkan Belajar Mikrokontroler</a> bertanya sebagai berikut:</p>
<p><a name="Top"></a></p>
<ol style="text-align: justify;">
<li style="text-align: justify;"><a href="#1">Pada listing program jam digital yang sudah ada tombol (hal. 91), tolong jelaskan lebih lanjut tentang penggunaan dan perhitungan Timer 0 Mode 2 sehingga menghasilkan timer 1 detik yang akurat.</a></li>
<li style="text-align: justify;"><a href="#2">Tolong jelaskan lebih lanjut tentang cara kerja listing pengambilan data tombol (hal. 119).</a></li>
<li style="text-align: justify;"><a href="#3">Bagaimana cara menggunakan deklarasi variabel dalam listing berekstensi *.M51 seperti: ~byte, ~bit,~word, dan ~array?</a></li>
<li style="text-align: justify;"><a href="#4">Bagaimana cara menggunakan tool: virtual LCD, tombol, MXLED, dalam simulator?</a></li>
<li style="text-align: justify;"><a href="#5">Nah, pertanyaan  selanjutnya mungkin tidak berhubungan dengan buku, namun masih seputar mikrokontroler. Bagaimana membuat 1 tombol menjadi 2 fungsi? Misalnya kita pasang tombol di P3.0. Jika ditekan 1x maka  akan  menjalankan subprogram A dan jika ditekan 2x akan menjalankan subprogram B.</a></li>
<li style="text-align: justify;"><a href="#6">Mas, saya mencoba membuat rangkaian PCB jam  dan  saya memasukan listing program debouncing 2.HEX. Hasilnya memang berjalan dengan sempurna. Tapi saat tombol pengubah menit atau jam ditekan, 7segment tidak langsung berubah angkanya tapi menunggu dulu program menyelesaikan  hitungan  menit. Bagaimana cara agar langsung berubah?</a></li>
</ol>
<p style="text-align: justify;">Dan inilah jawabannya:</p>
<ol><a name="1"></a></p>
<li style="text-align: justify;">
<h4>Timer 1 detik yang akurat.</h4>
<p>Sebenarnya keterangan di buku sudah cukup jelas. Pertama, kristal yang digunakan adalah 11,0592MHz. Dengan demikian kecepatan siklus mesin adalah 921,6KHz (11,0592MHz/12). Kedua, TH0 diisi #0, yang artinya interupsi timer0 akan dipanggil setiap 256 siklus mesin. Ingat bahwa TH=256-interval atau interval=256-TH. Dengan demikian interval pemanggilan adalah 256 siklus mesin.</p>
<p>Dari kedua data tadi kita bisa menghitung kecepatan pemanggilan terhadap interupsi timer0 adalah 3600Hz (921,6KHz/256). Nah, untuk memperoleh 1 detik, kita harus membagi lagi interval ini dengan 3600. Jadi kita melakukannya dengan dua tingkatan, yaitu dibagi dengan 225 (3600/225=16), kemudian kita bisa langsung membagi hasilnya dengan 16 untuk memperoleh frekuensi 1Hz. Akan tetapi karena kita membutuhkan frekuensi 2Hz untuk mengatur kedipan titik, maka kita tidak membagi dengan 16 tetapi dengan 8.</p>
<p>Frekuensi 1Hz diperoleh dengan flip-flop yang merupakan pembagi 2. Flip-flop ini diperoleh dengan menggunakan perintah cpl pada sebuah bendera (Bendera1Detik). Semoga cukup jelas.</p>
<p><a href="#Top">Kembali ke atas</a></p>
<p><a name="2"></a></li>
<li style="text-align: justify;">
<h4>Teknik mengambil data tombol dengan debouncing.</h4>
<p>Potongan program tersebut akan mengambil data beberapa tombol secara bersamaan dan telah dilakukan debouncing. Jadi kita bisa menggunakan sembarang tombol dan tidak perlu kuatir dengan yang namanya bounce. Cara menggunakannya tinggal dipanggil saja nama prosedurnya, yaitu &#8220;AmbilTombol&#8221;.</p>
<p>Setelah pemanggilan terhadap prosedur ini, maka Acc akan berisi data tombol. Sebagai contoh, jika tombol dipasang pada bit0 dan bit1, maka setelah pemanggilan prosedur ini, A akan berisi 0 jika tidak ada tombol yang ditekan, 1 jika tombol pada bit0 saja yang ditekan, 2 jika tombol pada bit1 saja yang ditekan, dan 3 jika kedua tombol ditekan.</p>
<p>Tentu saja nilai yang dihasilkan tergantung di mana saja tombol dipasang. Kita tinggal melihat pada nilai bitnya. bit0 bernilai 1 dan bit2 bernilai 2. Tentang bagaimana hal itu terjadi, coba perhatikan pada flowchart yang disertakan. Pelajari baik-baik flowchart tersebut. Semoga cukup jelas.</p>
<p><a href="#Top">Kembali ke atas</a></p>
<p><a name="3"></a></li>
<li style="text-align: justify;">
<h4>Alokasi memori untuk variabel dengan teknik yang memudahkan jika terjadi perubahan.</h4>
<p>Variabel ~byte, ~bit, ~word, dan ~array adalah cara yang relatif mudah untuk mengatur lokasi memory dibanding dengan mengatur lokasi memori dengan cara seperti:</p>
<pre>  Buffer  equ 8  ;misalkan butuh 4 byte

  Angka   equ 12

  Puluhan equ 13

  Satuan  equ 14</pre>
<p>Akan lebih mudah jika kita menggunakan:</p>
<pre>  ~Array 4 Buffer

  ~byte Angka Puluhan Satuan</pre>
<p>Dengan cara yang kedua, kita akan menempatkan Buffer pada lokasi 8, Angka pada lokasi 12, Puluhan pada lokasi 13, dan Satuan pada lokasi 14. Dan secara otomatis akan ada sebuah konstanta yang menyimpan posisi tertinggi dari lokasi memori yang tidak digunakan. Pada posisi inilah sebaiknya stack disimpan untuk inisiasinya. Konstanta ini diberi nama SaveStack. Dengan demikian, kita bisa menginisiasi stack dengan:</p>
<pre>  mov SP,#SaveStack</pre>
<p>dan itu akan sama artinya dengan:</p>
<pre>  mov SP,#14</pre>
<p>karena lokasi tertinggi yang digunakan adalah 14.</p>
<p>Jika kita menggunakan cara yang pertama dan kita hendak mengubah kebutuhan memori untuk Buffer menjadi hanya 2 byte saja, kita akan mengaturnya menjadi:</p>
<pre>  Buffer  equ 8

  Angka   equ 10

  Puluhan equ 11

  Satuan  equ 12</pre>
<p>dan pada inisiasi stack menjadi:</p>
<pre>  mov SP,#12</pre>
<p>Nah, kita harus mengubah semua angka pada pengaturan lokasi memorinya. Tapi jika kita menggunakan cara yang kedua, maka kita cukup mengganti bilangan 4 menjadi 2 pada deklarasi ~array seperti:</p>
<pre>  ~Array 2 Buffer

  ~byte Angka Puluhan Satuan</pre>
<p>atau karena Buffer hanya membutuhkan 2 byte, maka kita bisa menggantinya dengan tipe ~word seperti:</p>
<pre>  ~word Buffer

  ~byte Angka Puluhan Satuan</pre>
<p>Perhatikan bahwa kita hanya mengubah bagian deklarasi Buffer dan tidak ada bagian lain yang kita ubah.</p>
<p>Sedangkan variabel ~bit merupakan variabel berukuran 1 bit yang ditempatkan pada lokasi 20H.0 hingga 3FH.7.</p>
<p>Penempatan semua variabel tersebut selalu akan mencari lokasi terbawah yang masih kosong dimulai dari alamat 8 (default) atau bisa dipindah ke posisi tertentu menggunakan ~basequ.</p>
<p>Dan sebenarnya tentang ini juga sudah ada di lampiran pada buku. Semoga cukup jelas.</p>
<p><a href="#Top">Kembali ke atas</a></p>
<p><a name="4"></a></li>
<li style="text-align: justify;">
<h4>&#8220;Virtual LCD&#8221; (Simulasi LCD), &#8220;MXLED&#8221; (Simulasi Matriks LED), dan &#8220;Tombol&#8221; (Simulasi tombol dengan keyboard).</h4>
<ul>
<li>&#8220;Virtual LCD&#8221; bisa digunakan untuk percobaan yang membutuhkan tampilan karakter yang cukup banyak. Simulasi ini bisa dihubungkan dengan rangkaian nyata menggunakan koneksi serial. Lihat Bab 19 buku &#8220;Mudah dan Menyenangkan Belajar Mikrokontroler&#8221;. Akan tetapi simulasi ini juga bisa digunakan dari simulator dengan &#8220;Link Message&#8221;. Untuk melakukan hal tersebut, pilih Com yang digunakan berupa &#8220;Message&#8221;. Jika Data penekanan tombol keyboard hendak dikirim ke simulator melalui komunikasi serial (diterima di SBUF), maka &#8220;Message yang dikirim&#8221; harus diisi dengan 1035. Sedangkan jika data diinginkan untuk diterima oleh port, maka &#8220;Message yang dikirim&#8221; adalah 1034 dan &#8220;lParam yang dikirim&#8221; diisi dengan nomor port, yaitu 0, 1, 2, atau 3. Disamping itu &#8220;Handle&#8221; harus mengarah ke simulator yang aktif. Kita bisa menggunakan tombol &#8220;Capture Handle&#8221; kemudian klik pada jendela simulator yang dituju. Selain melakukan pengaturan pada &#8220;Virtual LCD&#8221;, port simulator juga harus disesuaikan. Jika simulator ingin mengirimkan data ke &#8220;Virtual LCD&#8221; melalui simulasi serial, maka Com harus menggunakan &#8220;Message&#8221; dan mengatur &#8220;Handle&#8221; agar mengarah ke &#8220;Virtual LCD&#8221; yang dituju dengan &#8220;Message yang dikirim&#8221; berupa WM_USER (1024). Sedangkan jika simulator hendak mengirim datanya melalui port, maka yang diatur adalah port untuk di &#8220;Link Message&#8221; ke arah &#8220;Virtual LCD&#8221; tersebut.</li>
<li>&#8220;MXLED&#8221; merupakan simulasi Matriks LED. Simulasi ini juga menerima data melalui &#8220;Link Message&#8221; dari pengaturan port pada simulator. Karena penjelesalannya agak panjang, maka saya tempatkan pada post tersendiri yaitu di <a href="http://sulhansetiawan.com/mikrokontroler/experiment/menampilkan-gambar-pada-led-matriks-menggunakan-simulator/">Menampilkan Gambar pada LED Matriks Menggunakan Simulator.</a></li>
<li>Untuk &#8220;Tombol&#8221;, jika pengaturan port pada simulator menggunakan &#8220;Link Message&#8221;, maka penekanan keyboard pada &#8220;Tombol&#8221; akan dikirim ke simulator. &#8220;Tombol&#8221; sendiri tidak membutuhkan pengaturan, karena secara otomatis dia akan mencari simulator yang sedang aktif.</li>
</ul>
<p><a href="#Top">Kembali ke atas</a></p>
<p><a name="5"></a></li>
<li style="text-align: justify;">
<h4>Satu tombol untuk banyak fungsi.</h4>
<p>Pemrograman tombol yang seperti itu membutuhkan pewaktuan yang cukup teliti. Pertama adalah melakukan pengecekkan apakah tombol ditekan atau tidak. Jika ya, maka dimulailah proses pendeteksian tombol.</p>
<p>Pendeteksian tombol ini pada dasarnya adalah sama dengan debouncing lainnya, yaitu menunggu sampai tombol dilepas lagi, tapi jika tombol telah dilepas tidak langsung menganggap bahwa tombol telah dilepas. Ada sebuah waktu minimum sehingga tombol yang telah dilepas benar-benar dianggap telah dilepas. Jika waktu tersebut tidak tercapai, maka penekanan tombol berikutnya masih akan dianggap sebagai bagian dari penekanan tombol sebelumnya.</p>
<p>Sekarang jika tombol telah memenuhi syarat untuk dianggap telah dilepas, artinya waktu tunggu minimum (debouncing timeout) terlampaui. Program tidak langsung melakukan aksi tertentu tetapi hanya menaikkan variabel yang menyatakan jumlah penekanan tombol, kemudian menunggu lagi adanya penekanan tombol berikutnya. Hal ini dilakukan dengan membuat bendera yang menyatakan bahwa program sedang menunggu penekanan tombol lagi. Waktu tunggu ini sekarang kita sebut sebagai &#8220;next press timeout&#8221;. Jika tombol ditekan lagi sebelum waktu tunggu terlampaui, maka penekanan tersebut hanya akan menaikkan perhitungan jumlah penekanan. Program hanya akan memproses data penekanan tombol hanya jika &#8220;next press timeout&#8221; terlampaui.</p>
<p>Anda bisa mendownload <a title="SatuTombol.zip 3,03KB" href="http://sulhansetiawan.com/microsource/SatuTombol.zip">program contoh</a> yang merupakan penghitung dua digit 0 &#8211; 99. Port0 digunakan untuk mengirimkan data segment, Port1 untuk kendali digit, sedangkan Port3.0 digunakan sebagai tombol. Untuk menaikkan hitungan, kita harus menekan tombol sekali. Sedangkan untuk menurunkan hitungan, kita harus menekan tombol dua kali dengan interval yang cepat. Kita juga bisa langsung mencapai nilai 99 dengan cara menekan tombol empat kali dengan cepat. Sedangkan untuk lansung mengembalikan ke 0, maka kita harus menekan tombol tiga kali dengan cepat.</p>
<p>Dari contoh ini, kita bisa menggunakan satu tombol untuk banyak aksi. Akan tetapi ingat, jika Anda membuat program dan ada fungsi yang dijalankan dengan cara menekan tombol secara cepat hingga sepuluh kali, bisa dipastikan akan tidak nyaman dalam penggunaannya <img src='http://sulhansetiawan.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p><a href="#Top">Kembali ke atas</a></p>
<p><a name="6"></a></li>
<li style="text-align: justify;">
<h4>Revisi contoh program jam digital dengan tombol yang di <em>debouncing.</em></h4>
<p>Setelah saya cek kembali, mamang ada yang kurang dan ada beberapa yang salah. Seharusnya pada MainLoop susunannya adalah seperti:</p>
<pre>              mov   R4,#NoMode     ;R4 =status mode

   MainLoop0: acall IsiBuffer

   MainLoop:  acall AmbilTombol</pre>
<p>Dan setiap selesai melakukan perubahan pada data baik menit ataupun jam, maka melompatnya adalah ke arah MainLoop0 dan bukan ke MainLoop. Selain itu, konstanta untuk penekanan tombol seharusnya adalah:</p>
<pre>   S1ditekan   equ   00010000b ;aslinya =00001000b

   S2ditekan   equ   00100000b ;aslinya =00010000b

   S1S2ditekan equ   00110000b ;aslinya =00011000b</pre>
<p>Dan penyaringan tombol pada &#8220;AmbilTombol&#8221; seharusnya:</p>
<pre>   AmbilTombol_:

               mov   A,P3

               cpl   a            ;pembalikan data

               anl   A,#00110000b ;aslinya =00011000b

               ret</pre>
<p>Kesalahan tersebut mengakibatkan pembacaan tombol menjadi keliru karena posisi tombol berada pada P3.4 dan P3.5 bukan pada P3.3 dan P3.4. Akan tetapi saya telah membuat versi revisinya dengan sedikit tambahan sehingga saat status mode berada pada ModeJam, maka digit jam akan dikedipkan. Demikian juga saat status mode berada pada ModeMenit, maka digit menit juga akan dikedipkan. Dengan demikian pemakai tahu apa yang akan terjadi jika tombol ditekan. Listing program revisi bisa didownload <a title="Debouncing2rev.zip 1,53KB" href="http://sulhansetiawan.com/microsource/Debouncing2rev.zip">di sini</a>.</p>
<p><a href="#Top">Kembali ke atas</a></li>
</ol>
<p style="text-align: justify;">Yang bisa didownload dari post ini:</p>
<ol>
<li><a title="SatuTombol.zip 3,03KB" href="http://sulhansetiawan.com/microsource/SatuTombol.zip">Contoh program satu tombol banyak fungsi</a></li>
<li><a title="Debouncing2rev.zip 1,53KB" href="http://sulhansetiawan.com/microsource/Debouncing2rev.zip">Revisi program Debouncing 2</a></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://sulhansetiawan.com/pertanyaan-seputar-buku-mudah-dan-menyenangkan-belajar-mikrokontroler/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Learning Action Script (Flash) thru making game</title>
		<link>http://sulhansetiawan.com/belajar-action-script-flash-lewat-bikin-game</link>
		<comments>http://sulhansetiawan.com/belajar-action-script-flash-lewat-bikin-game#comments</comments>
		<pubDate>Sat, 30 Aug 2008 05:15:48 +0000</pubDate>
		<dc:creator>Sulhan</dc:creator>
				<category><![CDATA[buku Action Script (Flash)]]></category>
		<category><![CDATA[Action Script]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://sulhansetiawan.com/?p=74</guid>
		<description><![CDATA[Judul &#62;&#62; Merancang Aplikasi Flash Secara Optimal Penulis &#62;&#62; Sulhan Setiawan Penerbit &#62;&#62; Andi, Yogyakarta ISBN &#62;&#62; 979-763-643-7 Dimensi &#62;&#62; 16 x 23 cm, 246 hal. Cetakan pertama &#62;&#62; 2007 Ada CD Mau belajar Action Script tanpa berasa belajar? Ayo bikin game! Buku ini akan memandu Anda bikin game dengan menerapkan action script, langkah demi [...]]]></description>
			<content:encoded><![CDATA[<div class="wp-caption aligncenter" style="width: 155px"><a href="http://sulhansetiawan.com/img/BukuFlashOptimal.jpg"><img title="Merancang Aplikasi Flash Secara Optimal" src="http://sulhansetiawan.com/img/BukuFlashOptimal.jpg" alt="Merancang Aplikasi Flash Secara Optimal" width="145" height="193" /></a><p class="wp-caption-text">Merancang Aplikasi Flash Secara Optimal</p></div>
<p style="text-align: justify;">Judul &gt;&gt; Merancang Aplikasi Flash Secara Optimal<br />
Penulis &gt;&gt; Sulhan Setiawan<br />
Penerbit &gt;&gt; Andi, Yogyakarta<br />
ISBN &gt;&gt; 979-763-643-7<br />
Dimensi &gt;&gt; 16 x 23 cm, 246 hal.<br />
Cetakan pertama &gt;&gt; 2007<br />
Ada CD</p>
<blockquote>
<p style="text-align: justify;">Mau belajar Action Script tanpa berasa belajar? Ayo bikin game! Buku ini akan memandu Anda bikin game dengan menerapkan action script, langkah demi langkah. Bukan cuma visualnya, Anda juga akan dipandu membuat sound effect sehingga game Anda semakin seru.</p>
</blockquote>
<p style="text-align: justify;">Animasi memang membuat hidup lebih hidup.  Dan Flash sudah sangat dikenal sebagai software untuk membuat animasi. Action script pada Flash akan membuat animasi semakin bernyawa. Sayangnya, untuk menerapkan action script membutuhkan kemampuan logika (baca: pemrograman).</p>
<p style="text-align: justify;">Seperti halnya bukunya yang terdahulu, kali ini Sulhan Setiawan akan membuat acara belajar action script Anda mudah dan menyenangkan. Ia telah berupaya agar buku ini bisa dipahami bahkan bagi Anda yang belum kenal pemrograman.</p>
<p style="text-align: justify;">Asyiknya, acara belajar kali ini adalah membuat game! Game is fun! Lagipula, game akan merangsang kemampuan logika karena game mengharuskan kita berpikir bagaimana aturan-aturan game ditegakkan. Serunya lagi, ada bonus freeware <em>Wave Editor</em> yang berguna untuk manipulasi file suara berekstensi WAV.</p>
]]></content:encoded>
			<wfw:commentRss>http://sulhansetiawan.com/belajar-action-script-flash-lewat-bikin-game/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Easy and cozy learning microcontroller</title>
		<link>http://sulhansetiawan.com/mudah-dan-menyenangkan-belajar-mikrokontroler</link>
		<comments>http://sulhansetiawan.com/mudah-dan-menyenangkan-belajar-mikrokontroler#comments</comments>
		<pubDate>Sat, 23 Aug 2008 07:46:59 +0000</pubDate>
		<dc:creator>Sulhan</dc:creator>
				<category><![CDATA[buku Mikrokontroler]]></category>
		<category><![CDATA[Belajar Mikrokontroler]]></category>
		<category><![CDATA[Mikrokontroler]]></category>

		<guid isPermaLink="false">http://sulhansetiawan.com/?p=20</guid>
		<description><![CDATA[Judul buku &#62;&#62; Mudah dan Menyenangkan Belajar Mikrokontroler Penulis &#62;&#62; Sulhan Setiawan Penerbit &#62;&#62; Andi, Yogyakarta ISBN &#62;&#62; 979-763-367-5 Dimensi &#62;&#62; 14 x 21 cm, 247 hal. Cetakan &#62;&#62; 2006, 2008 Ada CD Buku yang akan membuat acara belajar mikrokontroler Anda menjadi semudah dan semenyenangkan membuat pop mie. Nikmati source code dalam assembly yang siap [...]]]></description>
			<content:encoded><![CDATA[<div class="wp-caption aligncenter" style="width: 155px"><a href="http://sulhansetiawan.com/img/BukuMudahMenyenangkan.jpg"><img title="Mudah dan Menyenangkan Belajar Mikrokontroler" src="http://sulhansetiawan.com/img/BukuMudahMenyenangkan.jpg" alt="Mudah dan Menyenangkan Belajar Mikrokontroler cetakan 2006" width="145" height="193" /></a><p class="wp-caption-text">Mudah dan Menyenangkan Belajar Mikrokontroler cetakan 2006</p></div>
<div class="wp-caption aligncenter" style="width: 155px"><a href="http://sulhansetiawan.com/img/BukuBelajarMikrokontroler.jpg"><img title="Mudah dan Menyenangkan Belajar Mikrokontroler" src="http://sulhansetiawan.com/img/BukuBelajarMikrokontroler.jpg" alt="Mudah dan Menyenangkan Belajar Mikrokontroler cetakan 2008" width="145" height="217" /></a><p class="wp-caption-text">Mudah dan Menyenangkan Belajar Mikrokontroler cetakan 2008</p></div>
<p style="text-align: justify;">Judul buku &gt;&gt; Mudah dan Menyenangkan Belajar Mikrokontroler<br />
Penulis &gt;&gt; Sulhan Setiawan<br />
Penerbit &gt;&gt; Andi, Yogyakarta<br />
ISBN &gt;&gt; 979-763-367-5<br />
Dimensi &gt;&gt; 14 x 21 cm, 247 hal.<br />
Cetakan &gt;&gt; 2006, 2008<br />
Ada CD</p>
<blockquote>
<p style="text-align: justify;">Buku yang akan membuat acara belajar mikrokontroler Anda menjadi semudah dan semenyenangkan membuat pop mie. Nikmati source code dalam assembly yang siap pakai, lengkap dengan bumbu penjelasnya yang diracik secara lugas sehingga baik untuk pencernaan otak. Bonus! Freeware! IDE (Integrated Development Environment) untuk mengolah aplikasi mikrokontroler yang Anda inginkan; writing, downloading, debugging, bahkan simulating.</p>
</blockquote>
<p style="text-align: justify;">Putus asa belajar mikrokontroler? Baca buku mikrokontroler tapi berasa baca datasheet <em>aje</em>? <em>Capede</em>! Baca yang ini: <em><strong>Mudah dan Menyenangkan Belajar Mikrokontroler</strong></em>.</p>
<p style="text-align: justify;">Ceritanya, penulis buku ini sering diminta untuk mengajari teman-temannya mikrokontroler. Penulis heran, mengapa mikrokontroler yang sangat menyenangkan justru dianggap sangat sulit. Berlatar belakang itulah kemudian Penulis menyusun langkah demi langkah agar belajar mikrokontroler menjadi mudah dan menyenangkan.</p>
<p style="text-align: justify;">Mungkin semua buku tentang mikrokontroler isinya teori melulu yang sebenarnya bisa ditanyakan ke Mbah Google. Giliran aplikasi betulan, bingung source code-nya. Nah, buku ini berlimpah source code dalam assembly beserta penjelasannya. Buku ini juga menyediakan banyak cara untuk mengendalikan bermacam-macam komponen seperti seven segment, ADC, DAC, motor DC, LCD, bahkan komputer. <em>Kasi daaah!</em></p>
<p style="text-align: justify;">Boleh intip dulu daftar babnya..<br />
01 . Pendahuluan<br />
02 . LED Berjalan 1<br />
03 . LED Berjalan 2<br />
04 . LED Berjalan 3<br />
05 . LED Berjalan 4<br />
06 . LED Berjalan 5<br />
07 . Seven Segment 1<br />
08 . Seven Segment 2<br />
09 . Interupsi<br />
10 . Menggunakan tombol 1<br />
11 . Menggunakan tombol 2<br />
12 . Menggunakan tombol 3<br />
13 . Membuat nada<br />
14 . Mengukur kecepatan putar 1<br />
15 . Mengukur kecepatan putar 2<br />
16 . DAC<br />
17 . Sistem pengendalian motor DC<br />
18 . Berkomunikasi dengan IC atau modul lain<br />
19 . Berkomunikasi secara serial</p>
<p style="text-align: justify;">Klik link berikut untuk menyimak artikel tentang <a title="IDE mikrokontroler" href="http://sulhansetiawan.com/category/mikrokontroler/integrated-development-environment">IDE mikrokontroler</a> atau <a title="Simulator" href="http://sulhansetiawan.com/category/mikrokontroler/simulator">Simulator</a>.</p>
<p style="text-align: justify;">Buku ini berbasis mikrokontroler MCS-51. Tanya kenapa? Tidak penting pakai mikrokontroler apa, tapi teknik pemrogramannya. Demikian yang ditekankan oleh Sulhan Setiawan, penulis buku ini. Jadi jika sudah gape tekniknya, mau ganti jenis mikrokontroler, <em>ngak masyalah</em>.</p>
<p style="text-align: justify;">Jika Anda tidak menemukan buku ini di toko buku konvensional, silakan search di website toko buku online kepercayaan Anda.</p>
]]></content:encoded>
			<wfw:commentRss>http://sulhansetiawan.com/mudah-dan-menyenangkan-belajar-mikrokontroler/feed</wfw:commentRss>
		<slash:comments>50</slash:comments>
		</item>
	</channel>
</rss>
