Pada mikrokontroler Atemal keluarga AT89C (obsollete) atau AT89S, Port 0 tidak memiliki pullup internal. Pullup FET yang berada di dalam penggerak luaran P0 digunakan hanya pada saat port mengirimkan logika ‘1’ selama pengaksesan memori eksternal. Selain dari itu, pullup FET akan selalu mati. Konsekuensinya, jalur-jalur P0 yang digunakan sebagai jalur luaran merupakan saluran terbuka (open drain). Penulisan ‘1’ ke bit pengancing membuat kedua FET keluaran menjadi mati, dengan demikian kondisi kaki-kakinya menjadi mengambang (float). Dalam kondisi seperti ini, pin dapat digunakan sebagai masukan berimpedansi tinggi.
Karena Port 1, 2 dan 3 telah memiliki pullup internal yang pasti, mereka dinamakan sebagai port-port kuasi-dwi-arah (quasi-bidirectional). Saat dikonfigurasi sebagai masukan, maka ditarik tinggi dan memberikan arus (source current) saat ditarik rendah secara eksternal. Port 0, di sisi lain, merupakan Port 0 dwi-arah yang sebenarnya, karena akan mengambang jika dikonfigurasi sebagi masukan.
Fungsi reset atau saat Power ON akan menuliskan ‘1’ ke seluruh bit-bit pengancing (latch) port pada keluarga AT89. Jika kemudian ‘0’ dituliskan ke pengancing, pengancing dapat dikonfigurasi sebagai masukan jika ‘1’ dituliskan padanya.
Contoh rangkaian dan aplikasi
Rangkain minimum untuk menghidupkan 8 LED melalui Port 1 ditunjukkan pada gambar dibawah ini. Yang perlu diperhatikan adalah konfigurasi rangkaian LED itu sendiri, yaitu Common Anode (CA), artinya untuk menghidupkan LED pada Port 1 yang bersangkutan, harus dikirim logika ‘0′. Hal ini berkaitan dengan penjelasan sebelumnya, Jika ‘0’ kita tulis ke Port 0 maka luaran dari lacth (yang ) akan menghidupkan FET sehingga baik kaki Port 0 maupun resistor pullup internal akan di pulled-low (secara internal juga), sehingga LED yang terhubungkan secara CA bisa menyala.
Sedangkan jika menggunakan rangkaian Common Khatode (CK), untuk menyalakan LED butuh penulisan ‘1’, namun penulisan ‘1’ ini menyebabkan Port 0 menjadi masukan berimpedansi (karena adanya resistor pullup internal) dan hanya cocok untuk masukan bukan keluaran (arus dari pullup internal tidak kuat untuk menyalakan LED karena ordenya uA, sedangkan keluarannya bisa mencapai sekitar 3,8 mA). Hal ini berlaku juga untuk Port 2 dan Port 3. Penggunaan resistor 330 ohm sebagai pembatas arus, dengan tegangan Vcc 5 volt maka arusnya sekitar 15 mA dan ini cukup untuk menghidupkan LED (biasanya sekitar 10 mA).
Program bab3_01.asm merupakan aplikasi untuk membuat kelompok 4 (empat) LED mati-hidup secara bergantian (flip-flop):
1: ;-- BAB3_01.ASM ----------------------------------------------------------- 2: ; 3: ; LAMPU FLIP-FLOP PADA PORT 1 4: ; 5: ;-------------------------------------------------------------------------- 6: ORG 0H ; PROGRAM DITEMPATKAN PADA LOKASI 0000H 7: ; 8: MULAI: MOV P1,#00001111B ; LED P1.4 S/D P1.7 NYALA (HEKSA= #0FH) 9: ACALL DELAY ; LAKUKAN PENUNDAAN SESAAT (SUB. DELAY) 10: MOV P1,#11110000B ; LED P1.0 S/D P1.3 NYALA (HEKSA= #0F0H) 11: ACALL DELAY ; LAKUKAN PENUNDAAN SESAAT (SUB. DELAY) 12: SJMP MULAI ; ULANGI LAGI DARI AWAL 13: ; 14: ;-SUBRUTIN DELAY----------------------------------------------------------- 15: ; 16: ; SUBRUTIN INI HANYA SEKEDAR MELAKUKAN PENUNDAAN SESAAT DENGAN CARA 17: ; MENGULANGI PROSES (PENGURANGAN ISI REGISTER) HINGGA DICAPAI SUATU 18: ; KONDISI TERTENTU 19: ; 20: ;-------------------------------------------------------------------------- 21: DELAY: MOV R0,#5H ; ISI REGISTER R0 DENGAN 5 (5X ULANG) 22: DELAY1: MOV R1,#0FFH ; ISI REGISTER R1 DENGAN 255 (255X ULANG 23: DELAY2: MOV R2,#0 ; ISI REGISTER R2 DENGAN 0 (256X ULANG) 24: DJNZ R2,$ ; R2=R2-1, JIKA R2 BELUM 0 ULANGI LAGI 25: DJNZ R1,DELAY2 ; R1=R1-1, JIKA R1 BELUM 0 ULANGI DELAY2 26: DJNZ R0,DELAY1 ; R0=R0-1, JIKA R0 BELUM 0 ULANGI DELAY1 27: RET ; KEMBALI KE PEMANGGIL SUBRUTIN DELAY 28: END
Baris 8-12 merupakan program utama, sedangkan baris 1-5 dan 14-20 merupakan komentar sekaligus berisi keterangan program (diabaikan selama proses kompilasi), baris 6 digunakan agar instruksi dituliskan mulai alamat 0h. Baris 8 digunakan untuk mengirimkan data 00001111B (biner) ke Port 1 agar lampu LED4 – LED7 (berkaitan dengan P1.4-P1.7) menyala, kemudian diikuti dengan mengerjakan tundaan (baris-9) yaitu mengerjakan sub-rutin Delay, kemudian bergantian LED0-LED3 (berkaitan dengan P1.0-P1.3) dinyalakan (baris-10), kemudian (baris-11) tundaan lagi. Proses ini diulang dari awal dengan instruksi SJMP MULAI pada baris 12. Baris 21-27 merupakan program subrutin DELAY.
Informasi lebih lengkap bisa diperoleh di buku saya “Belajar Mikrokontroler At89C51/52/55: Teori dan Aplikasi, Edisi 2“, CV. Gava Media – Yogyakarta (klik)
Tags: at89, io, Mikrokontroler





