Matakuliah Tahun Versi : H0194/ Aplikasi Mikroprosesor dan Interfacing : 2005 : 1.0 Pertemuan 10 Arsitektur Mikrokontroler 8051 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 T2 P1.0 VCC T2EX P1.1 P0.0 P1.2 P0.1 P1.3 P0.2 P1.4 P0.3 P1.5 P0.4 P1.6 P0.5 P1.7 P0.6 RST P0.7 • Definisi Mikrokontroler • Perbedaan Mikrokontroler dan Mikroprosesor RXD P3.0 TXD P3.1 INT0 P3.2 INT1 P3.3 T0 P3.4 P2.6 T1 P3.5 P2.5 RW P3.6 P2.4 RD P3.7 P2.3 XTAL2 P2.2 XTAL1 P2.1 VSS P2.0 AT89C52 24PC 0141 EA/VPP PROG/ALE PSEN P2.7 Pengenalan Mikrokontroler 8051 • Blok Diagram 8051 • Komponen: EXTERNAL INTERRUPTS – – – – – – – – CPU 8-Bit On-Chip Osc Interrupt Control Internal ROM Internal RAM Timer/Counter 4 I/O Ports Serial Port INTERRUPT CONTROL ROM 128 BYTES RAM TIMER 0 TIMER 1 CPU OSC BUS CONTROL 4 I/O PORTS SERIAL PORT TX P0 P1 P2 P3 ADDRESS/DATA RX COUNTER INPUTS On-Chip Memory dan Register • Program Memory (ROM) 0000 Reset 03 0B 13 1B 23 Interrupt Addresses 2B User's Area FFFF On-Chip Memory dan Register • Data Memory (RAM) 0000 00 Register Bank 0 08 Register Bank 1 10 Register Bank 2 18 Register Bank 3 20 Bit-addressable Area 2F Scratch Pad FFFF On-Chip Memory dan Register • Special Function Registers (SFR) F8 F0 B E8 E0 ACC D8 D0 PSW C8 T2CON C0 B8 IP B0 P3 A8 IE A0 P2 98 SCON 90 P1 88 TCON 80 P0 RCAP2L RCAP2H TL2 TH2 TL0 DPL TL1 DPH TH0 TH1 SBUF TMOD SP PCON 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 C/T M1 Timer 1 M0 GATE C/T M1 M0 Timer 0 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 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 Interval 256 TL012 s f Osc • 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: 65536 TH 0 100h TL0 12 Interval s f Osc • Mode16 bit auto reload: Sama dengan sebelumnya, tetapi khusus untuk Timer 2, dan nilai reloadnya di berikan di RCAP2H dan RCAP2L 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 autoreload. • SCON SM0 SM1 SM2 REN TB8 RB8 TI RI • SERIAL MODE: 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 Fosc./64 OR Fosc./32 1 1 3 9-Bit UART Variable Serial Port Baud Rate • Mode 0 Baud Rate = Fosc./12 • Mode 1 – Using Timer 1: k FOSC k FOSC Baud Rate TH 1 256 32 12 (256 TH1 ) 384 Baud Rate 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) Baud Rate T imer2 overflowRate 16 – Jika Timer 2 diclock dari internal Baud Rate Fosc. 32 * (65536 ( RCAP2 H , RCAP2 L)) RCAP2 H , RCAP2 L 65536 • Mode 2 – If SMOD = 1, then BaudRate = Fosc./32 – If SMOD = 0, then BaudRate = Fosc./64 • Mode 3 Same as Mode 1 Fosc. 32 * Baud Rate
© Copyright 2026 Paperzz