pengantar single chip computer

30
Editor: Syahrul Editor: Syahrul 1 PENGANTAR PENGANTAR SINGLE CHIP COMPUTER SINGLE CHIP COMPUTER

Upload: giacinto-garza

Post on 03-Jan-2016

44 views

Category:

Documents


4 download

DESCRIPTION

PENGANTAR SINGLE CHIP COMPUTER. Technology of Chips. ZIP (zig-zag in-line package). PGA (Pin Grid Array). IC. SOIC (small-outline IC). DIP (Dual in line package). PLCC (Plastic Leaded Chip Carrier). QFP (Quad Flat Package). Microcontroller vs. Microprocessors. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: PENGANTAR  SINGLE CHIP COMPUTER

Editor: SyahrulEditor: Syahrul 1

PENGANTAR PENGANTAR SINGLE CHIP COMPUTERSINGLE CHIP COMPUTER

Page 2: PENGANTAR  SINGLE CHIP COMPUTER

Editor: SyahrulEditor: Syahrul 2

IC

DIP (Dual in line package)SOIC (small-outline IC)

PLCC(Plastic Leaded Chip

Carrier)

PGA (Pin Grid Array)

ZIP (zig-zag in-line package)

QFP (Quad Flat Package)

Technology of Chips

Page 3: PENGANTAR  SINGLE CHIP COMPUTER

Editor: SyahrulEditor: Syahrul 3

CPU

General-Purpose Micro-processor

RAM ROM I/O Port

TimerSerial COM Port

Data Bus

Address Bus

General-Purpose Microprocessor System

CPU for ComputersCPU for Computers No RAM, ROM, I/O on CPU chip itselfNo RAM, ROM, I/O on CPU chip itself ExampleExample ::

Many chips on mother’s board

General-purpose microprocessor

8 bits => Z-80, Z-180, 8085, 808016 bits = > 80286, M16, MSP430, Arm732 bits = > M32, 68332, Pentium64 bits => Pentium4…

Microcontroller vs. MicroprocessorsMicrocontroller vs. Microprocessors

Page 4: PENGANTAR  SINGLE CHIP COMPUTER

Editor: SyahrulEditor: Syahrul 4

RAM ROM

I/O Port

TimerSerial COM Port

Microcontroller

CPU

A smaller computerA smaller computer On-chip RAM, ROM, I/O ports...On-chip RAM, ROM, I/O ports... ExampleExample :: Motorola’s 6811, Intel’s 8051, Zilog’s Z8 and PIC 16XMotorola’s 6811, Intel’s 8051, Zilog’s Z8 and PIC 16X

A single chip

Microcontroller :

Microcontroller vs. MicroprocessorsMicrocontroller vs. Microprocessors

Page 5: PENGANTAR  SINGLE CHIP COMPUTER

Editor: SyahrulEditor: Syahrul 5

MicroprocessorMicroprocessor CPU is stand-alone, RAM, CPU is stand-alone, RAM,

ROM, I/O, timer are separateROM, I/O, timer are separate designer can decide on the designer can decide on the

amount of ROM, RAM and amount of ROM, RAM and I/O ports.I/O ports.

expansiveexpansive versatility versatility general-purposegeneral-purpose

Microcontroller• CPU, RAM, ROM, I/O and

timer are all on a single chip• fix amount of on-chip ROM,

RAM, I/O ports• for applications in which cost,

power and space are critical• single-purpose

Microprocessor vs. Microcontroller

Page 6: PENGANTAR  SINGLE CHIP COMPUTER

Editor: SyahrulEditor: Syahrul 6

MicroprocessorMicroprocessor

cpu ROM RAM I O I/OADD

Address

ADD

D

cont

Request DecoderRead/write

cpu

O

I

MEMI/O

Data BusData

cpu ROM RAM I O I/OADD

Address

ADD

D

cont

Request DecoderRead/write

cpu

O

I

MEMI/O

Data BusData

Page 7: PENGANTAR  SINGLE CHIP COMPUTER

Editor: SyahrulEditor: Syahrul 7

MicrocontrollerMicrocontroller

cpu ROM RAM I O I/OADD

Address

ADD

D

cont

Request DecoderRead/write

cpu

O

I

MEMI/O

Data BusData

cpu ROM RAM I O I/OADD

Address

ADD

D

cont

Request DecoderRead/write

cpu

O

I

MEMI/O

Data BusData

Page 8: PENGANTAR  SINGLE CHIP COMPUTER

Editor: SyahrulEditor: Syahrul 8

Page 9: PENGANTAR  SINGLE CHIP COMPUTER