February 9th, 2009 at 9:59 am
Aku doakan semoga bukunya makin laris.
Mas, duet nulis buku yuk? Aku co-writer aja deh… 🙂
Rgds,
Chandra MDE
February 9th, 2009 at 11:51 am
okey setuju saja silahkan japri langsung…
mas Chandra jadi penulis utamanya juga gak apa2 kok…
sekalian untuk promosi…
February 22nd, 2009 at 11:44 am
Salam kenal.
Bisa bahas pemrograman MCS 51 dengan bahasa C spt keil C tidak?
Saya kesulitan di pengaturan delay yang tepat karena umunya menggunakan looping, misal :
delay_ms(1000) ->> 1 detik tepat.
Caranya menyisipkan program assembler pada bahasa C untuk Keil C gmana ya?
Thanks
February 24th, 2009 at 10:40 am
mas da gak micro yang pake multiflexer
kalo ada
tolong ya mas dikirim ke email saya
February 24th, 2009 at 3:18 pm
wah pertanyaan bagus…
MUX biasa dijumpai pada FPGA, sehingga pertanyaannya bisa “adakah mikrokontroler yang dilengkapi FPGA?” atau “FPGA yang dilengkapi mikrokontroler?”…
jawabannya ada di artikel khusus, sengaja saya tidak terjemahkan agar sekalian belajar bhs. inggris… -> FPSLIC (AVR with FPGA)
February 27th, 2009 at 11:40 am
Cuma mw bilang saya bakal sering berkunjung ke sini, programmer web pengen belajar elektronik jg nih, he2.
Ijin nyimak n donlod ya Mas
Thx 🙂
Sukses selalu
February 27th, 2009 at 4:23 pm
silahkan nyimak, download atau merujuk ke website saya silahkan, you’re welcome…
sukses juga buat NUX…
March 26th, 2009 at 11:42 am
saya sudah beli bukunya dari kapan hari. saya udah nyoba beberapa programnya. tapi masih ada masalah di bagian konek ke PC lewat kabel serial. saya pake kabel data BAFO usb to serial (laptop saya gak ada port serial).
apa masalahnya itu sama kabel data BAFO saya ya??? kalo buat ngecek kabel data itu gimana caranya pak?
kalo saya interface nya pake delphi…. apa di mikro nya harus di isi program dulu buat ngerespon program di delphinya, atau saya ketik aja semua code asmnya di delphi(termasuk program buat mikronya)???
makasih…..
March 26th, 2009 at 4:26 pm
@Rez:
untuk antarmuka dengan PC, mo pake VB atau Delphi, jelas uC-nya harus diisi dulu donk plus diberi protokol untuk berkomunikasi dengan PC-nya… kabel USB2Serial pada dasarnya bisa digunakan, ini untuk komunikasi serial…
March 31st, 2009 at 11:56 pm
mas tanya, dulu saat aq awal belajar mikro, saya coba buat downloader untuk seri at89s51, padahal saya dah coba pake beberapa referensi, tapi kok masih g bisa, bisa minta rangkaian downloader untuk seri s51 ga’ mas? dan sekarang aq pake avr atmega8535,tapi punya kendala di komunikasi serial. ketika di hyperterminal, karakter keluar tapi kok ga’ sesuai dengan karakter yang seharusnya, baudrate sudah sama, saya pake 2400. pa spek dari komputer da pengaruh.
April 1st, 2009 at 4:40 am
gunakan saja USB downloader disini
April 10th, 2009 at 1:07 am
salam sukses selalu…..
Mo tanya soal maksimal output mikrokontroler AT89S82 bisa gak mengatur nyalah sampe 32 led ?
menggunakan program apa untuk mengatur nyalah LED nya?
April 12th, 2009 at 6:14 am
gambar rangkaian yang bapak buat menggunakan (common anoda), yang semua kutub positif LED terhubung semua ke VCC pengaturan menyalahkan LED menggunakan aktif low.
bagaimana jika saya ingin membuat dengan menggunakan (common katoda)?
mohon untuk memberikan penjelasan atau mengirim email ke saya untuk gambar rangkaiannya jika bisa…..
terima kasih salam sukses selalu untuk pak agfianto
April 12th, 2009 at 12:05 pm
@Syaifullah:
penjelasan untuk rangkaian aktif high bisa diunduh di sini.
Yang Anda unduh adalah draft buku yang terbengkalai gak sempet saya selesaikan…
June 28th, 2009 at 6:37 am
Pak Kasih Tutorial Yang Expert Donk!!!
Misal : USB. MMC, Ethernet
Kasih teori aja, bosen dengan yang biasa coz di internet kan banyak,
Oke Pak!
October 1st, 2014 at 9:06 pm
adakah flowchartnya dan gambar ….
seandainnya port yang dipakai adalah Po bisa tidak ? jika bisa bagaimana ??
makasihh…
April 11th, 2018 at 2:15 pm
thanks for sharing
May 16th, 2018 at 2:51 pm
thank you for sharing it’s so helpful
November 27th, 2018 at 9:30 pm
I really enjoyed reading your article. I found this as an informative and interesting post, so I think it is very useful and knowledgeable. I would like to thank you for the effort you have made in writing this article…
November 27th, 2018 at 11:41 pm
Great post, I really interesting the way you highlighted some important points.I never seen these type of article in my life ..its really wonderful Thanks very much, I appreciate your post.
November 27th, 2018 at 11:44 pm
Thank you so much for sharing post with us. Keep it up.
December 13th, 2018 at 1:37 pm
its good thing to share, thank you.
March 25th, 2019 at 11:02 pm
There are certainly a lot of details like that to take into consideration. That is a great point to bring up. I offer the thoughts above as general inspiration but clearly there are questions like the one you bring up where the most important thing will be working in honest good faith. I don?t know if best practices have emerged around things like that, but I am sure that your job is clearly identified as a fair game. Both boys and girls feel the impact of just a moment?s pleasure, for the rest of their lives.
April 22nd, 2019 at 6:04 pm
keep up the work
June 20th, 2019 at 5:17 pm
Thanks for sharing this post.It is very informative and helpful.
June 20th, 2019 at 5:33 pm
Good article! Keep sharing this type of information to expand user knowledge.
June 25th, 2019 at 2:10 pm
Mcafee antivirus setup is a widely used antivirus software which develops a protective shield for your devices and data.
June 26th, 2019 at 4:20 pm
Nice work keep it up thanks for sharing this article.
mcafee.com/activate
October 19th, 2019 at 1:26 pm
nice blog! have a nice day
http://www.trendmicro.com besbuypc
December 27th, 2019 at 1:20 pm
AOL Desktop Gold is an across the board work area that gives mail, perusing, search, content and so forth. It has superior security features to help forestall your AOL account from malware furthermore from occurring hacked. One of its most up to date features is programmed refreshes that can assist you with sparing valuable time by identifying old forms and replacing them and refreshing it to the latest form when they are accessible. It gives a two-steps confirmation procedure to help secure your record from being undermined. Recently included encryption cause the records and data you to have put away blocked off and inaccessible to a compromising outside source.
Once in a while the issue of downloading and reinstalling AOL desktop gold software turns out to be very furious. So if you are searching for a simple bit by bit directions on the best way to install. visit our website and get simple steps download AOL Gold Software your device.
March 12th, 2020 at 2:39 pm
avg.com/retail is the URL that you have to reach in order, to begin with, any avg item. Innovation is propelling step by step and the progression of innovation made individuals progressively reliant on it. Using innovation is all fine yet it additionally has a clouded side. Generally, individuals convey their information and ordinary work on PC. There are high possibilities that your information and work can control by unapproved exercises like malevolent records entering in the Desktop, PC, and Smartphone by means of malware, rootkit, spyware, and Trojan horses.