Anda di halaman 1dari 8

Mikrokontroler tipe AT89S51 merupakan mikrokontroler keluarga MCS-51

dengan konfigurasi yang sama persis dengan AT89C51 yang cukup terkenal,
hanya saa AT89S51 mempunyai fitur !S" #!n-System "rogramma$le %lash
Memory&' %itur ini memungkinkan mikrokontroler dapat diprogram
langsung dalam suatu sistem elektronik tanpa melalui "rogrammer (oard
atau )o*nloader (oard' Mikrokontroler dapat diprogram langsung melalui
ka$el !S" yang dihu$ungkan dengan paralel port pada suatu "ersonal
Computer'
Adapun fitur yang dimiliki Mikrokontroler AT89S51 adalah se$agai
$erikut +
1' Se$uah C", #Central "rocessing ,nit& 8 $it yang termasuk keluarga
MCS51'
-' .silator internal dan rangkaian pe*aktu, /AM internal 1-8 $yte #on
chip&'
0' 1mpat $uah "rogramma$le port !2.,masing-masing terdiri atas 8 alur !2.
3' )ua $uah Timer Counter 14 $it'
5' 5ima $uah alur interupsi #- interupsi e6ternal dan 0 interupsi internal &
4' Se$uah port serial dengan kontrol serial full duple6 ,A/T'
7' 8emampuan melaksanakan operasi perkalian, pem$agian dan operasi
(oolean #$it&
8' 8ecepatan pelaksanaan instruksi per siklus 1 microdetik pada frekuensi
clock 1- M9:
9' 3 8$ytes %lash /.M yang dapat diisi dan dihapus sampai 1;;; kali
1;' !n-System "rogramma$le %lash Memory
)engan keistime*aan diatas, pem$uatan alat menggunakan AT89S51
menadi le$ih sederhana dan tidak memerlukan !C pendukung yang $anyak'
Sehingga mikrokontroler AT89S51 ini mempunyai keistime*aan dari segi
perangkat keras' Adapun $lok diagram dari mikrokontroler 89S51
diperlihatkan pada <am$ar 1'1'
<am$ar 1'1' (lok diagram dari mikrokontroler 89S51
8onfigurasi "in Mikrokontroler AT89S51
Susunan pin mikrokontroler AT89S51 diperlihatkan pada <am$ar 1'-'
<am$ar 1'-' 8onfigurasi "in AT89S51
Mikrokontroler AT89S51 memiliki pin $erumlah 3; dan umumnya dikemas
dalam )!" #)ual !nline "ackage&' Masing-masing pin pada mikrokontroler
AT89S51 mempunyai kegunaan se$agai $erikut+
"ort ;
"ort ; merupakan port dua fungsi yang $erada pada pin 0--09 dari AT89S51'
)alam rancangan sistem sederhana port ini se$agai port !2. ser$aguna'
,ntuk rancangan yang le$ih komplek dengan meli$atkan memori eksternal
alur ini dimultiplek untuk $us data dan $us alamat'
"ort 1
"ort 1 disediakan se$agai port !2. dan $erada pada pin 1-8' (e$erapa pin
pada port ini memiliki fungsi khusus yaitu "1'5 #M.S!&, "1'4 #M!S.&, "1'7
#SC8& yang digunakan untuk alur do*nload program'
"ort -
"ort - # pin -1--8 & merupakan port dua fungsi yaitu se$agai !2. ser$aguna,
atau se$agai $us alamat $yte tinggi untuk rancangan yang meli$atkan
memori eksternal'
"ort 0
"ort 0 adalah port dua fungsi yang $erada pada pin 1;-17, port ini memiliki
multi fungsi, seperti yang terdapat pada ta$el 1'1 $erikut ini +
(!T =AM1 (!T A))/1SS A5T1/=AT1 %,=CT!.=
"0'; />) (;h /ecei?e data for serial port
"0'1 T>) (1h Transmit data for serial port
"0'- !=T; (-h 16ternal interrupt ;
"0'0 !=T1 (0h 16ternal interrupt 1
"0'3 T; (3h Timer2counter ; e6ternal input
"0'5 T1 (5h Timer2counter 1 e6ternal input
"0'4 @/ (4h 16ternal data memory *rite stro$e
"0'7 /) (7h 16ternal data memory read stro$e
"S1= #"rogram Store 1na$le&
adalah se$uah sinyal keluaran yang terdapat pada pin -9' %ungsinya adalah
se$agai sinyal kontrol untuk memungkinkan mikrokontroler mem$aca
program #code& dari memori eksternal' (iasanya pin ini dihu$ungkan ke pin
1"/.M' Aika eksekusi program dari /.M internal atau dari flash memori
#ATM15 AT89S>>&, maka $erada pada kondisi tidak aktif #high&'
A51 #Address 5atch 1na$le&
Sinyal output A51 yang $erada pada pin 0; fungsinya sama dengan A51
pada microprocessor !=T15 8;85, 8;88 atau 8;84' Sinyal A51
dipergunakan untuk demultiplek $us alamat dan $us data' Sinyal A51
mem$angkitkan pulsa se$esar 124 frekuensi oscillator dan dapat dipakai
se$agai clock yang dapat dipergunakan secara umum'
1A#16ternal Access&
Masukan sinyal terdapat pada pin 01 yang dapat di$erikan logika rendah
#ground& atau logika tinggi #B5C&' Aika di$erikan logika tinggi maka
mikrokontroler akan mengakses program dari /.M internal #1"/.M2flash
memori&' Aika di$eri logika rendah maka mikrokontroler akan mengakses
program dari memori eksternal'
/ST #/eset&
!nput reset pada pin 9 adalah reset master untuk AT89S51' "ulsa transisi dari
tinggi selama - siklus ke rendah akan mereset mikrokontroler'
.scillator
.scillator yang disediakan pada chip dikemudikan dengan >TA5 yang
dihu$ungkan pada pin 18 dan pin 19' )iperlukan kapasitor pensta$il se$esar
0; p%' (esar nilai >TA5 sekitar 0 M9: sampai 00 M9:' >TA51 adalah
input ke pem$alikan penguat osilator #in?erting oscillator amplifier& dan
input ke clock internal pengoperasian rangkaian' Sedangkan >TA5- adalah
output dari pem$alikan penguat osilator'
<am$ar 1'0' 8onfigurasi >tal .silator
"o*er
AT89S51 dioperasikan pada tegangan supply B5?, pin Ccc $erada pada
nomor 3; dan Css #ground& pada pin -;'
.rganisasi Memori
a' "emisahan Memori "rogram dan )ata
Semua di?ais 8;51 mempunyai ruang alamat yang terpisah untuk memori
program dan memori data, seperti yang ditunukkan pada gam$ar1'1' dan
gam$ar 1'-' "emisahan secara logika dari memori program dan data,
mengiinkan memori data untuk diakses dengan pengalamatan 8 $it, yang
dengan cepat dapat disimpan dan dimanipulasi dengan C", 8 $it' Selain itu,
pengalamatan memori data 14 $it dapat uga di$angkitkan melalui register
)"T/' Memori program # /.M, 1"/.M dan %5AS9 & hanya dapat di$aca,
tidak ditulis' Memori program dapat mencapai sampai 438 $yte' "ada
89S51, 38 $yte memori program terdapat didalam chip' ,ntuk mem$aca
memori program eksternal mikrokontroller mengirim sinyal "S1=
# program store ena$le & ' Memori data # /AM & menempati ruang alamat
yang terpisah dari memori program' "ada keluarga 8;51, 1-8 $yte terendah
dari memori data, $erada didalam chip' /AM eksternal #maksimal 438
$yte&' )alam pengaksesan /AM 1ksternal, mikrokontroller mingirimkan
sinyal /) # $aca & dan @/ # tulis &'
<am$ar 1'3' Struktur memori mikrokontroler keluarga MCS51
<am$ar 1'5' Arsitektur Memori Mikrokontroller 8;51
$' Memori "rogram
<am$ar 1'5' menunukkan suatu peta $agian $a*ah dari memori program'
Setelah reset C", mulai melakukan eksekusi dari lokasi ;;;;9'
Se$agaimana yang ditunukkan pada gam$ar 1'4, setiap interupsi
ditempatkan pada suatu lokasi tertentu pada memori program' !nterupsi
menye$a$kan C", untuk melompat ke lokasi dimana harus dilakukan suatu
layanan tertentu' !nterupsi 1ksternal ;, se$agi contoh, menempatai lokasi
;;;09' Aika !nterupsi 1ksternal ; akan digunakan, maka layanan rutin harus
dimulai pada lokasi ;;;09' Aika interupsi ini tidak digunakan, lokasi
layanan ini dapat digunakan untuk $er$agai keperluan se$agai Memori
"rogram'
<am$ar 1'4' "eta !nterupsi mikrokontroller 8;51
c' Memori )ata
"ada gam$ar 1'7' menunukkan ruang memori data internal dan eksternal
pada keluarga 8;51' C", mem$angkitkan sinyal /) dan @/ yang
diperlukan selama akses /AM eksternal' Memori data internal terpetakan
seperti pada gam$ar 1'7' /uang memori di$agi menadi tiga $lok, yang
diacukan se$agai 1-8 $yte lo*er, 1-8 $yte upper dan ruang S%/' Alamat
memori data internal selalu mempunyai le$ar data satu $yte' "engalamatan
langsung diatas 7%h akan mengakses satu alamat memori, dan pengalamatan
tak langsung diatas 7%h akan mengakses satu alamat yang $er$eda'
)emikianlah pada gam$ar 1'7 menunukkan 1-8 $yte $agian atas dan ruang
S%/ menempati $lok alamat yang sama, yaitu 8;h sampai dengan %%h, yang
se$enarnya mereka terpisah secara fisik
1-8 $yte /AM $agian $a*ah dikelompokkan lagi menadi $e$erapa $lok,
seperti yang ditunukkan pada gam$ar 8' 0- $yte /AM paling $a*ah,
dikelompokkan menadi 3 $ank yang masing-masing terdiri dari 8 register'
!nstruksi program untuk memanggil register-register ini dinamai se$agai /;
sampai dengan /7' )ua $it pada "rogram Status @ord #"S@& dapat memilih
register $ank mana yang akan digunakan' "enggunaan register /; sampai
dengan /7 ini akan mem$uat pemrograman le$ih efisien dan singkat, $ila
di$andingkan pengalamatan secara langsung'
<am$ar 1'7' Memori data internal
<am$ar 1'8' /AM internal 1-8 $yte paling $a*ah
Semua pada lokasi /AM 1-8 $yte paling $a*ah dapat diakses $aik dengan
menggunakan pengalamatan langsung dan tak langsung' 1-8 $yte paling atas
hanya dapat diakses dengan cara tak langsung, gam$ar 1'9'
<am$ar 1'9' /AM internal 1-8 $yte paling atas
d' Special %unction /egister
Se$uah peta memori yang dise$ut ruang special function register # S%/ &
ditunukkan pada gam$ar $erikut' "erhatikan $ah*a tidak semua alamat-
alamat terse$ut ditempati, dan alamat-alamat yang tak ditempati tidak
diperkenankan untuk diimplementasikan' Akses $aca untuk alamat ini akan
menghasilkan data random, dan akses tulis akan menghasilkan efek yang tak
elas'
e' Accumulator
ACC adalah register akumulator' Mnemonik untuk instruksi spesifik
akumulator ini secara sederhana dapat disingkat se$agai A'
f' /egister
/egister ( digunakan pada saat opersi perkalian dan pem$agian' Selain
untuk keperluan terse$ut diatas, register ini dapat digunakan untuk register
$e$as'
g' "rogram Status @ord'
/egister "S@ terdiri dari informasi status dari program '
h' Stack "ointer
/egister "ointer stack mempunyai le$ar data 8 $it' /egister ini akan
$ertam$ah se$elum data disimpan selama eksekusi push dan call' Sementara
stack dapat $erada disem$arang tempat /AM' "ointer stack dia*ali di
alamat ;7h setelah reset' 9al ini menye$a$kan stack untuk memulai pada
lokasi ;8h'
i' )ata "ointer
"ointer )ata #)"T/& terdiri dari $yte atas #)"9& dan $yte $a*ah #)"5&'
%ungsi ini dituukan untuk menyimpan data 14 $it' )apat dimanipulasi
se$agai register 14 $it atau dua 8 $it register yang $erdiri sendiri'
<am$ar 1'1;' "emetaan )ata "ointer'
Sum$er +

Anda mungkin juga menyukai