Editor: SyahrulEditor: Syahrul 9

Examples of Embedded Systems

Page 10: PENGANTAR  SINGLE CHIP COMPUTER

Editor: SyahrulEditor: Syahrul 10

Page 11: PENGANTAR  SINGLE CHIP COMPUTER

Editor: SyahrulEditor: Syahrul 11

Page 12: PENGANTAR  SINGLE CHIP COMPUTER

Editor: SyahrulEditor: Syahrul 12

Page 13: PENGANTAR  SINGLE CHIP COMPUTER

Editor: SyahrulEditor: Syahrul 13

Page 14: PENGANTAR  SINGLE CHIP COMPUTER

Editor: SyahrulEditor: Syahrul 14

Inside 8051 MicrocontrollerInside 8051 Microcontroller

PORT

P0 P1 P2 P3

Serial port

TxD RxD

Data RAM128 Bytes

OSC Bus control

Ex-interrupt

Interruptcontrol

CPU

Flash ROM4 K Bytes

Features: • 8-bit data bus• 16-bit address bus (1 byte wide memory addresses)• 34 general purpose registers each of 8 bits•16 bit timers (usually 2, but may have more, or less).• 3 internal and 2 external interrupts.• 4 8-bit ports, (short models have 2 8-bit ports).• 16-bit program counter and data pointer• 12 clock cycles / instruction • 128 byte RAM for data• 4KB flash PEROM (program)• Equipped with serial communication

The Intel 8051 is a Harvard architecture single chip microcontroller which was developed by Intel in 1980 for use in embedded systems.

Timer 0

Timer 1

Timer/Counter

Counter Inputs

• 210 bit-addressable locations

Page 15: PENGANTAR  SINGLE CHIP COMPUTER

Editor: SyahrulEditor: Syahrul 15

Inside 8051 MicrocontrollerInside 8051 Microcontroller

0708

100F

1718

Page 16: PENGANTAR  SINGLE CHIP COMPUTER

Editor: SyahrulEditor: Syahrul 16

Companies Producing 8051Companies Producing 8051

Table 1-2:Some Companies Producing a Member Table 1-2:Some Companies Producing a Member of the 8051 Familyof the 8051 Family

CompanyCompany Web SiteWeb Site

IntelIntel www.intel.com/design/mcs51www.intel.com/design/mcs51

AtmelAtmel www.atmel.comwww.atmel.com

Philips/SigneticsPhilips/Signetics www.semiconductors.philips.comwww.semiconductors.philips.com

SiemensSiemens www.sci.siemens.comwww.sci.siemens.com

Dallas SemiconductorDallas Semiconductor www.dalsemi.comwww.dalsemi.com

Page 17: PENGANTAR  SINGLE CHIP COMPUTER

Editor: SyahrulEditor: Syahrul 17

Konfigurasi penyemat (pin) 8051Konfigurasi penyemat (pin) 8051

Page 18: PENGANTAR  SINGLE CHIP COMPUTER

Editor: SyahrulEditor: Syahrul 18

PEMROGRAMAN ASSEMBLYPEMROGRAMAN ASSEMBLYFormat Program Bahasa assembly 8051 :Format Program Bahasa assembly 8051 : Setiap baris instruksi terdiri dari paling banyak empat field yang Setiap baris instruksi terdiri dari paling banyak empat field yang

dipisahkan oleh karakter space atau tab:dipisahkan oleh karakter space atau tab:

[Label:] Mnemonic [operand] [, operand] [. . .] [;comment][Label:] Mnemonic [operand] [, operand] [. . .] [;comment]

mulai: MOV A, #25h mulai: MOV A, #25h ; isikan hexa 25 ke reg akumulator ; isikan hexa 25 ke reg akumulator

LabelLabel mewakili alamat instruksi (atau data). Jika program bercabang ke instruksi ini, mewakili alamat instruksi (atau data). Jika program bercabang ke instruksi ini, maka label ini digunakan oleh instruksi branch atau jumpmaka label ini digunakan oleh instruksi branch atau jump

Mnemonic Mnemonic merupakan operasi yang harus dikerjakanmerupakan operasi yang harus dikerjakan Operand Operand adalah adalah A, #25h, AA, #25h, A menunjukkan register akumulator dan menunjukkan register akumulator dan #25h#25h adalah bilangan adalah bilangan

hexa 25hexa 25 CommentComment adalah adalah ;isikan hexa 25 ke reg akumulator , ;isikan hexa 25 ke reg akumulator , komentar harus didahului tanda komentar harus didahului tanda

