BAB III RAM Internal pada MCS-51

17
1 BAB III RAM Internal pada MCS-51 Untuk type internal Memory Program, kadang diperlukan suatu ekspansi dari memory dikarenakan sistem yang dirancang cukup besar. Atau internal RAM yang ada tidak mencukupi juga diperlukan ekspansi memory space.

description

BAB III RAM Internal pada MCS-51. Untuk type internal Memory Program, kadang diperlukan suatu ekspansi dari memory dikarenakan sistem yang dirancang cukup besar. Atau internal RAM yang ada tidak mencukupi juga diperlukan ekspansi memory space. - PowerPoint PPT Presentation

Transcript of BAB III RAM Internal pada MCS-51

Page 1: BAB III RAM Internal pada MCS-51

1

BAB IIIRAM Internal pada MCS-51

Untuk type internal Memory Program, kadang diperlukan suatu ekspansi dari memory dikarenakan sistem yang dirancang cukup besar. Atau internal RAM yang ada tidak mencukupi juga diperlukan ekspansi memory space.

Page 2: BAB III RAM Internal pada MCS-51

2

00 0000

FFFF

FF

0000

FFFF

On-Chip Memory External Memory

Gambar Ekspansi Memory Spase

Page 3: BAB III RAM Internal pada MCS-51

3

3.1. Internal Memory Map pada MCS-51

• Seperti diketahui pada tipe 8951 keluarga MCS-51 mempunyai internal RAM sebanyak 128 byte ( 00H-8FH)

• Dimulai dari 00H sampai dengan 1FH adalah register Bank, alamat 20H sampai dengan 2FH adalah bit addresable, alamat 30H sampai dengan 7FH adalah general Purpose RAM, serta alamat 80H sampai dengan FFH adalah Special Function Register (SFR)

Page 4: BAB III RAM Internal pada MCS-51

4

RAM Internal pada MCS-51

Page 5: BAB III RAM Internal pada MCS-51

5

RAM Internal pada MCS-51

a. Register Bank

- Bank 0 : 00H – 07H - RS1 = 0 ; RS0 = 0 (Setelah posisi RESET)

- Bank 1 : 08H – 0FH - RS1 = 0 ; RS0 = 1- Bank 2 : 10H – 17H - RS1 = 1; RS0 = 0 - Bank 3 : 18H – 1FH - RS1 = 1 ; RS0 = 1 ** RS = Register Bank Select Bits

Page 6: BAB III RAM Internal pada MCS-51

6

b. Bit Addressable RAM : 20H – 2FH

Adalah RAM yang dapat diakses secara pengalamatan bit (bit addressable). Dan hanya dengan satu instruksi saja setiap bit alamat dapat di set atau di clear , OR , AND

Contoh:

MOV 24H,#100

MOV 21H,A

MOV 22H,B

Page 7: BAB III RAM Internal pada MCS-51

7

c. RAM Keperluan Umum : 30H – 7FH

Adalah RAM yang dapat diakses dengan pengalamatan langsung maupun penga-lamatan tidak langsung.

- Pengalamatan langsung:MOV 34H,#0FH MOV A,34H

- Pengalamatan tidak langsung:MOV R0,#34HMOV A,@R0

Page 8: BAB III RAM Internal pada MCS-51

8

d. Register Fungsi Khusus

( Spesial Function Register - SFR )

MCS-51 mempunyai 21 SFR yang terletak di alamat RAM internal 80H – FFH

Beberapa dari register-register ini juga mampu dialamati dengan pengalamatan Bit.

Contoh MOV 82H,#100

Page 9: BAB III RAM Internal pada MCS-51

9

d.1. Register Accumulator ( Register A )

Register A terletak di alamat RAM E0H

Hampir semua operasi aritmatika dan operasi logika selalu menggunakan register accumulator ini. Untuk proses pengambilan dan pengiriman data ke memory eksternal juga diperlukan register ini

Page 10: BAB III RAM Internal pada MCS-51

10

d.2. Register B

Register B terletak di alamat RAM F0H.

Register B bersama dengan register akumulator untuk proses operasi aritmatika selain dapat juga difungsikan sebagai register biasa.

Register ini juga dapat bersifat bit addressable.

Page 11: BAB III RAM Internal pada MCS-51

11

d.3. Register Port

MCS-51 mempunyai 4 Port yaitu:

Port 0 terletak di alamat 80H

Port 1 terletak di alamat 90H

Port 2 terletak di alamat A0H

Port 3 terletak di alamat B0H

Page 12: BAB III RAM Internal pada MCS-51

12

d.4. PSW ( Program Status Word )

Program Status Word terletak pada alamat

DOH ( 8 bit ) yang terdiri:

PSW-7 6 5 4 3 2 1 PSW-0

CY AC F0 RS1 RS0 OV - P

- CY = Flag Carry

Berfungsi sbg pendeteksi terjadinya kelebihan pada

operasi penjumlahan ( Carry ) atau pengurangan

( Borrow )

- AC = Auxiliary Carry

Berfungsi sbg Carry yang terjadi dari bit ketiga ke

bit ke empat

Page 13: BAB III RAM Internal pada MCS-51

13

- FO = Flag 0

Flag untuk keperluan Umum

- RS1 dan RS0

Berfungsi sbg Bit Pemilih Register Bank

( Register Bank 0 , 1 , 2 , 3 )

Contoh :

ORG 0H

SETB RS0

MOV A,#0EH

MOV R1,A

Page 14: BAB III RAM Internal pada MCS-51

14

- OV = Flag Overflow Flag OV ( Overflow ) akan di set jika pada operasi aritmatik menghasilkan bilangan yang lebih besar daripada 128 atau lebih kecil -128

Contoh :MOV A,#80H ; A = 80H atau A = 128ADD A,#10H ; A = 128 + 16 = 144

Hasil operasi aritmatik diatas lebih besar

128 ( 144 ), sehingga Flag Overflow akan di set ( berisi 1 )

Page 15: BAB III RAM Internal pada MCS-51

15

- P = Flag Parity

Bit parity ini akan di set ( berisi 1 ) apabila jumlah bit 1 dalam register accumulator ( A ) adalah GANJIL dan akan di clear ( berisi 0 ) apabila jumlah bit 1 dalam register accumulator ( A ) adalah GENAP

Page 16: BAB III RAM Internal pada MCS-51

16

d.5. Register Data Pointer ( DPTR )

Data Pointer ( DPTR ) merupakan register 16 bit yang berfungsi untuk mengakses source code atau data yang terletak di memory eksternal.

DPL berada di internal RAM 82H

DPH berada di internal RAM 83H

Contoh :

MOV A,#0FEH

MOV DPTR,#4020H

MOVX @DPTR,A

Page 17: BAB III RAM Internal pada MCS-51

17

1. Buat program untuk menyimpan data 2EH kedalam register Accumulator. Kemudian copykan data tersebut kedalam register R1, R3, R4 dan R6 yang berada di bank register ( BANK 2 ). Berapa alamat RAM yang digunakan oleh register R1, R3, R4 dan R6?

2. Data D8H di transfer ke dalam register R3 pada Bank 1. Copykan data tersebut ke register A. Dan juga ke Register R4, R5, R6 dan R7 yang berada di Bank 3. Berapa alamat RAM yang digunakan oleh register R4, , R5, R6 dan R7?