Sabtu, 11 Januari 2014

Tugas 2 mikrokontroler



Port Paralel Mikrokontroler ATMEL Keluarga 51


Mikrokontroler AT89C51/52 atau AT89S51/52 (keluarga 51) mempunyai 40 kaki, 32 diantaranya digunakan sebagai Port Paralel. Satu port paralel terdiri dari 8 kaki, dengan demikian 32 kaki tersebut membentuk 4 buah port paralel, yang masing-masing dikenal sebagai Port 0, Port 1, Port 2, dan Port 3. Nomor dari masing-masing jalur (kaki) dari Port paralel mulai dari 0 sampai 7, jalur (kaki) pertama Port 0 disebut sebagai P0.0 dan jalur terakhir untuk Port 3 adalah P3.7.

KONFIGURASI PIN

Image: Port Paralel Mikrokontroler ATMEL Keluarga 51

Fungsi dari masing-masing PIN :
  1. Pin 1 sampai 8 (Port 1) merupakan port paralel 8 bit dua arah (bidirectional) yang dapat digunakan untuk berbagai keperluan (general purpose)
  2. Pin 9 merupakan pin reset, reset aktif jika mendapat catuan tinggi
  3. Pin 10 sampai 17 (Port 3) adalah port paralel 8 bit dua arah yang memiliki fungsi pengganti sebagai berikut:
    • P3.0 (10) : RXD (port serial penerima data)
    • P3.1 (11) : TXD (port serial pengirim data)
    • P3.2 (12) : INT0 (input interupsi eksternal 0, aktif low)
    • P3.3 (13) : INT1 (input interupsi ekstrernal 1, aktif low)
    • P3.4 (14) : T0 (eksternal input timer / counter 0)
    • P3.5 (15) : T1 (eksternal input timer / counter 1)
    • P3.6 (16) : WR (Write, aktif low) Sinyal kontrol penulisan data dari port 0 ke memori data dan input-output eksternal
    • P3.7 (17) : RD (Read, aktif low) Sinyal kontrol pembacaan memori data input-output eksternal ke port 0
  4. Pin 18 sebagai XTAL 2, keluaran osilator yang terhubung pada kristal
  5. Pin 19 sebagai XTAL 1, masukan ke osilator berpenguatan tinggi, terhubung pada kristal
  6. Pin 20 sebagai GND, Ground atau pentanahan
  7. Pin 21 sampai 28 (Port 2) adalah port paralel 8 bit dua arah. Port ini mengirim byte alamat bila pengaksesan dilakukan pada memori eksternal
  8. Pin 29 sebagai PSEN (Program Store Enable) adalah sinyal yang digunakan untuk membaca, memindahkan program memori eksternal (ROM / EPROM) ke mikrokontroler (aktif low)
  9. Pin 30 sebagai ALE (Address Latch Enable) untuk menahan alamat bawah selama mengakses memori eksternal. Pin ini juga berfungsi sebagai PROG (aktif low) yang diaktifkan saat memprogram internal flashmemori pada mikrokontroler (on chip)
  10. Pin 31 sebagai EA (External Accesss) untuk memilih memori yang akan digunakan, memori program internal (EA = Vcc) atau memori program eksternal (EA = Vss), juga berfungsi sebagai Vpp (programming supply voltage) pada saat memprogram internal flash memori pada mikrokontroler
  11. Pin 32 sampai 39 (Port 0) merupakan port paralel 8 bit dua arah. Berfungsi sebagai alamat bawah yang dimultipleks dengan data untuk mengakses program dan data memori eksternal
  12. Pin 40 sebagai Vcc, terhubung ke +5 V sebagai catuan untuk mikrokontroler