titik koma yang menyatakan bahwa bagian tersebut tidak diproses menjadi kode mesin titik koma yang menyatakan bahwa bagian tersebut tidak diproses menjadi kode mesin dalam proses kompilasidalam proses kompilasi

Page 19: PENGANTAR  SINGLE CHIP COMPUTER

Editor: SyahrulEditor: Syahrul 19

Page 20: PENGANTAR  SINGLE CHIP COMPUTER

Editor: SyahrulEditor: Syahrul 20

Instruksi-instruksi Pembacaan PortInstruksi-instruksi Pembacaan Port

MnemonicsMnemonics ExamplesExamples DescriptionDescription

MOV A,PXMOV A,PX MOV A,P2MOV A,P2 Salin data pada prot P2 ke ASalin data pada prot P2 ke A

JNB PX.Y,..JNB PX.Y,.. JNB P2.1,TARGETJNB P2.1,TARGET lompat jika pin P2.1 = lowlompat jika pin P2.1 = low

JB PX.Y,..JB PX.Y,.. JB P1.3,TARGETJB P1.3,TARGET lompat jika pin P1.3 = highlompat jika pin P1.3 = high

MOV C,PX.YMOV C,PX.Y MOV C,P2.4MOV C,P2.4 salin status pin P2.4 ke CYsalin status pin P2.4 ke CY

Berikut contoh instruksi pembacaan port:Berikut contoh instruksi pembacaan port:

X = Y = 0, 1,2, 3, 4, 5, 6, 7

Page 21: PENGANTAR  SINGLE CHIP COMPUTER

Editor: SyahrulEditor: Syahrul 21

PEMROGRAMAN ASSEMBLYPEMROGRAMAN ASSEMBLY

JENIS INSTRUKSI:JENIS INSTRUKSI:– Instruksi transfer dataInstruksi transfer data– Instruksi aritmetikaInstruksi aritmetika– Instruksi LogikaInstruksi Logika– Instruksi pencabangan (branch / jump, call)Instruksi pencabangan (branch / jump, call)

Page 22: PENGANTAR  SINGLE CHIP COMPUTER

Editor: SyahrulEditor: Syahrul 22

NoNo InstruksiInstruksi ArtiArti Mode PengalamatanMode Pengalamatan

11 MOV A,#20HMOV A,#20H Salin byte 20h ke reg akumulator Salin byte 20h ke reg akumulator (acc); (acc); A A ← 20H← 20H

immediate immediate addressing modeaddressing mode

22 MOV A,20HMOV A,20H Salin isi lokasi memori 20h ke reg Salin isi lokasi memori 20h ke reg acc; acc; A A ← (20H)← (20H)

direct addressing direct addressing modemode

33 MOV A,R2MOV A,R2 Salin byte reg R2 ke reg acc;Salin byte reg R2 ke reg acc;

A A ← R2← R2

register addressing register addressing modemode

44 MOV A,P1MOV A,P1 Baca byte dari port P1 ke reg acc; Baca byte dari port P1 ke reg acc; A A ← P1← P1

register addressing register addressing modemode

55 MOV P3,AMOV P3,A Kirim byte dari acc ke port P3; Kirim byte dari acc ke port P3;

P3 P3 ← A← A

reigster addressing reigster addressing modemode

66 MOV A,@R0MOV A,@R0 Salin byte dari lokasi yg ditunjuk Salin byte dari lokasi yg ditunjuk R7 ke acc; R7 ke acc; A A ← (R0)← (R0)

indirect addressing indirect addressing modemode

77 MOV @R1,AMOV @R1,A Salin byte dari acc ke lokasi yg Salin byte dari acc ke lokasi yg ditunjuk reg R5; ditunjuk reg R5; (R1) (R1) ← A← A

indirect addressing indirect addressing modemode

Contoh Instruksi Transfer DataContoh Instruksi Transfer Data

Page 23: PENGANTAR  SINGLE CHIP COMPUTER

Editor: SyahrulEditor: Syahrul 23

NoNo InstruksiInstruksi ArtiArti Mode PengalamatanMode Pengalamatan

88 PUSH 2PUSH 2 Increment nilai SP (SP = SP + 1) Increment nilai SP (SP = SP + 1) kemudian salin byte RAM lokasi 2 kemudian salin byte RAM lokasi 2 ke stack; ke stack;

stack addressing stack addressing modemode

99 POP 7POP 7 Decrement nilai SP (SP = SP – 1) Decrement nilai SP (SP = SP – 1) kemudian salin byte dari stack ke kemudian salin byte dari stack ke RAM lokasi7RAM lokasi7

stack addressing stack addressing modemode

