Anda di halaman 1dari 17

Pertemuan 10

Arsitektur Mikrokontroler 8051


Matakuliah : H0194/ Aplikasi Mikroprosesor dan Interfacing
Tahun : 2005
Versi : 1.0

Learning Outcomes
Pada akhir pertemuan ini, diharapkan mahasiswa
akan mampu :
Menjelaskan arsitektur mikrokontroler
8051
Arsitektur Mikrokontroller
8051
Materi:
Pengenalan Mikrokontroler 8051
On-Chip Memory dan Register
Interrupt Control
Timer/Counter
Serial Port
Power Control
Pengenalan Mikrokontroler
8051
Definisi Mikrokontroler
Perbedaan Mikrokontroler dan
Mikroprosesor
AT89C52
24PC
0141
VCC
P0.0
P0.1
P0.2
P0.3
P0.4
P0.5
P0.6
P0.7
EA/VPP
PROG/ALE
P2.7
P2.6
P2.5
P2.4
P2.3
P2.2
P2.1
P2.0
PSEN
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
RST
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7
XTAL2
XTAL1
VSS
T2
T2EX
RXD
TXD
INT0
INT1
RW
RD
T0
T1
Pengenalan Mikrokontroler
8051
Blok Diagram 8051
Komponen:
CPU 8-Bit
On-Chip Osc
Interrupt Control
Internal ROM
Internal RAM
Timer/Counter
4 I/O Ports
Serial Port
EXTERNAL
INTERRUPTS
INTERRUPT
CONTROL
ROM
CPU
OSC
BUS
CONTROL
4 I/O PORTS
P0 P1 P2 P3
ADDRESS/DATA
SERIAL
PORT
TIMER 1
TIMER 0
COUNTER
INPUTS
128 BYTES
RAM
TX RX
On-Chip Memory dan Register
Program Memory (ROM)
03 0B
13 1B
23 2B
User's Area
FFFF
0000
Interrupt Addresses
Reset
On-Chip Memory dan Register
Data Memory (RAM)
Scratch Pad
FFFF
0000
18
00 08
10
Register Bank 1 Register Bank 0
Register Bank 2 Register Bank 3
20 2F Bit-addressable Area
On-Chip Memory dan Register
Special Function Registers (SFR)
B
ACC
PSW
T2CON
RCAP2L RCAP2H
TL2 TH2
IP
P3
IE
P2
SCON
P1
TCON
P0
SBUF
PCON SP
TL0 TL1
DPL DPH
TH0 TH1 TMOD
F8
D0
C8
A8
B8
F0
E0
B0
A0
98
90
88
80
E8
D8
C0
Interrupt Control
Memiliki 3 jenis interrupt:
External Interrupt
Timer/Counter Interrupt
Serial Interrupt
Alamat interrupt vector pada 8051:
Interrupt 0 0003h
Timer 0 000Bh
Interrupt 1 0013h
Timer 1 001Bh
Serial Interrupt 0023h
Pin interrupt sharing dengan pin port 3
Timer/Counter
Menghasilkan interrupt timer setelah
interval waktu tertentu
Dapat juga difungsikan sebagai counter
untuk menghitung jumlah kejadian
8051 memiliki 2 timer/counter
Timer/Counter
Timer Register:
Timer 0 TL0(8 bit), TH0(8 bit)
Timer 1 TL1(8 bit), TH1(8 bit)
Timer 2 RCAP2L (16 bit), RCAP2H (16 bit)
SFR yang perlu diperhatikan
IE (EA, ET2, ET1, ET0)
TCON
TR0, TR1 Set/Cleared by software to turn
Timer/Counter ON/OFF
IP (PT2, PT1, PT0) Only If needed
Timer/Counter
Timer Mode:
Timer dalam mikrokontroler dapat berfungsi dalam
beberapa mode. Untuk mengubah mode Timer 0 dan
Timer 1, register yang diperlukan adalah TMOD. Khusus
Timer 2, register yang digunakan adalah T2CON.





GATE 0 artinya timer akan run pada saat TR menjadi 1
1 artinya timer akan run hanya pada saat TR = 1 dan pin
INT bernilai 1
C/T 0 artinya timer dioperasikan sebagai timer
1 artinya timer dioperasikan sebagai counter
GATE C/T M0 M1 GATE C/T M0 M1
Timer 1 Timer 0
Timer/Counter
M1 dan M0 adalah untuk memilih mode timer
M1 M0 Mode Keterangan
0 0 0 13-bit Timer/Counter
0 1 1 16-bit Timer/Counter
1 0 2 8-bit Auto-Reload Timer/Counter
1 1 3 (Timer 0) TL0 sebagai timer 8-bit
dikontrol oleh bit kontrol dari timer 0
sedangkan TH0 sebagai timer 8-bit
dikontrol oleh kontrol bit dari timer 1
1 1 3 (Timer 1) Timer/Counter 1 berhenti
Timer/Counter
Mode 8 bit

Mode 8 bit auto reload:
Sama dengan yang sebelumnya, tetapi nilai ini diisikan
ke TH0 juga agar pada saat terjadi overflow, nilai TH0
secara otomatis akan diisikan ke TL0.
Mode16 bit:

Mode16 bit auto reload:
Sama dengan sebelumnya, tetapi khusus untuk Timer 2,
dan nilai reloadnya di berikan di RCAP2H dan RCAP2L

s
f
TL
Interval
Osc
12 0 256


s
f
TL h TH
Interval
Osc
12 0 100 0 65536

Serial Port
Dalam komunikasi serial, perlu diperhatikan kecepatan transfer
data atau disebut juga dengan baud rate.
Untuk membangkitkan baud rate dapat digunakan timer 1 dengan
mode 8 bit auto-reload maupun timer 2 dengan mode 16 bit auto-
reload.
SCON


SERIAL MODE:

SM0 SM1 SM2 REN TB8 RB8 TI RI
SM0 SM1 Mode Description BaudRate
0 0 0 SHIFT REGISTER Fosc./12
0 1 1 8-Bit UART Variable
1 0 2 9-Bit UART F
osc.
/64 OR F
osc.
/32
1 1 3 9-Bit UART Variable
Serial Port
Baud Rate
Mode 0
Baud Rate = Fosc./12
Mode 1
Using Timer 1:

) 256 ( 12 32
1
TH
F k
Rate Baud
OSC

Rate Baud
F k
TH
OSC



384
256
1
Nilai k tergantung pada bit SMOD (Register PCON)
If SMOD = 0, then K = 1
If SMOD = 1, then K = 2 Double BaudRate
Serial Port
Baud Rate
Mode 1
Using Timer 2, ada 2 macam:
Jika Timer 2 diclock dari pin T2 (P1.0)



Jika Timer 2 diclock dari internal



Mode 2
If SMOD = 1, then BaudRate = F
osc.
/32
If SMOD = 0, then BaudRate = F
osc.
/64
Mode 3 Same as Mode 1
16
Rate overflow 2 Timer
Rate Baud
)) 2 , 2 ( 65536 ( * 32
Fosc.
L RCAP H RCAP
Rate Baud

Rate Baud
L RCAP H RCAP
* 32
Fosc.
65536 2 , 2