Spesifikasi Masing-Masing Port Paralel
  • PORT 0 : Port 0 merupakan port keluaran/masukan (I/O) bertipe open drain bidirectional. Sebagai port keluaran, masing-masing kaki dapat menyerap arus (sink) delapan masukan TTL (sekitar 3,8 mA). Pada saat ’1′ ditulisakan ke kaki-kaki Port 0 ini, maka kaki-kaki Port 0 dapat digunakan sebagai masukan-masukan berimpedansi tinggi. Port 0 juga dapat dikonfigurasikan sebagai bus alamat/data bagian rendah (low byte) selama proses pengaksesan memori data dan program eksternal. Jika digunakan dalam mode ini port 0 memiliki pull up internal (tapi lemah). Port 0 juga menerima kode-kode yang dikirimkan kepadanya selama proses pengisian program dan mengeluarkan kode-kode selama proses verifikasi program yang telah tersimpan dalam flash. Dalam hal ini dibutuhkan pullup eksternal selama proses verifikasi program
  • PORT 1 : Port 1 merupakan  port I/O dwi-arah yang dilengkapi dengan pullup internal. Penyangga keluaran Port 1 mampu memberikan/menyerap arus empat masukan TTL (sekitar 1,6 mA). Jika ’1′ dituliskan ke kaki-kaki Port 1, maka masing-masing kaki akan di pulled high dengan pullup internal sehingga dapat digunakan sebagai masukan. Sebagai masukan, jika kaki-kaki Port 1 dihubungkan ke ground (di-pulled low), maka masing-masing kaki akan memberikan arus (source) karena di-pulled high secara internal. Port 1 juga menerima alamat bagian rendah (low byte) selama pengisian program dan verifikasi flash
  • PORT 2 : Port 2 merupakan  port I/O dwi-arah yang dilengkapi dengan pullup internal. Penyangga keluaran Port 2 mampu memberikan/menyerap arus empat masukan TTL (sekitar 1,6 mA). Jika ’1′ dituliskan ke kaki-kaki Port 2, maka masing-masing kaki akan di pulled high dengan pullup internal sehingga dapat digunakan sebagai masukan. Sebagai masukan, jika kaki-kaki Port 2 dihubungkan ke ground (di-pulled low), maka masing-masing kaki akan memberikan arus (source) karena di-pulled high secara internal. Port 2 akan memberikan byte alamat bagian tinggi (high byte) selama pengambilan instruksi dari memori program eksternal dan selama pengaksesan memori data eksternal yang menggunakan perintah dengan alamat 16-bit (misalnya: MOVX @DPTR). Dalam aplikasi ini, jika ingin mengirimkan ’1′, maka digunakan pullupinternal yang sudah disediakan. Selama pengaksesan memori data eksternal yang menggunakan perintah dengan alamat 8-bit (misalnya: MOVX @Ri), Port 2 akan mengirimkan isi dari SFR P2. Port 2 juga menerima alamat bagian tinggi selama pemrograman dan verifikasi flash

  • PORT 3 : Port 3 merupakan  port I/O dwi-arah yang dilengkapi dengan pullup internal. Penyangga keluaran Port 3 mampu memberikan/menyerap arus empat masukan TTL (sekitar 1,6 mA). Jika ’1′ dituliskan ke kaki-kaki Port 3, maka masing-masing kaki akan di pulled high dengan pullup internal sehingga dapat digunakan sebagai masukan. Sebagai masukan, jika kaki-kaki Port 3 dihubungkan ke ground (di-pulled low), maka masing-masing kaki akan memberikan arus (source) karena di-pulled high secara internal. Port 3 sebagaimana Port 1 memiliki fungsi-fungsi alternatif sebagaimana telah ditunjukkan pada bagian sebelumnya. 
semoga bermanfaat.

Sabtu, 21 Desember 2013

Tugas mikroprosesor


MICROCONTROLLER

Mikrokontroler adalah salah satu dari bagian dasar dari suatu sistem computer lebih kecil dari suatu komputer.

Mikrokontroler juga merupakan sistem komputer yang mempunyai satu atau beberapa tugas yang sangat spesifik, berbeda dangan PC (Personal Computer) yang memiliki beragam fungsi. Perbedaan lainnya adalah perbandingan RAM dan ROM yang sangat berbeda antara komputer dengan mikrokontroler.

PRAKTEK-1
BASIC I/O P1 SEBAGAI OUTPUT

Langkah:
1.      Hubungkan PORT DT51 Min Sys dengan PORT OUTPUT DT-51 tariner board.
2.      Hubungkan CONTROL DT-51 Min Sys dengan CONTROL DT-51 trainer board.
3.      Hubungkan DT-51 Min Sys dengan PC menggunakan kabel serial
4.      Hubungkan Dt-51 MIn Sys dengan sumber tegangan



Program 4 Transfer data Output dari Data RAM
Data disimpan di RAM, kemudian satu persatu dikeluarkan ke P1


1.        Source Code yang masih lengkap


$mod51
     CSEG
     ORG   4000H
     LJMP  START
     ORG 4100H

START:    MOV 30H,#00000001B
MOV 31H,#00000010B
MOV 32H,#00000100B
MOV 33H,#00001000B
MOV 34H,#00010000B
MOV 35H,#00100000B
MOV 36H,#01000000B
MOV 37H,#10000000B

ULANG:  MOV P1,30H
                 MOV P1,31H
ACALL TUNDA
MOV P1,32H
ACALL TUNDA
                 MOV P1,33H
                 ACALL TUNDA
                 MOV P1,34H
                 ACALL TUNDA
                 MOV P1,35H
                 ACALL TUNDA
                 MOV P1,36H
                 ACALL TUNDA
                 MOV P1,37H
                 ACALL TUNDA
                 SJMP ULANG

TUNDA:  MOV R7,#0FFh
LAGI:      MOV R6,#0FFh
SINI:        DJNZ R6,SINI
                 DJNZ R7,LAGI
                 RET
END

2.        Setelah itu di modifikasi menjadi source code yang lebih singkat.
$mod51
                        ROM EQU 0000h
                        ORG ROM
                        LJMP MULAI
                        ORG ROM+0100
MULAI:   MOV A, #00000001b
NEXT:     MOV P1, A
                        ACALL TUNDA
                        RL A
                        CJNE A,#10000000b, NEXT
                        SJMP NEXT
TUNDA:  MOV R7,#03h
LUP1:      MOV R6,#0ffh
LUP2:      MOV R5,#0ffh
                        DJNZ R5,$
                        DJNZ R6,LUP2
DJNZ R7,LUP1
RET
END

Sekian modifikasi source code untukTransfer data Output dari Data RAM.
Semoga membantu anda yang sama-sama sedang mempelajari atau mendalami materi mikroprosesor.

Link yang membahas materi yang sama :

http://wiwimanis.blogspot.com
http://hadphanrianto.blogspot.com/ 
http://avief25.blogspot.com/