1010 XCH A, R3XCH A, R3 pertukarkan byte antara acc pertukarkan byte antara acc dengan register R3; dengan register R3; A A ↔ R3↔ R3

register addressing register addressing modemode

1111 XCHD A,@R0XCHD A,@R0 pertukarkan byte antara acc pertukarkan byte antara acc dengan lokasi memori yang dengan lokasi memori yang ditunjuk R; ditunjuk R; A A ↔ (R0)↔ (R0)

register addressing register addressing modemode

1212 SWAP ASWAP A pertukarkan nibel bawah dengan pertukarkan nibel bawah dengan nibel atas dalam reg acc; nibel atas dalam reg acc; A3–A0 A3–A0 ↔ ↔ A4–A7A4–A7

register addressing register addressing modemode

Contoh Instruksi Transfer DataContoh Instruksi Transfer Data

Page 24: PENGANTAR  SINGLE CHIP COMPUTER

Editor: SyahrulEditor: Syahrul 24

NoNo InstruksiInstruksi ArtiArti Mode PengalamatanMode Pengalamatan

1313 MOVC A,@A+DPTRMOVC A,@A+DPTR Salin instruksi ke acc di Salin instruksi ke acc di mana DPTR sebagai mana DPTR sebagai pointer; pointer; AA← (A+DPTR)← (A+DPTR)

index addressing index addressing modemode

1414 MOVC A,@A+PCMOVC A,@A+PC Salin instruksi ke acc di Salin instruksi ke acc di mana PC sebagai register mana PC sebagai register tak langsung (pointer); tak langsung (pointer);

AA← (A+PC)← (A+PC)

index addressing index addressing modemode

Contoh Instruksi Transfer DataContoh Instruksi Transfer Data

*) Untuk pemakaian pada memori program internal, instruksi MOV dituliskan dengan menambahkan akhiran C menjadi MOVC

Page 25: PENGANTAR  SINGLE CHIP COMPUTER

Editor: SyahrulEditor: Syahrul 25

NoNo InstruksiInstruksi ArtiArti Mode PengalamatanMode Pengalamatan

1515 MOVX A,@DPTRMOVX A,@DPTR Salin data eksternal pada Salin data eksternal pada lokasi yg ditunjuk DPTR ke lokasi yg ditunjuk DPTR ke acc; acc; AA← (DPTR)← (DPTR)

index addressing index addressing modemode

1616 MOVX @DPTR,AMOVX @DPTR,A Salin data dari acc ke lokasi Salin data dari acc ke lokasi memori eksternal yg memori eksternal yg ditunjuk DPTR; ditunjuk DPTR; (DPTR)← (DPTR)← AA

index addressing index addressing modemode

1717 MOVX A,@R0MOVX A,@R0 Salin data eksternal pada Salin data eksternal pada lokasi yg ditunjuk R0 ke lokasi yg ditunjuk R0 ke acc; acc; AA← (R0)← (R0)

index addressing index addressing modemode

1818 MOVX @R0,AMOVX @R0,A Salin data dari acc ke lokasi Salin data dari acc ke lokasi memori eksternal yg memori eksternal yg ditunjuk R0; ditunjuk R0; (R0) (R0) ← A← A

index addressing index addressing modemode

Contoh Instruksi Transfer DataContoh Instruksi Transfer Data

*) Untuk pengaksessan memori eksternal, instruksi MOV dituliskan dengan menambahkan akhiran X menjadi MOVX

Page 26: PENGANTAR  SINGLE CHIP COMPUTER

Editor: SyahrulEditor: Syahrul 26

NoNo InstruksiInstruksi ArtiArti Mode PengalamatanMode Pengalamatan

11 ADD A,R2ADD A,R2 tambahkan isi reg R2 ke reg acc; tambahkan isi reg R2 ke reg acc; AA← A + R2← A + R2

register moderegister mode

22 ADD A,#25hADD A,#25h tambahkan konstanta 25h ke acc;tambahkan konstanta 25h ke acc;AA← A + 25h← A + 25h

immediate modeimmediate mode

33 ADD A,@R1ADD A,@R1 tambhakan byte yg lokasinya tambhakan byte yg lokasinya ditunjuk R1 ke reg acc; ditunjuk R1 ke reg acc; AA←A+(R1)←A+(R1)

register moderegister mode

44 ADDC A,R4ADDC A,R4 Tambahkan isi reg R4 beserta Tambahkan isi reg R4 beserta carry out ke reg acc; carry out ke reg acc; AA← A + R4 + CY← A + R4 + CY

register moderegister mode

