MIKROKONTROLER 8031
Mikrokontroler 8031 termasuk dalam ksluarga MCS-51 yang mana mikrokontroler ini tidak mempunyai ROM/EPROM dalam. Mikrokontroler ini banyak dipakai untuk keperluan kontrol, komunikasi, industri dan lain-lain karena 8031 ini mempunyai beberapa keistimewaan antara lain:
- 128 bytes 'on chip data memori' - dua buah timer/counter 16 bit - 'on chip oscillator'
- 'full duplex UART' (Universal Asynchronous Receiver Transmitter)
- bolean processor dan bit addressable RAM - 64 K 'program memori space'
- 64 K 'data memori space'
Mikrokontroler 8031 dapat digambarkan secara blok diagram seperti yang terlihat pada gambar 2 .1 .
FR E O U E N C Y Itc F E fE M Z E
O S C ILLA TO R A TIMING
t w o ib tm
R O U£P R O M RAM TIM I R C VENT
C O U UIC R S
INTERRUPTS
V V \ 7 \ 7
PARALLEL PORTS a d d r e s so a tab u s
a n d i t ) p in s
SERIAL SERIAL . IN O U T
GAMBAR 2.1
1)BLOK DIAGRAM MIKROKONTROLER 8031
1.1 Organisasi Memori
Memori pada keluarga MCS-51 dibagi menjadi dua bagian yaitu 'memori program dan 'memori data'.
Dengan adanya sistem ini maka mikrokontroler ini mempunyai kapasitas memori yang lebih besar dibandingkan dengan mikrokontroler yang. lain.
Pembagian memori program dan memori data dapat dilihat pada gambar 2.2. Memori program hanya dapat dibaca saja, dimana besar memori yang dapat dialamati adalah 64 kilo byte sedangkan sinyal kontrol untuk melaksanakan proses pembacaan tersebut adalah sinyal PSEN ( Program Store Enable).
^ Microcontroller Handbook. 1988, hal 1-1.
Sedangkan untuk memori data identik dengan memori program hanya saja memori data dapat ditulis.
Untuk mengatur proses pembacaan dan penulisan digunakan sinyal RD (Read) dan WR (Write). Memori program dan memori data dapat dikombinasikan yaitu dengan menggunakan gerbang AND dimana PSEN dan RD merupakan input-input dari gerbang AND tersebut sedangkan output dari gerbang AND sebagai sinyal untuk mengaktifkan memori program dan memori data.
PROGRAM UflUORT (READ ONI.T) r r r r H :
EXTERNAL
LA*0 EXTERNAL
.0000.
EA * t INTERNAL
rrw:r
ool
DATA UCuO*?Y
( P E A O / W P I T C )
r r r r H :
e x t e r n a l -
in t e r n a l
oooc
PSEN fft) WR
GAMBAR 2.2 21
STRUKTUR MEMORI DARI KELUARGA MCS-51
1.1.1 Memori Program. Bila diinginkan memori
25 Ibids hal i-4.
program diluar chip (bila mengunakan EPROM luar) maka pin EA (External Access) harus berada pada
•level rendah (low).
Konfigurasi secara perangkat keras dari memori program luar dapat dilihat pada gambar 2.3. Dalam rangkaian tersebut terlihat bahwa 16 jalur I/O (port 0 dan port 2 ) akan berubah fungsinya bila terjadi pengambilan data dari memori program luar.
Port 0 (PO) berfungsi sebagai jalur alamat yang dimultiplex dengan jalur data yang akan mengeluarkan informasi byte yang rendah dari program counter sebagai informasi alamat. Port 0 akan berfungsi sebagai jalur data bila pin ALE (Address Latch Enable) berubah menjadi level tinggi (high). Port 2 mengeluarkan informasi byte yang tinggi dari program counter sebagai informasi alamat. Sinyal PSEN akan berubah menjadi rendah bila proses diatas telah terpenuhi sehingga terjadi proses pengambilan data.
GAMBAR 2.3 31
RANGKAIAN MEMORI PROGRAM LUAR
31 Ibid, hal 1-5.
Pada gambar 2.4 menunjukkan peta alamat dari memori program. Setelah proses reset maka CPU akan menjalankan program pada lokasi 0 0 0 0 H v Lokasi 0003H - 0032H dipergunakan sebagai intexupt.
•---y (0 0 3 J H )
---► W7BH
---► 0 023H
INTERRUPT K o o . _
0 0 I S H _ LOCATION > “ T
— ► OOOBH
. — ► Oi
r c s a ---► o c.jo h
8 BYTES
GAMBAR 2.4 4)
PETA ALAMAT MEMORI PROGRAM
1.1.2 Memori Data. Mikrokontroler 8031 mempunyai memori data dalam dan memori data luar. Memori data luar mempunyai fungsi yang hampir sama dengan memori program hanya saja memori data luar dapat ditulis. Konfigurasi secara perangkat keras dari memori data luar dapat dili’nat pada gambar 2.5.
Port 0 berfungsi sebagai jalur alamat/data yang dimultiplex ke RAM dan 3 jalur dari port 2 yang digunakan.
Sinyal yang diperlukan untuk mengakses memori data
4) Ibid* Hal i-4.
luar adalah sinyal RD dan WR. Pada keluarga MCS-51 memori data dalam dibagi menjadi 3 blok yaitu 128 bytes rendah dari RAM, 128 bytes tinggi dari RAM,
mikrokontroler 8051/8031/8751 128 bytes tinggi dari RAM tidak tersedia. Peta alamat memori data dalam dapat dilihat pada gambar 2.6. Pada 128 bytes rendah dari RAM terdapat 4 bank register (Rg-Ry), dimana bank 1 menempati lokasi 0QH-07H, bank 2 menempati lokasi 08H-0FH, bank 3 menempati lokasi 010H-017H, bank 4 menempati lokasi 018H-01FH, bank register tersebut ditentukan oleh 2 bit yang tersimpan dalam PSW (Program Status Word). Diatas bank 4 yaitu pada lokasi 020H-02FH yang mana lokasi tersebut dapat dialamati dalam satuan bit.
Peta alamat dari Special Funtion Register (SFR) dapat dilihat pada gambar 2.7. Yang termasuk dalam SFR antara lain:
special function register; tetapi pada
PaCC
• !IS
GAMBAR 2.5 5)
RANGKAIAN MEMORI DATA LUAR
5' Ibid, hal 1-5.
- ACC (Accumulator)
- Register B - Program Status Word (PSW) - Stack Pointer (SP)
- Data Pointer (DPTR) - Port 0 (PO)
- Port 1 (PI) - Port 2 (P2) - Port 3 (P3)
r r H
A C C E S S IB L E A C C E S S IB L E F F H
U P P E R B Y ; V J J ? E C T a r c i r e c t 1 2 8 A D D R E S S IN G A D O R E S S IN G
8 0 H
O N I.*
a c . . 7 F H
L O W E R 1 2 8
0
a c c e s s b i e B Y 0 IR V C T A N O IN C H E C T
A D D R E S S IN G V
V _ S P E C I> L U r s T S F U N C T IO N ' - 7 A T,j 5 A N 0 R E G IS T E R S r c N T R O L B!TC
liM ER
S T A C K P O IN T E R A C C U M U L A T O R i.C TC O
GAMBAR 2.6 61
PETA ALAMAT MEMORI DATA DALAM
1.2 Qperasi Dan Struktur Port
Semua port dalam mikrokontroler 8031 (port 0, port 1, port 2, port 3) adalah bidirectional, mempunyai latch, output driver dan input bufer.
Output driver dari port 0 dan port 2 dan input bufer dari port 0 dipakai untuk mengakses memori luar. Dalam pemakaiannya, keluaran dari port 0 yang
Ibidj hal 1-6.
byte rendah yang merupakan alamat dari memori luar dimultipleks dengan data. Keluaran dari port 2 yang byte tinggi yang merupakan alamat dari memori luar dipakai untuk mengakses memori luar, bila tidak maka port 2 dapat berfungsi sebagai masukan dan keluaran (input output) port yaitu sebagai register P2 yang terdapat dalam SFR.
COM
BO H
9 0 H
PORT i
PORT 2
P O R T 0
REiSSTCR-uAPPCO PORTS
A O D R E S S C S T H A T C N O in C H O R 8 H A R C A L S O B U - a O O R C S S a B I <
-PORT P tW -ACCUMULATOR - P S W
in c .)
GAMBAR 2.7
7)PETA ALAMAT SPECIAL FUNCTION REGISTER
Semua pin-pin dari port 3 dan dua pin dari port 1 selain berfungsi sebagai port pin juga mempunyai fungsi yang lain, yaitu :
P1.0 T2 Timer/counter 2 external input
Pl.l T2EX Timer/counter 2 capture/reload trigger P3.0 RXD Serial input port
P3.1 TXD Serial output port
7) Ibid, hal 1-7.
P3.2 INTO External interrupt P3.3 INTI External interrupt
P3.4 TO Timer/counter 0 external input P3.5 T1 Timer/counter 1 external input P3.6 WR External data memory write P3.7 RD External data memory read
1.3 Konfigurasi I/O (Input/Output)
Port 1, 2 dan 3 mempunyai internal pull up, sedangkan untuk port 0 mempunyai output open drain.
Setiap jalur I/O dapat berfungsi sebagai input atau output. Port 0 dan port 2 tidak boleh difungsikan sebagai input/output bila sedang difungsikan sebagai bus (alamat/data) ; agar port 0 dapat digunakan sebagai input maka tiap-tiap bit dari port harus dilatch ke kondisi high sehingga mengakibatkan output driver dari FET mati. Port- port tersebut selain mendapat internal pull up untuk memperoleh kondisi high juga dapat memperoleh kondisi low oleh sumber dari luar.
Port 0 mempunyai perbedaan dengan port-port yang lain, pull up FET dalam output driver port 0 digunakan untuk kondisi high selama proses memori luar, bila tidak pull up FET tidak berfungsi, pin akan mengambang. Dalam kondisi ini port dapat digunakan sebagai input impedansi tinggi.
Dikarenakan port 1, 2 dan 3 mempunyai internal pull up yang pasti maka kadang-kadang disebut sebagai
port quasi-bidirectional, yaitu bila berfungsi sebagai input maka akan dipull up tetapi bila sebagai current source akan dipaksa low oleh sesuatu dari luar, sedang port 0 disebut sebagai port bidirectional sejati, karena bila berfungsi sebagai input, maka port ini akan mengambang.
Bufer output dari port 1, 2 dan 3 dapat mengendalikan 4 input LS TTL, sedangkan port 0 dapat mengendalikan 8 buah input LS TTL.
2 .
EPROM
EPROM (Erasable Programmable Read Only Memory) merupakan suatu memori yang hanya dapat dibaca saja dan tidak dapat ditulis dan dapat menyimpan data meskipun tidak dihubungkan dengan power supply. Pengisian EPROM dapat dilakukan berulang-ulang dan untuk menghapus isi dari EPROM dapat digunakan sinar ultra violet.
c 1 n 3 *ec
A ., c > XT3 POM
A , C > n 3 *.c.
A.C 4 » 3 A,
A* C • 143 A ,
A . C • » 3 A „
A» C7 a ] » A. C • *i 3 a *
A , C • n 3
A* CIt it 3 o,
* c 11 3 * o. C 11 if 3 o, o, CIS i t3 o.
GMO C 14 i t3 o,
GAMBAR 2.8 8) KONFIGURASI EPROM 2764
^ Intel, Kesory Coaoonents Handbook. 19$!.
EPROM yang digunakan adalah EPROM 2764 yang mempunyai kapasitas memori sebesar 8 Kilo Bytes, yaitu mempunyai 13 jalur alamat A q - A ^ dan 8 jalur data Dq-D^
1 ^
sehingga mempunyai kapasitas sebesar 2 ±u X 8 bit lokasi memori ( 8 K Bytes).
Gambar 2.8 menunjukkan konfigurasi dari EPROM 2764.
2764 mempunyai sinyal kontrol yaitu CE (Chip Enable) yang aktif low dan OE (Output Enable) yang juga aktif low. Pin CE hanya perlu didrive low pada saat alamat valid terdapat pada address bus dari mikrokontroler, sedangkan pin OE digunakan untuk mengaktifkan tristate bufer dalam agar data dapat dikeluarkan.
3. RAM STATIK
GAMBAR 2.9 9!
KONFIGURASI RAM 6116
RAM (Random Access Memori) merupakan suatu memori yang dapat digunakan untuk proses pembacaan dan penulisan.
Terdapat 2 jenis RAM, yaitu RAM Statis dan RAM Dinamis.
Karena RAM bila power dimatikan maka data akan hilang,
^ P.T. Braiedia, Data Sheet Book. Januari 1980.
maka RAM hanya dapat dipergunakan untuk menyimpan data yang bersifat sementara. RAM yang digunakan adalah RAM statik yang bertipe 6116 yang mempunyai kapasitas memori sebesar 2 K Bytes. 6116 mempunyai 11 jalur alamat Aq-A^q dan 8 jalur data Dg-Dy.
Pada gambar 2.9 menunjukkan konfigurasi dari RAM 6116.
6116 mempunyai sinyal kontrol yang berfungsi sama seperti pada EPROM yaitu OE (Output Enable) dan CS (Chip Select). Karena RAM dapat ditulis, maka RAM mempunyai sinyal kontrol WE (Write Enable) yang dihubungkan langsung dengan WR dari 8031.
231300-1
GAMBAR 2.10 101
BLOK DIAGRAM PPI 8255
^ Intel, Microprocessor And Peripteral Handbook. Vol. II Peripheral, 1988, hal 2-64.
PPI (Programmable Periperal Interface) 8255 merupakan sebuah chip I/O port yang berfungsi sebagai pengatur perpindahan data yang mempunyai 24 pin I/O yang terbagi dalam 3 buah port, yaitu port A, B dan C yang terbagi dalam 2 group yaitu group A dan group B. Group A meliputi port A dan port C atas (PC4 -PC7 ), sedang group B meliputi port B dan port C bawah (PCg-PCg). Gambar 2.10 menunjukkan blok diagram dari PPI 8255 yang menunjukkan posisi dari tiap-tiap port, sinyal kontrol untuk tiap-tiap group dan bufer untuk data.
4.1 Fungsi Masing-Masing Pin
Konfigurasi dari pin-pin dari PPI 8255 dapat dilihat pada gambar 2 .1 1 .
- D0-D7 (Data Bus Buffer)
Data bus ini adalah 3-state bidirectional (bisa untuk input atau output) bufer dan latch 8 bit.
Dengan adanya data bus ini komunikasi data antara CPU dengan 8255 dapat berlangsung.
- CS (Chip Select)
CS ini akan aktif bila berada pada kondisi low yang akan mengakibatkan terjadinya komunikasi antara CPU dengan 8255.
- RD (Read)
RD ini akan aktif bila berada pada kondisi low dan bila bersamaan dengan CS yang juga low, maka akan mengakibatkan 8255 mengirimkan data ke CPU sehingga mengakibatkan CPU membaca data dari
8 2 5 5 .
- WR (Writer
WR ini akan aktif bila berada pada kondisi low dan bila bersamaan dengan CS yang juga low, maka akan mengakibatkan CPU dapat menuliskan data ke 8255.
- Aq dan A^ (Port Select 0 dan Port Select 1)
Sinyal input ini bila dikombinasikan dengan sinyal RD dan WR akan dapat menentukan pemilihan dari salah satu dari ketiga port dan control word register. Pengoperasiannya dapat dilihat pada tabel 2 .1 .
«> c . m
'«> c > » p « . M 3 -
« it
«oC « M J mm
3 c « M 7; ••***
c m>C t »* J ».
• » Do,
- c t JI
*• II 3
it I2SSA M 2 o.
u n
n :i o.
•« /» *
«% N 1 vec
*• n
ii u J ^
«• »
n - p>*4
Jt it
GAMBAR 2 . 1 1 11)
KONFIGURASI PIN 8255
- Reset
Bila input dari pin ini diberi logic high akan mengakibatkan isi dari control word register dan semua port akan terhapus dan diset sebagai mode
Ibid, hal 2-66.
input.
- Port A (PAQ-PA7 )
Port A adalah 8 bit data output bufer/latch dan 8
bit data input latch artinya data yang sudah ada akan tetap dipertahankan selama tidak ada data lain yang masuk ke port itu.
- Port B (PB0-PB7 >
Port B adalah 8 bit data output bufer/latch dan 8
bit data input latch.
TABEL 2.1 ^ PENGOPERASIAN 8255
A t A 0 RT5 W R C S Input O p e ra tio n (R E A D ) 0 0 0 1 0 Port A — * Data Bus 0 t 0 1 0 Port B — * Data Bus
1 0 0 1 0 Port C — * Data Bus
O u tp u t O p e ra tio n (W R IT E )
0 0 t 0 0 Data Bus — *■ Port A
0 1 1 0 0 Data Bus — » P o rtB
1 0 1 0 0 Data Bus — » Port C
1 1 1 0 0 Data Bus — * Control
Disable Function
X X X X 1 Data Bus — ► 3-State
1 1 0 1 0 Illegal Condition
X X 1 1 0 Data Bus — ► 3-State
- Port C (PC0-PC7 )
Port C adalah 8 bit data output bufer/lacth dan
8 bit data input bufer (pada input tidak me-latch). Port ini dapat juga dibagi menjadi 2
125 Ibid, hal 2-65.
yaitu port C atas (PC4 -PC7 ) dan port C bawah (PCQ-PC3 ) dibawah pengaturan kontrol word.
4.2 Pengoperasian 8255
Ada tiga macam pengoperasian dari 8255 yang dapat dipakai dengan menggunakan program, yaitu :
Mode 0 : Basic Input/Output Mode 1 : Strobe Input/Output Mode 2 : Bidirectional Bus
GAMBAR 2.12 131 FORMAT CONTROL WORD
Untuk memilih mode mana yang akan dipakai digunakan suatu control word yaitu dengan memilih D5 dan Dg.
Format control word dapat dilihat pada gambar 2.12.
i3) Ibid, hal 2-67.
Pada perencanaan yang akan dibahas pada bab III digunakan mode 0. Pada mode 0, ketiga port berfungsi sebagai masukan atau keluaran saja, yang artinya data hanya dapat diambil/diletakkan dari/ke port secara langsung.
5. TRANSDUSER TEKANAN
Ada beberapa jenis transduser tekanan antara lain: LVDT (Linear Variable Differential Transformer), Piezoresistive dan lain-lain. Tranduser tekanan yang dipakai adalah silikon piezoresistive strain gage dengan tipe MPX 100GP. Transduser tekanan ini dirancang dengan mempergunakan efek dari piezoresistive dalam silikon.
GAMBAR 2.13 141 BENTUK DARI MPX 100GP
Tegangan strain gage menyebar dalam sekat silikon yang tipis. Dengan adanya tekanan yang masuk itu mengakibatkan perubahan resistive dalam strain gage yang sebanding dengan perubahan tekanan yang akan mengakibatkan timbulnya tegangan yaitu pada pin 2 dan
^ rfatorola Sgaicsnductor, X-ducar. Wt series.
pin 4. Untuk temperatur dengan range yang sempit (0°C - 80°C) atau bila digunakan pada suhu kamar (25°C) tidak dibutuhkan rangkaian kompensasi temperatur.
Karena tranduser yang dipakai pada dalam perencanaan ini pada suhu kamar, maka tidak dibutuhkan rangkaian kompensasi temperatur. Gambar 2.13 menunjukkan bentuk dari MPX 100GP. Transduser ini mempunyai keistimewaaan, yaitu dimana keluaran yang dihasilkan sudah berupa tegangan dan memiliki ketepatan/ketelitian yang baik dan sangat linier. Pada gambar 2.14 menunjukkan grafik antara output (tegangan) dengan t e k anan. Dengan naiknya tekanan, maka tegangan yang dihasilkan juga akan naik sebanding dengan naiknya tekanan (linier). Transduser ini dirancang khusus untuk automotive, industri, kedokter.an dan lainnya.
GAMBAR 2.14 155
GRAFIK ANTARA OUTPUT (TEGANGAN) DENGAN TEKANAN
155 Ibid.
Transduser ini mempunyai beberapa keistimewaan antara lain :
- " 0-100 kPa (0-14.5) Differential Pressure Range "
- " ±0.05 % Full Scale Linearity "
- " Unique Silicon Shear Strees Strain Gage "
- “ Absolute and Differential Types Available “
Gambar 2.15 menunjukkan konfigurasi pin dari transduser tersebut, dimana pin 1 adalah ground, pin 2 adalah +output, pin 3 adalah supply dan
-output.
p m adalah
ttc n e c D ia " n ra a n
aounas?'.
T ra n s v e rs e V oltage Stra in Gape
n □ .-h d b
Pin
Grtcf
Pin
- Outoui
Pin
*j - Supoh-
Pin 4
- O u lD u !
GAMBAR 2.15 16)
KONFIGURASI PIN MPX 100GP
6
. ANALOG TO DIGITAL CONVERTER (ADC)
Analog To Digital Converter (ADC) adalah suatu rangkaian yang mengubah besaran analog menjadi besaran digital. Tujuan dari pengubahan ini adalah agar besaran yang sudah diubah dalam bentuk digital dapat
16! Ibid.
diproses secara digital. Ada beberapa macam rangkaian ADC, antara lain :
- Successive Aproximation Register (SAR) ADC - Parallel/Flash ADC
- Single dan Dual Slope ADC
Karena ADC yang akan dipakai adalah 0804 yang merupakan ADC successive aproximation register, maka akan diuraikan sedikit mengenai successive aproximation register ADC. G-ambar 2.16 menunjukkan blok diagram dari successive aproximation ADC.
ADC ini mempunyai kelebihan dalam hal kecepatan konversi yang tinggi dan dapat dibuat dalam jumlah bit yang banyak, sehingga jenis ini banyak dipakai terutama bila dihubungkan dengan komputer. Kelebihan lain adalah kecepatan konversinya tidak tergantung pada besarnya tegangan input yang akan dikonversi, atau dapat dikatakan waktu konversinya konstan. ADC ini dibentuk dari beberapa komponen, yaitu DAC, komparator,beberapa register dan rangkaian kontrol. Teknik konversi yang dipakai adalah dengan melakukan perbandingan antara tegangan input yang tidak diketahui dengan tegangan output yang dihasilkan oleh DAC. Inpuit digital DAC diatur oleh shift register dan rangkaian logika untuk kontrol, sedang hasil konversi dapat diambil dari register output. Konversi dimulai dengan memberikan sinyal input start konversion, dengan sinyal tersebut mengakibatkan input DAC akan dibuat sehingga MSB (Most
Significant Bit) = 1 dan bit yang lain berharga 'O'.
Output DAC yang terjadi {%. Full scale) dibandingkan
GAMBAR 2.16 17!
BLOK DIAGRAM SUCCESSIVE APROXIMATION ADC
dengan input analog yang akan dikonversi. Dari output komparator dapat diketahui mana yang lebih besar, bila tegangan output DAC lebih besar, maka bit MSB tetap '1' sedangkan output DAC lebih kecil, maka MSB berubah menjadi 'O', kemudian b.it berikutnya dibuat = 1 dengan keadaan MSB tetap seperti setelah proses perbandingan pertama tadi. Dari keadaan input digital ini akan dihasilkan output anlaog yang juga akan dibadingkan lagi dengan tegangan input untuk menentukan apakah keadaan bit kedua akan diubah atau tidak. Proses diatas berlangsung terus sampai bit LSB (Least Significant Bit), sehingga diperoleh output digital dari input DAC
yang terakhir.
Proses pergeseran bit dari MSB sampai LSB dilakukan oleh shift register yang waktunya diatur oleh pulsa clock. Jadi untuk ADC 8 bit memerlukan waktu konversi 8
pulsa clock. Jika proses konversi telah selesai, maka output status bit akan mengeluarkan sinyal 'End Of Conversion' yang menyatakan bahwa output digital ADC dapat diambil sebagai besaran digital yang mewakili
input analog yang dikonversi.