Sekedar berbagi pengalaman, bagi para pengguna uC 8051 (MCs51) khususnya bagi para pemula berhati-hatilah menggunakan port pada 8051 (AT89C51/52, AT89S51/52) Anda khususnya port0. Mengapa?
Jawabannya adalah dari sisi hardware, port0 tidak dapat digunakan untuk men-drive logika ‘1′ (5 volt). Port0 baik digunakan untuk proses “sink” yaitu proses menerima logika ‘0′. Bila dipaksa untuk mendrive logika ‘1′, maka port0 ini akan mengeluarkan nilai ‘Z‘ (High-Impedance). Dari sisi software (khususnya bagi Anda para pengguna C), jangan meng-assign P0 di mana P0 merupakan input dari statement tersebut, seperti
P0 = P0 << 1;
sebaiknya Anda menggunakan temporary terlebih dahulu. Contoh:
temp = P0 << 1;
P0 = temp;
Semoga bermanfaat!





Komentar Terakhir