55 SUBB A,R6SUBB A,R6 Kurangi reg acc dengan byte di reg Kurangi reg acc dengan byte di reg R6 beserta carry out; R6 beserta carry out; A A ← A ← A R6 R6 CY CY

reigster modereigster mode

66 SUBB A,@R0SUBB A,@R0 Kurangi reg acc dengan byte yg Kurangi reg acc dengan byte yg lokasinya ditunjuk reg R0 beserta lokasinya ditunjuk reg R0 beserta carry out; carry out; A A ← A← A(R0) (R0) CY CY

reigster modereigster mode

Contoh Instruksi AritmetikaContoh Instruksi Aritmetika

Page 27: PENGANTAR  SINGLE CHIP COMPUTER

Editor: SyahrulEditor: Syahrul 27

NoNo InstruksiInstruksi ArtiArti Mode PengalamatanMode Pengalamatan

77 MUL ABMUL AB A X B; A X B; hasil akhir A = low byte, B hasil akhir A = low byte, B = high byte= high byte

register moderegister mode

88 DIV ABDIV AB A/B, A/B, hasil akhir A = hasilbagi, hasil akhir A = hasilbagi, B = sisa pembagianB = sisa pembagian

register moderegister mode

99 DADA Decimal adjustDecimal adjust register moderegister mode

1010 INC AINC A Tambahkan satu isi reg accTambahkan satu isi reg acc register moderegister mode

1111 DEC ADEC A Kkurangi satu isi reg accKkurangi satu isi reg acc register moderegister mode

Contoh Instruksi AritmetikaContoh Instruksi Aritmetika

Page 28: PENGANTAR  SINGLE CHIP COMPUTER

Editor: SyahrulEditor: Syahrul 28

NoNo InstruksiInstruksi ArtiArti Mode PengalamatanMode Pengalamatan

11 ANL A,P2ANL A,P2 Lakukan operasi logika AND acc Lakukan operasi logika AND acc dengan port P2); dengan port P2); A A ← A AND P2← A AND P2

register moderegister mode

22 ANL C,P1.3ANL C,P1.3 Lakukan operasi logika AND Lakukan operasi logika AND Carry out dengan port P1.3; Carry out dengan port P1.3;

C C ← C AND P1.3← C AND P1.3

Bit addessableBit addessable

33 ORL A,#16hORL A,#16h Lakukan operasi logika OR acc Lakukan operasi logika OR acc dengan byte 16h; dengan byte 16h; A A ← A AND 16h← A AND 16h

immediate modeimmediate mode

44 ORL C,P1.7ORL C,P1.7 Lakukan operasi logika OR Carry Lakukan operasi logika OR Carry out dengan port P1.7; out dengan port P1.7;

C C ← C AND P1.7← C AND P1.7

Bit addessableBit addessable

55 XRL A, R1XRL A, R1 Lakukan operasi logika XOR acc Lakukan operasi logika XOR acc dengan reg R1; dengan reg R1; A A ← A XOR R1← A XOR R1

reigster modereigster mode

66 CPL ACPL A complemen-1 byte dalam acc;complemen-1 byte dalam acc;

A A ← NOT A← NOT A

register moderegister mode

Contoh Instruksi LogikaContoh Instruksi Logika

Page 29: PENGANTAR  SINGLE CHIP COMPUTER

Editor: SyahrulEditor: Syahrul 29

NoNo InstruksiInstruksi ArtiArti Mode PengalamatanMode Pengalamatan

11 RL ARL A Rotasikan acc ke kiri ; Rotasikan acc ke kiri ;

An + 1 An + 1 ← An, n = 0 – 6← An, n = 0 – 6

A0 A0 ← A7← A7

register moderegister mode

22 RR ARR A Rotasikan acc ke kanan; Rotasikan acc ke kanan;

An An ← An + 1 , n = 0 – 6← An + 1 , n = 0 – 6

A7 A7 ← A0← A0

register moderegister mode

33 RLC ARLC A Rotasikan acc ke kiri dengan carry Rotasikan acc ke kiri dengan carry out ; out ; An + 1 An + 1 ← An, n = 0 – 6← An, n = 0 – 6

A0 A0 ← C← C

C ← A7C ← A7

register moderegister mode

44 RRC ARRC A Rotasikan acc ke kanan dengan Rotasikan acc ke kanan dengan carry out;carry out;An An ← An+1, n = 0 – 6← An+1, n = 0 – 6

A7 A7 ← C← C

C ← A0C ← A0

register moderegister mode

Contoh Instruksi LogikaContoh Instruksi Logika

Page 30: PENGANTAR  SINGLE CHIP COMPUTER

Editor: SyahrulEditor: Syahrul 30