8
2. Mikrokontroler AT89
Munculnya mikrokontroler berawal dari kebutuhan akan suatu alat khusus yang dapat dijalankan secara otomatis, praktis, dan memiliki kemampuan untuk melaksanakan
perintah-perintah yang diinginkan. Dalam hal penggunaannya, mikrokontroler lebih banyak diaplikasikan secara deterministik, yaitu dipakai untuk keperluan khusus pada umumnya
sebagai pengendali. Perkembangan teknologi semikonduktor memungkinkan untuk memenuhi kebutuhan tersebut.
Bagian fungsional utama suatu mikrokontroler adalah CPU Mikroprosesor yang berisi ALU, unit kendali, register, dan pengkode, Memori dan Sistem IO. Ketiga bagian
tersebut secara fungsional dengan fungsi masing-masing membentuk satu sistem mikrokontroler dan berada di dalam satu chip. Jadi, sebuah mikroprosesor yang
digabungkan dengan IO dan memori RAM,ROM dalam satu chip itulah yang dikenal sebagai mikrokontroler. Perbedaan antara mikrokontroler dengan mikrokomputer seperti
IBM PC terletak pada arsitektur, penggunaan IO interface dan media penyimpan yang berbeda. Media penyimpan mikrokomputer antara lain menggunakan disket, sedangkan
pada mikrokontroler menggunakan EPROM. Fasilitas yang terdapat di dalam chip mikrokontroler AT89S51 yang pokok di
antaranya adalah : a.
Dua 2 sistem TimerCounter T0 dan T1 b.
Empat 4 port paralel IO yang masing-masing berukuran 8 bit P0, P1, P2, dan P3. c.
Dua 2 sistem Interupsi INT0 dan INT1. d.
Sepasang kendali komunikas RXD dan TXD. e.
RAM 8 x 128 byte dan Flash memory 4 Kbyte. Gambar chip mikrokontroler AT89S51 yang bertipe DIP-40 adalah sebagai berikut :
9 Untuk aplikasi dan keperluan belajar, di pasaran banyak tersedia pilihan chip
mikrokontroler. Salah satu pilihan tersebut adalah AT89S51 buatan ATMEL. Beberapa pertimbangan memilih mikrokontroler tersebut antara lain :
a. Murah.
b. Sebagai model.
c. Populer di kalangan masyarakat khususnya mahasiswa.
d. Cocok untuk menangani data dengan durasi detik.
e. Kompatibel dengan mikrokontroler buatan INTEL MCS-51 dan buatan ATMEL sendiri
seperti AT89C515253, AT89S8252. f.
Memiliki Flash memory dengan cara dan alat perograman yang sederhana. Selain pengetahuan persambungan dalam hardware, pemahaman akan peta memori
dan register di dalam chip AT89S51 memiliki peran yang sangat penting dalam proses penyusunan program. Register terletak di dalam CPU mikroprosesor dan pada umumnya
Vcc P0.0 AD0
P0.1 AD1 P0.2 AD2
P0.3 AD3 P0.4 AD4
P0.5 AD5 P0.6 AD6
P0.7 AD7 EAVPP
ALEPROG PSEN
P2.7 A15 P2.6 A14
P2.5 A13 P2.4 A12
P2.3 A11 P2.2 A10
P2.1 A9 P2.0 A8
P1.0 P1.1
P1.2 P1.3
P1.4 MOSI P1.5
MISO P1.6 SCK P1.7
RST RXD P3.0
TXD P3.1 INT0 P3.2
INT1 P3.3 T0 P3.4
T1 P3.5 WR P3.6
RD P3.7 XTAL2
XTAL1 GND
40 39
38 37
36 35
34 33
32 31
30 29
28 27
26 25
24 23
22 21
1 2
3 4
5 6
7 8
9 10
11 12
13 14
15 16
17 18
19 20
10 berguna untuk menampung data sementara. Selain untuk menampung data sementara, ada
register yang berfungsi sebagai tempat terjadinya operasi aritmatik dan logik, yaitu register
accumulator register A. Memori berupa ROM atau RAM berguna sebagai tempat
untuk menampung data dan instruksi yang terletak di luar CPU mikropsosesor. AT89S51 memiliki struktur memori yang terdiri atas :
1. RAM Internal, biasanya digunakan untuk menyimpan variabel atau data yang bersifat
sementara. Di dalam RAM internal terdapat 8 delapan Bank Register dengan mnemonik R0, R1, R2, R3, R4, R5, R6, dan R7. Delapan buah register pertama terletak
pada alamat 00 h hingga 07 h dan membentuk Bank 0 sebagai default. Posisi R0 sd R7 dapat dipindahkan ke bank yang lain dengan mengatur bit RS0 dan RS1. Bank 1
beralamatkan 08 h sd 0F h. Bank 2 terletak pada alamat 10 h sd 17 h, dan bank 3 menempati alamat 18 h sd 1F h. R0 dan R1 adalah dua buah register yang dapat
digunakan sebagai pointer dari sebuah lokasi memori pada RAM internal tersebut. Di dalam RAM internal pada alamat 20 h hingga 2F h dapat diakses dengan cara
pengalamatan bit sehingga hanya dengan sebuah instruksi setiap bit dalam daerah ini dapat di-set, di-clear, di-AND dan di-OR. Di dalam RAM internal juga terdapat RAM
untuk keperluan umum yang dimulai dari alamat 30 h hingga 7F h. 2.
SFR Special Function Register, berisi register-register yang memiliki fungsi khusus yang disediakan oleh chip AT89S51. SFR terletak pada alamat antara 80 h hingga FF
h. Berikut ini disampaikan daftar register di dalam chip AT89S51 dengan fungsi khusus SFR : Special Function Register.
11
No. Register
Mnemonic
Alamat 1.
Akumulator A atau ACC
E0 h 2.
B B
F0 h 3.
Port 0 P0
80 h 4.
Port 1 P1
90 h 5.
Port 2 P2
A0 h 6.
Port 3 P3
B0 h 7.
Interupt Enable IE
A8 h 8.
Stack Pointer SP
81 h 9.
Data Pointer total DPTR
82 h – 83 h
10. Data Pointer Low Byte
DPL 82 h
11. Data Pointer High Byte
DPH 83 h
12. Power Control
PCON 87 h
13. TimerCounter Control
TCON 88 h
14. TimerCounter Control Mode
TMOD 89 h
15. TimerCounter 0 Low Byte
TL0 8A h
16. TimerCounter 1 Low Byte
TL1 8B h
17. TimerCounter 0 High Byte
TH0 8C h
18. TimerCounter 1 High Byte
TH1 8D h
19. Serial Port Control
SCON 98 h
20. Serial Data Port
SBUF 99 h
21. Interupt Control Priority
IP B8 h
22. Program Status Word
PSW D0 h
3. Flash PEROM Programmable and Erasable ROM, digunakan untuk menyimpan
program aplikasi yang disusun oleh pemrogram. Flash PEROM tersebut dapat ditulis atau dihapus berulang-ulang 1000 kali menggunakan perangkat pemrogram
downloader, misalnya dengan AEC_ISP. Program yang ada dalam Flash PEROM dapat dijalankan jika pada saat sitem di-reset, maka pena EAVPP berlogika 1 satu.
12
Peta Lokasi di dalam RAM AT89S51 :
7F 30
RAM Keperluan Umum
2F 7F 7E 7D 7C 7B 7A 79 78 2E 77 76 75 74 73 72 71 70
2D 6F 6E 6D 6C 6B 6A 69 68 2C 67 66 65 64 63 62 61 60
2B 5F 5E 5D 5C 5B 5A 59 58 2A 57 56 55 54 53 52 51 50
29 4F 4E 4D 4C 4B 4A 49 48 28 47 46 45 44 43 42 41 40
27 3F 3E 3D 3C 3B 3A 39 38 26 37 36 35 34 33 32 31 30
25 2F 2E 2D 2C 2B 2A 29 28 24 27 26 25 24 23 22 21 20
23 1F 1E 1D 1C 1B 1A 19 18 22 17 16 15 14 13 12 11 10
21 0F 0E 0D 0C 0B 0A 09 08 20 07 06 05 04 03 02 01 00
1F 18
Bank-3 17
10 Bank-2
0F 08
Bank-1 07
00 Bank-0
Default bank register Untuk R0
– R7 Alamat
Byte Alamat Bit
RAM Lokasi
yang dapat
dialamati secara bit
13
Peta Lokasi di dalam SFR AT89S51 :
FF F0 F7 F6 F5 F4
F3 F2
F1 F0 B E0 E7 E6 E5 E4
E3 E2
E1 E0 A D0 D7 D6 D5 D4 D3 D2
- D0 PSW
B8 -
- -
BC BB BA B9 B8 IP B0 B7 B6 B5 B4 B3 B2
B1 B0 P3 A8 AF
- -
AC AB AA A9 A8 IE A0 A7 A6 A5 A4 A3 A2 A1 A0 P2
99 Tidak dapat dialamati secara bit
SBUF 98 9F 9E 9D 9C 9B 9A 99 98 SCON
90 97 96 95 94
93 92
91 90 P1 8D
Tidak dapat dialamati secara bit TH1
8C Tidak dapat dialamati secara bit
TH0 8B
Tidak dapat dialamati secara bit TL1
8A Tidak dapat dialamati secara bit
TL0 89
Tidak dapat dialamati secara bit TMOD
88 8F 8E 8D 8C 8B 8A 89 88 TCON 87
Tidak dapat dialamai secara bit PCON
83 Tidak dapat dialamati secara bit
DPH 82
Tidak dapat dialamati secara bit DPL
81 Tidak dapat dialamati secara bit
SP 80 87
86 85 84 83
82 81 80 P0
Alamat Bit Alamat
Byte
Register Fungsi Khusus SFR Nama
Register
14
BAB III METODOLOGI PENELITIAN