• Tidak ada hasil yang ditemukan

Pada bab perencanaan ini akan dibahas. perangkat keras (hardware) dan perencanaan perangkat

N/A
N/A
Protected

Academic year: 2021

Membagikan "Pada bab perencanaan ini akan dibahas. perangkat keras (hardware) dan perencanaan perangkat"

Copied!
42
0
0

Teks penuh

(1)

UMUM

Pada bab perencanaan ini akan dibahas perencanaan perangkat keras (hardware) dan perencanaan perangkat

lunak (software) serta pembuatannya.

GAMBAR 3.1

BLOK DIAGRAM PENGUKUR DETAK JANTUNG DAN PANAS TUBUH

Minimum sistera yang digunakan pada perangkat keras ini

adalah microcontroller 8031. Selain itu dibahas menge-

nai transduser suhu dan transduser detak jantung,

(2)

rangkaian penguat dari transduser, rangkaian ADC, dan rangkaian display yang merupakan output dari microcon­

troller 8031.

2. PERENCANAAN PERANGKAT KERAS

Perencanaan perangkat keras untuk alat pengukur detak jantung dan panas tubuh terpusat pada sistem minimum 8031.

Sistem minimum microcontroller 8031 yang terdiri dari EPROM 2764, RAM 6116, PPI 8255, decoder 74LS138 beserta sinyal kontrol, display serta transduser yang merupakan input bagi minimum sistem.

Eprom yang digunakan 2764 berkapasitas 8192 X 8 bit.

Eprom ini berfungsi untuk menyimpan program kontrol yang akan mengendalikan semua aktifitas didalam sistem m i n i m u m .

RAM yang dipergunakan untuk menyimpan data hasil pembacaan detak jantung maupun panas tubuh yang diinginkan untuk disimpan.

RAM yang dipergunakan untuk menyimpan data hasil pengukuran adalah jenis 6116.

Untuk PPI 8255 digunakan sebagai I/O port yang dihubungkan dengan sistem ke display sebagai jalur outp u t .

Bagian yang tidak kalah pentingnya adalah dekoder dan

(3)

sinyal kontrol. Dekoder berfungsi membangkitkan CS/CE dari suatu piranti pada suatu jangkauan alamat tertentu, atau dengan kata lain mengatur pengalamatan piranti tersebut. Sedangkan sinyal kontrol berfungsi untuk mengaktifkan buffer data piranti-piranti, mengatur arah perpindahan data antara microcontroller dan piranti-piranti.

2.1 Rangkaian Pendukung. Dari Minimum Sisten. 8031

Rangkaian ini merupakan pendukung dari rangkaian pembangkit sinyal clock dan rangkaian reset.

2.1.1 Rangkaian Clock. Mikrokontroller 8031 mempunyai pembangkit waktu dalam (internal timing generation) sebagai sumber clock.

Pemilihan frekuensi kristal ini sebenarnya sangat erat hubungannya dengan baud rate pada komunikasi serial, namun pada perencanaan dalam tugas akhir ini komunikasi serial tidak digunakan. Dalam hal ini digunakan kristal dengan frekuensi sebesar 11 M h z .

Masing-masing kaki kristal ini dihubungkan dengan

kapasitor 20 pF dan kristal ini dihubungkan dengan

kaki 18 dan 19 dari 8031. Rangkaian clock dapat

dilihat pada gambar 3.2.

(4)

2 0 l» F

--- - H H U B E E O

q 1 1 m H Z

ez=BEO>

GAMBAR 3.2 RANGKAIAN CLOCK

2.1.2 Rangkaian Reset. Rangkaian reset ini terdiri dari sebuah tahanan, sebuah kapasitor, sebuah saklar tekan dan inverter 74LS04.

Gambar 3.3 menunjukkan rangkaian reset 8031. Pin 9 pada mikrokontroller ini merupakan input dari Schmitt-triger.

Mikrokontroller 8031 membutuhkan lebar pulsa reset minimum dua siklus kerja (24 periode osilator).

Analisa rangkaian ini dilakukan pada kondisi rendah (kondisi '0'). Pada tegangan dengan kondisi rendah maksimum input Schmitt-trigger adalah 0,8 Volt, dan lebar pulsa reset logika '0' harus lebih besar dari dua siklus mikrokontroller.

Dari rumus : ^reset = ^ c c ^ “e t/RC^

Frekuensi kristal yang dipakai 11 Mhz akan

(5)

diperoleh satu siklus kerja sebesar 0,091 (is.

Jika pulsa reset minimum diambil 3 kali, maka : t = 3 X 0,091 us

V reSet = Volt dan Vcc = 5 Volt Maka akan diperoleh konstanta waktu (RC) rangkaian reset yaitu :

Agar didapat pulsa reset yang lebih besar, dengan memperhatikan komponen yang ada, maka dipilih

RC = 47 ms ; dimana C = 10 p.F

maka akan diperoleh harga tahanan R = 4,7 K, dan dengan rumus diatas diperoleh waktu reset t = 8,2 ms .

RC = 1, 566 us

GAMBAR 3.3

RANGKAIAN RESET 8031

(6)

2.2 Dekoder Dan. Sinyal Kontrol

Untuk menghubungkan mikrokontroller 8031 dengan piranti-piranti lain diperlukan suatu dekoder serta sinyal kontrol. Berikut ini akan dijelaskan rangkaian-rangkaian yang membentuk membentuk blok dekoder serta sinyal kontrol.

2.2.1 Dekoder Mikrokontroller 8031 mempunyai dua peta alamat memori. Dalam perencanaan ini peta alamat memori program dan peta alamat memori data dijadikan satu peta alamat memori. Peta alamat memori ini dapat dilihat pada gambar 3.4, peta alamat memori ini mempunyai interval 2 Kbytes, yang berawal dari alamat OOOOH-1FFFH untuk alamat EPROM, karena digunakan EPROM 2764 dengan kapasitas memori 8 Kbytes, sedangkan alamat 2000H-27FFH untuk RAM 6116 dengan kapasitas memory 2 Kbytes, sedangkan alamat 2800H-2FFFH untuk PPI 8255, sedangkan alamat diatasnya kosong.

Rangkaian dekoder ini dipakai untuk mengaktifkan

EPROM, RAM dan PPI 8255. Gambar 3.5 menunjukkan

rangkaian dekoder. Dimana IC yang dipakai adalah

74LS138, dengan input A, B dan C yang dihubungkan

dengan All, A12 dan A13 dari mikroprosessor 8031,

sedangkan pin G2A dan G2B dihubungkan dengan A14

dan A15 serta pin G1 dari 74LS138 ini dihubungkan

(7)

FFFFH

3000H 2FFFH 2800H 27FFH 2000H 1FFFH OOOOH

GAMBAR 3.4 PETA ALAMAT MEMORI

dengan V c c . Kombinasi dari input A, B dan C digunakan untuk pemilihan output yang dikehendaki aktif. Kesemua output dari 74LS138 aktif dalam kondisi rendah (LOW). Tabel kebenaran dari IC 74LS138 dilihat pada tabel 3.1. Karena pada peta alamat memori digunakan interval 2 Kbytes, maka untuk EPROM dipakai 4 output dari 74LS138 yaitu YO, Yl, Y2 dan Y3. Keempat output dari 74LS138 ini dihubungkan dengan gerbang AND yaitu IC 74LS08 yang mempunyai 4 gerbang AND (gambar 3.5), dimana output terakhir dari gerbang yaitu pin 11 dihubungkan dengan CS dari EPROM 2764, sedangkan Y4 dihubungkan

K

0

S

0

N

G

PPI

8255

RAM

6116

EPROM

2764

(8)

dengan CS dari RAH 6116 dan Y5 dihubungkan ke CS dari 8255.

2.2.2 Sinyal Control Sinyal kontrol untuk

dipakai untuk mengatur memori ini adalah PSEN, RD dan WR, dimana PSEN dan RD dihubungkan ke gerbang AND. yang mana output dari

PSSH.

W R

- U Bl.

7'4TT50a

>

[ _ H.

i 9

1

5

‘ Ha]

74CS

> 1

Be

JLi 1U2-

73C5B8 > IX.

-EE=

33

ZZZS

3

= >

-d!E CS 6 L l i O -(HE C S -B 2 !aS Z >

K E O E 2 7 6 4

"D O N O E 6 1 IS

K E W E 6 1 1 6

“D A N W R 8 2 S S

GAMBAR 3.5 RANGKAIAN DEKODER

gerbang ini dihubungkan ke OE dari 2764, ke OE 6116

dan ke OE dari 8255. Sinyal PSEN dan sinyal RD ini

akan aktif secara bergantian, dimana bila PSEN yang

aktif (dalam keadaan low) maka RD tidak aktif

(dalam kondisi high) dan memori yang aktif adalah

(9)

TABEL 3.1

TABEL KEBENARAN IC 74LS138

INPUT OUTPUT PIRANTI

C B A Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7

0 0 0 0 1 1 1 1 1 1 1 2764

0 0 1 1 0 1 1 1 1 1 1 2764

0 1 0 1 1 0 1 1 1 1 1 2764

0 1 1 1 1 1 0 1 1 1 1 2764

1 0 0 1 1 1 1 0 1 1 1 6116

1 0 1 1 1 1 1 1 0 1 1 8255

1 1 0 1 1 1 1 1 0 1

K0S0NG

1 1 1 1 1 1 1 1 1 1 0

EPROM 2764, sedangkan bila sinyal RD yang aktif (dalam kondisi low) maka PSEN tidak aktif (dalam kondisi high), sedangkan memori yang aktif adalah RAM dan PPI 8255. Sinyal WR dihubungkan dengan WE (Write Enable) dari 6116 dan ke WR dari 8255.

2.3 Hubungan Angara 8031 Dengan Eprom 2764

Pada 8031 port 0 merupakan alamat bawah (low

addres) yang dimultipleks dengan data bus. Untuk

mengatasi hal ini digunakan IC 74LS373 untuk

melatch port, maka dengan demikian data dan

(10)

alamat dapat dipisahkan dimana output dari 74LS373 merupakan alamat A0-A7 yang dihubungkan dengan jalur alamat dari EPROM 2764 dan port 2 (A8-A12) juga dihubungkan dengan alamat dari EPROM (A8-A12), sedangkan jalur data dari EPROM juga dihubungkan dengan jalur data yang dikeluarkan oleh 8031. Pin OE dari EPROM dihubungkan dengan output gerbang AND yang merupakan kombinasi dari PSEN dan RD seperti yang telah dibahas dalam rangkaian dekoder.

AO oo

A L Ol

A2 02

A 3 03

A4 04

A S w r O S

A6 06

A 7 07

AQ A9 A l O A l l A 12

i r V P P

27&T

L -O V C C

E

5

HHEEE

5

EES

eoxr

GAMBAR 3.6

HUBUNGAN 8031 DENGAN EPROM 2764

(11)

Sedangkan untuk mengaktifkannya, maka CS dihubungkan dengan output dari gerbang AND yang mana gerbang AND ini mendapat input dari Y0-Y3 dari output IC 7 4 L S 1 3 8 . Gambar 3.6 menunjukkan hubungan 8031 dengan EPROM 2764.

2.4 Hubungan Antara 8Q31 Dengan RAM. GJLlfl

RAM 6116 digunakan untuk menyimpan data yang akan dimasukkan. Dalam hal ini alamat port 0 dari 8031 juga arus melewati IC 74LS373 dengan output dari

ETf/vP P O . O

P O . 1

X I P O . 2

P O . 3 P O . 4

X 2 P O . S

P O . 6 P O . 7 R E S E T

P 2 . 0 P 2 . 1

I N T O P 2 . 2

I N T 1 P 2 . 3

T O P 2 . 4

T 1 P 2 . S

P 2 . 6

P l . O P 2 . 7

P I . 1 P I . 2

P I . 3

m

P I . 4 P S E K

A L E / P P I . 5

P I . 6 T X D

P I . 7 R X O

6G3TT

A O D O

A 1 D 1

A 2 D 2

A 3 0 3

A 4 0 4

A S O S

A 6 0 6

A 7 0 7

A 8 A S A i O

stir

T>AftI DEk<>~PE7fl

GAMBAR 3.7

HUBUNGAN 8031 DENGAN RAM 6116

(12)

IC ini merupakan alamat A0-A7 yang dihubungkan dengan alamat bus dari RAM 6116, sedangkan alamat yang lain didapat dari port 2 (A8-A10). Data bus dari RAM juga dihubungkan dengan data bus yang dikeluarkan oleh 8031. Sinyal untuk OE dihubungkan juga dengan output dari gerbang AND seperti pada sinyal OE dari EPROM, sedangkan sinyal WE dari 8031 dan untuk mengaktifkannya, maka CS dihubung­

kan dengan output dari 74LS138 yaitu Y 4 . Gambar 3.7 menunjukkan hubungan 8031 dengan RAM 6116.

2.5 Hubungan Antara S&3JL Dengan. EEX 8255.

Dalam perencanaan ini data bus dari 8031 yaitu port 0 dihubungkan dengan dengan data bus dari 8255. Pada 8255 ini juga terdapat alamat A0 dan Al, dimana A0 dan Al dihubungkan dengan output dari 74LS373 alamat A0 dan Al juga. Sinyal RD dihubung­

kan dengan output gerbang AND seperti pada OE dari

EPROM dan RAM, sedangkan sinyal WR dihubungkan

langsung ke WR dari 8031. Rangkaian reset dari 8255

diambil dari rangkaian reset 8031 yang sama-sama

aktif dalam kondisi tinggi (high). Untuk mengaktif-

kan 8255, maka CS yang aktif dalam kondisi rendah

(low) dihubungkan dengan output dari 74LS138 yaitu

Y5. Gambar 3.8 menunjukkan hubungan antara 8031

dengan PPI 8255, serta tabel 3.3

(13)

------------------------1------------------------QTJ------------------O' CO NPfr IT*- W H * ii2_

c e>v p P O . O PO. 1

X I P O . 2

P 0 . 3 P O . 4

X 2 P O . S

P 0 . 6 P O . 7 R E S E T

P 2 .0 P 2 . 1

I N T O P 2 . 2

I H T 1 P 2 . 3

T O P 2 . 4

T 1 P 2 . S

P 2 . 6

P l . O P 2 . 7

PI. 1 P I . 2 P I - 3

P I . 4 P S E N

A L E y p P i . S

P I . 6 T X O

P I . 7 R X D

8 0 3 1

.SET

E ieS K IZ E E S E O - IbAftl SETRgBEff>-

1

H±=

5 5 5 5 "

GAMBAR 3.8

HUBUNGAN 8031 DENGAN PPI 8255

menunjukkan alamat dari masing-masing port. Dalam perencanaan ini masing-masing port digunakan sebagai berikut :

Port A sebagai input Port B sebagai output

Port C bawah sebagai output Port C atas sebagai output

Format untuk mengatur semua port dari 82 55 sesuai

dengan yang diinginkan digunakan kontrol word yaitu

90H .

(14)

TABEL3.2

TABEL ALAMAT PORT DARI 8255

A15 AM A13 A12 All AiO A9 A8 .... A3 A2 A1 AO ALAMAT PORT 0 0 1 1 1 0 0 0 .... .... 0 0 0 0 2800H PORT A 0 0 1 1 1 0 0 .... 0 0 0 1 2801H PORT B 0 0 1 1 1 0 0 0 .... .... 0 0 1 0 2802H PORT C 0 0 1 1 1 0 0 0 .... .... 0 0 1 1 2803H C.PORT

2.6 Rangkaian Display..

Pada perencanaan ini digunakan 4 buah seven segmen

commond anoda, 1 buah IC 74LS247 dan IC ULN2003A

sebagai pengatur seven segment. Dan untuk driver

seven segmen itu digunakan transistor P N P . Gambar

3.9 menunjukkan rangkaian lengkap display. IC

74LS247 mempunyai 4 buah input yaitu pada pin

8, 4, 2 dan 1. Input untuk IC 74LS247 yang

dihubungkan dengan PC3, PC2, PCI dan PCO dari

port C 8255, untuk IC ULN 2003A inputnya 7B, 6B,

(15)

5B, 4B, 3B, 2B, IB dihubungkan dengan PB7, PB6, PB5, P B 4 , PB3, PB2, dan PB1 dari port B 8255.

GAMBAR 3.9

RANGKAIAN LENGKAP DISPLAY

Serta semua outputnya dari 74LS247 yaitu a, b, c, d, e, f dan g dihubungkan dengan seven segment

kedua, ketiga dan keempat.

Semua sinyal kontrol dari 74LS247 yaitu RBI, BI/RBO

dan LT dihubungkan dengan Vcc, dimana semua

outputnya aktif dalam kondisi LOW (rendah) hal ini

karena RBI, BI/RBO akan mematikan 7 segmen bila

(16)

diberi logika LOW. Output dari ULN2003A 1C, 2C, 3C, 4C, 5C, 6C dan 7C dihubungkan dengan seven segmen pertama yaitu segmen a, b, c, d, e, f dan g.

Untuk menjaga agar tidak terjadi tegangan lebih pada seven segment, maka pada output 74LS247 dan ULN2003A diberi tahanan. Dalam perhitungan seven segment dapat dianggap sebagai sebuah led.

Tegangan led yang dianggap ideal yaitu antara 2 Volt sehingga akan didapat nyala dari led yang cukup terang.

Dengan mengambil arus yang melewati led sebesar 20 mA, maka besar tahanan dapat dihitung sebagai berikut :

untuk Vied = 2 V

Vol dari 74LS247 = 0,5 V

Vcc - Vce(sat) - Vied - Vol R = --- =

lied

5 - 0,2 - 2 - 0,5

= --- -- u s Q 20 mA

Maka harga R(tahanan) yang diambil antara harga tersebut ada dipasaran yaitu sebesar 120 Q.

Pemilihan digit seven segmen kedua, ketiga, keempat

yang inputnya berasal dari PC7, PC6, PC5 dari

PPI 8255 dan untuk mendrive seven segmen pertama

yang inputnya berasal dari PB0 PPI 8255 menggunakan

(17)

4 buah transistor P N P . Perhitungan tahanan yang akan dipakai antara basis transistor PNP yang digunakan untuk mendrive seven segmen dan PPI 8255.

Dengan Vol dan Iol dari PPI 8255 = 0,45 V dan 2,5 mA :

Vcc - Veb(sat) - Vol R = ---

Iol

5 - 0,85 - 0,45

= --- = 1 . 4 8 0 Q 2,5 mA

Nilai tahan yang dipilih adalah 3 KQ

Rangkaian driver dot digunakan untuk mendrive dot pada seven segmen kedua, ketiga dan keempat.

Rangkaian driver dot dapat dilihat pada gambar 3. 10.

GAMBAR 3.10 RANGKAIAN DOT

Tegangan dan arus input rangkaian dot ini berasal

(18)

dari PPI 8255 yaitu Voh = 2,4 V dan Ioh = 400

jjlA

maka nilai tahanan

Voh - Vbe(sat) 2,4 - 0,85

Rb = --- = ---= 4.625 Q

Ioh 400 nA

Tahanan Rb dipilih sebesar 4,7 KQ

Sedangkan Vcc = 5 V, Vied = 2 V, dan lied = 20 mA maka nilai Rc :

Vcc - Vied - 2 x Vce(sat) 5 - 2 - 0,4 Rc = --- = ---

lied 20 mA

= 130 Q

Tahanan Rc yang dipilih adalah 150 Q

2.7 Transduser Eanas. Tubuh. Dan. Rangkaian Penguatnya

Pada, perencanaan ini dipilih transduser/sensor

panas type LM 335. Dipilihnya sensor ini karena

output yang dihasilkan linier yang berarti

pertambahan panas sebanding dengan perubahan

output dari sensor. Jangkauan dari sensor ini dari

suhu -40 °C sampai 100 °C. Transduser ini mempunyai

ketelitian 10 mV/°K atau terjadi kenaikan tegangan

10 mV tiap kenaikan suhu 1 °C.

(19)

LM335

Rbias :>•

GAMBAR 3.11

RANGKAIAN TRANSDUSER PANAS TUBUH

Tahanan bias pada rangkaian transduser untuk panas tubuh ditentukan suhu nominal 20 °C dan arus yang mengalir 1 mA :

Vz = 2,73 + (10 m V / ° C ) x T

= 2,73 + (10 m V / ° C ) x 20

= 2,93 Volt

Vcc - Vz 5 - 2 , 9 3

Rbias = --- = --- = 2.070 Q 1 mA 1 mA

Tahanan bias (Rbias) yang dipilih 2 K Q .

Rangkaian penguat yang digunakan adalah jenis zero

and span converter terdiri dari rangkaian pengikut

tegangan dan rangkaian penguat. Rangkaian pengikut

tegangan mempunyai penguat sebesar 1, digunakan

rangkaian pengikut tegangan agar tegangan output

(20)

dari rangkaian penguat sama dengan tegangan input.

Dan tahanan masukan (Zi) yang tinggi sehingga arus dari sumber dapat diabaikan.

Op-Amp yang digunakan untuk rangkaian pengikut tegangan dan rangkaian penguat adalah OP-07 dengan suplai antara ± 3 sampai ± 18 Volt. Dan mempunyai tegangan offset yang rendah.

Operational Amplifier yang ketiga berupa penguatan pembalik. Op-Amp yang ketiga berfungsi untuk membalik polaritas agar sesuai dengan tegangan masukan dan mempunyai penguatan s a t u . Karena tegangan masukan yang didapat dari tranduser suhu tubuh dalam orde milivolt maka tegangan ini perlu dikuatkan sehingga dapat terukur oleh ADC.

Dimana tegangan referensi dari ADC adalah 5 V dan keluaran digital untuk tegangan masukan yang sama adalah 1111 1111 yang berarti kenaikan setiap bit

rO—VCC

4

lovcc7

GAMBAR 3.12

RANGKAIAN PENGIKUT TEGANGAN

(21)

adalah 20 mV.

Karena suhu tubuh inanusia hanya berkisar antara 35 °C sampai 42 °C maka perhitungan untuk rangkaian penguat dilakukan pada range tersebut.

untuk 35 °C

Vz = 2,73 + (10 mV/°K) x 35 °C = 3,08 V untuk 42 °C

Vz = 2,73 + (10 mV/°K) x 42 °C = 3,15 V

data dari ADC untuk tegangan dari 3,08 sampai 3,15 diinginkan dari 0 sampai 1,4 Volt

Vout(max) - Vout(min) 1,4 - 0 Vin(max) - Vin(min) 3,15 - 3,08

=

20

Rf m = ----

Ri untuk Rf = 20 KQ maka Ri = 1 KQ

Ri dipilih tahanan variabel 2 K2 Vout = m Vin + b

Pada Vin = 3,08 Volt, Vout = 0 Volt 0 = 20 x 3,08 + b

b = -61,6 Rf b = ----(V)

Ros

Untuk tegangan negatif V = - 5 Volt

(22)

(20 K Q )(- 5 V) Ros = ---

- 61,6

= 1,623 KQ

Tahanan Ros dipilih tahanan variabel 2 KQ Rcomp = Rf // R i '// Ros

= 20 K // I K / / 1,623 K

= 620 Q

Tahanan Rcomp dipilih 560 Q

Nilai tahanan yang diperoleh dikalikan sepuluh agar memperkecil arus yang memasuki IC QP-07.

- v c c o—

Elr>0— ^Xs^

E E >

O P 0 7

GAMBAR 3.1315) RANGKAIAN ZERO AND SPAN

2.8 Transduser Detak Jantung Dan.

Pada perencanaan ini dipilih transduser atau sensor untuk cahaya Light Dependent Resistor (LDR).

Output tegangan yang dihasilkan dalam milivolt sehingga perlu dikuatkan. Untuk rangkaian penguat

Prentice Hall, Industrial Control Electronic, tel 214,

(23)

ini digunakan IC LM3900. Dan sebagai comparator digunakan IC LM741.

Rangkaian IC1 dan IC2 digunakan untuk menyetabilkan perubahan ketembusan cahaya yang dapat dideteksi oleh LDR. Apabila terjadi denyutan jantung maka ada aliran darah yang melewati jari tangan yang menyebabkan intensitas cahaya yang melewati jari mengecil, hal ini menyebabkan tahanan dari LDR merabesar sehingga arus yang melewati akan berkurang. Hal ini mengakibatkan input negatif dari IC1 lebih kecil arusnya dari input positif hal ini mengakibatkan output dari IC1 bertambah dan akan mengisi Cl. = 1 nF sehingga output dari IC2 negatif dan menyebabkan input positif dari IC1 arusnya akan lebih negatif dari input negatif sampai pulse selanjutnya terukur. Disini Cl dan C2 = 1

m

.F akan bergantian mengisi dan dikosongkan. R2 dan R3 dipilih 1 MQ dan R1 = 2,2 M Q .

IC3 berfungsi sebagai penguat membalik C3 berfungsi untuk memblok sinyal DC. Pemilihan C3 bila frekuensi terendah dipilih 0,2 Hz :

1 1

C3 = --- = --- = 36 uF 2icfR4 2 x

k

x 0,2 x 22K

C3 dipilih 33 uF

Untuk V input sebesar 10 mV dan V output yang ingin

(24)

dicapai sebesar 0,45 V : R5

Vo = ----x Vi R4

= 45 Vo 0,45 V Vi 10 mV

Untuk R5 = 1 MQ maka R4 yang dipilih 22 KQ.

IC4 berfungsi sebagai detektor taraf tegangan tak membalik. Disini n ditentukan 180 yang berarti dimana noise yang diijinkan adalah 5,6 mV

+Vsat - (-Vsat) 24

n 180

0,133 V

Vh sebesar ini memenuhi syarat karena input dari IC4 ini berosilasi antarai 0,4 - 0,7 V.

Disini R6 dipilih 560 2 dan R7 = 100 KQ

U ? B

R 7

L M 7 4 i

GAMBAR 3.15

RANGKAIAN PENGUATAN

(25)

2SC1815. Transistor pertama selain untuk memperoleh tegangan + 5 V yang merupakan masukan dari TO IC 8031 juga untuk mendrive led dan buzzer.

R8 dan RIO dipilih 10 KQ, R9 = 4,7 KS2. Untuk Vied 2 V dan lied 20 mA

Vcc - Vied 1 2 - 2

R 11 = --- = --- = 500 Q

lied 20 mA

Rll dipilih 560 Q

GAMBAR 3.16 RANGKAIAN DRIVER

Dalam perencanaan rangkaian ADC ini digunakan IC

ADC dengan tipe ADC0808 dimana IC ini mengubah

besaran analog ke digital 8 bit succesive

approximation dengan waktu konversi 100 usee dengan

waktu yang secepat ini cukup untuk dapat

mengkonversikan besaran analog.

(26)

Pin AO, pin A1 dan pin A2 diberi logika "0” dengan jalan menground ketiga pin tersebut dengan demikian maka input yang dipakai adalah INO.

GAMBAR 3.1716>

RANGKAIAN ADC

Jalur data bus pada ADC0808 ini dihubungkan dengan port A dari PPI 8255. Gambar rangkaian ADC ini dapat dilihat pada gambar 3.1^. Pin E O C , pin OE, dan pin Start/ALE dihubungkan dengan pin PI.3, pin PI.4, pin PI.5 dari 8031.

^ PT Grassdia, Data Sheet Book 3, hal 45,

(27)

X2 P 0.5 P0.6 PO • 7 RESET

P2.0 P2 . i

INTO P2.2

INT 1 P2.3

TO P2 • 4

Ti P 2.5

P2.6 PJL.O P 2.7 Pi . i

Pi . 2 Pi.3

Pi . 4 PSEN

ALE/r Pi.5

Pi . 6 TXO

Pi. 7 RXO

m

A YO

B Yi

C Y2

Y3 Y4

Ci Y5

C2A Y6

C2B Y7

- <7 . t » a m i n >

G A M B A R 3.18

MINIMUM SISTEM SECARA LENGKAP

cncn

(28)

3. PERENCANAAN PERANGKAT LUNAK

Seperti telah diuraikan di atas bahwa pengaturan pengukur detak jantung dan panas tubuh dilakukan oleh minimum sistem 8031. Dalam hal ini digunakan sebuah program dengan menggunakan bahasa mesin dari mikrokontroler 8031 untuk mengendalikan semua perangkat keras yang telah d i r e n c a n a k a n .

Pertama-tama dilakukan inisialisasi 8255, inisialisasi interrupt enable. Dan inisialisasi register yang digunakan untuk suhu atau detak jantung. Kemudian port

1 dari 8031 dibaca untuk memilih proses pengukuran yang diinginkan. Diagram alir untuk pembuatan perangkat

lunak dapat dilihat pada gambar 3.19 dan gambar 3.20.

Prinsip pengukuran untuk detak jantung adalah dengan menghitung waktu timbulnya satu pulsa yang terdeteksi.

Dan waktu yang diperoleh diubah kefrekuensi pulsa selama satu menit.

Prinsip pengukuran panas adalah dengan mendeteksi

output dari ADC dan hasil dikonfersikan sehingga

kenaikan satu bit yang terdeteksi menyebabkan kenaikan

0,1 ° C .

(29)

GAMBAR 3.19

FLOWCHART ALAT MONITOR DETAK JANTUNG DAN TEMPERATUR TUBUH

(30)

GAMBAR 3.20

FLOWCAHART ALAT MONITOR DETAK JANTUNG DAN TEMPERATUR TUBUH

(31)

PORT_A EQU 2800H

PORT B EQU

PORT_C EQU

CWR EQU

HURUF_P EQU

HURUF_S EQU

9

.DATA

ORG 30H

DATAO DB 0

DATA1 DB 0

DATA2 DB 0

DATA3 DB 0

STATUS_MEASURE DB 0

BILANGAN DB 0

PENGALI1 DB 0

PENGALI2 DB 0

HASIL1 DB 0

HASIL2 DB 0

HASIL3 DB 0

SISA1 DB 0

SISA2 DB 0

SISA3 DB 0

BYTE 1 DB 0

BYTE 2 DB 0

BYTE 3 DB 0

PEMBAGI1 DB 0

PEMBAGI2 DB 0

PEMBAGI3 DB 0

BYTE1 DB 0

BYTE2 DB 0

BYTE3 DB 0

HEX2BCD1 DB 0

HEX2BCD2 DB 0

HEX2BCD3 DB 0

HEX2BCD4 DB 0

STATUS_PULSE DB 0

STATUS_PUSH DB 0

TIME1 DB 0

TIME2 DB 0

TIME3 DB 0

WAKTU1 DB 0

WAKTU2 DB 0

WAKTU3 DB 0

DATA_SUHU DB 0

DATA SUHU1 DB 0

DATA SUHU2 DB 0

HEART RATE DB 0

(32)

ORG LOKASI_PULSE DB

.CODE ORG LJMP ORG LJMP ORG LJMP

S U B R O U T I N

INT_TO: CLR

CLR PUSH PUSH MOV MOV MOV CJNE MOV CJNE MOV CJNE MOV SJMP BYPASS_DETECT: MOV

CJNE MOV MOV MOV MOV MOV MOV MOV END__INTO: MOV MOV MOV MOV MOV POP POP SETB SETB

2100H 0

OOOOH MULAI OOOBH INT_TO OOIBH INT_T 1

- S U B R O U T I N E

TR1 TRO PSW A

T L O ,#OFFH THO,#OFFH A.TIMEl

A ,# 0 H ,BYPASS_DETECT A,TIME2

A, # 0 H ,BYPASS_DETECT A,TIME3

A, # 0 H ,BYPASS_DETECT STATU S_PULSE,#OH END_INTO

A ,STATUS_PULSE A,#OH,END_INTO STATU S_PULSE,#1H A,TIME1

W A K T U 1,A A,TIME2 WAKTU2,A A,TIME3 WAKTU3,A TIMEl,#OH T I M E 2 ,#OH T I M E 3 ,#OH TL1,#0C5H T H 1 ,ttOFFH A

PSW

TRO

TR1

(33)

INTJT1:

END_INT_T1:

INC_TIME:

INITIAL_PPI:

D E L A Y : TUNDA:

TUNDA1

CLR TR1

PUSH PSW

PUSH A

MOV TL1,#0C5H MOV T H 1 ,#OFFH MOV A,TIME2

CJNE A,#3AH,INC TIME MOV A,TIME1

CJNE A,#98H,INC__TIME MOV T I M E 3 ,#OFFH MOV A,TIME1 MOV WA K T U 1,A MOV A,TIME2 MOV WAKTU2,A MOV A,TIME3 MOV W A K T U 3 ,A

MOV STATUS PULSE,#1H

POP A

POP PSW

RETI

CLR C

MOV A,TIME1

ADD A,#1H

MOV T I M E 1 ,A MOV A,TIME2 ADDC A , #OH MOV T I M E 2 ,A MOV A,TIME3 ADDC A,#OH MOV T I M E 3 ,A

POP A

POP PSW

SETB TR1 RETI

PUSH PSW

MOV DPTR,#CWR MOV A , #90H MOVX @DPTR,A

POP PSW

RET

PUSH PSW

MOV RO, ttOFFH MOV Rl,#OFFH

DEC RI

CJNE R I , #OH , TUNDA1

DEC RO

CJNE R O ,# O H ,TUNDA

POP PSW

(34)

D E L A Y 2 : D 2 :

SCAN_LAMP :

DISP_PULSE:

DISP_SUHU:

RET

PUSH PSW

MOV Rl,#OFFH

DEC R1

CJNE Rl,#OH,D2

POP PSW

RET

PUSH PSW

PUSH A

MOV A,DATA3 ADD A,#OCOH

MOV D P T R ,#PORT_C MOVX @DPTR,A

ACALL DELAY2 MOV A,DATA2 ADD A,#OAOH

MOV DPTR,#PORT C MOVX @ D P T R ,A

ACALL DELAY2 MOV A,DATA1 ADD A, #060H

MOV DPTR,#PORT_C MOVX @ D P T R ,A

ACALL DELAY2

MOV A,#OEOH

MOVX @DPTR,A MOV A,DATAO

MOV DPTR,#PORT B MOVX @DPTR,A

ACALL DELAY2

MOV A,#1H

MOV D P T R ,#PORT_B MOVX @DPTR,A

ACALL DELAY2

POP A

POP PSW

RET

PUSH PSW

PUSH A

MOV D A T A O ,tfHURUF MOV A,DATA2

ANL A,«OEFH MOV D A T A 2 ,A

POP A

POP PSW

RET

PUSH PSW

PUSH A

(35)

SCAN_KEY:

END_SCAN_KEY:

TRANSISI1:

UKUR_DENYUT:

TRANSISI2:

ORL A, #10H MOV D A T A 2 ,A

POP A

POP PSW

RET

PUSH PSW

PUSH A

MOV A,STATUS_PUSH

CJNE A ,# O H ,END_SCAN_KEY JNB P I .0,UKUR_DENYUT MOV A,STATUS MEASURE CJNE A ,# O H ,TRANSISI2 ACALL HITUNG SUHU ACALL DISP_SUHU ACALL CHECK PUSH ACALL CHECK POP ACALL SC AN _L AMP

POP A

POP PSW

RET

MOV STATUS_MEASURE,#1H MOV BYTE_l,#OCOH

MOV B Y T E _ 2 ,#27H MOV BYTE 3,#9H MOV A,WAKTU1 MOV PEMB A G I 1,A MOV A,WAKTU2 MOV PE M BAGI2,A MOV A ,WAKTU3 MOV P E M BAGI3,A ACALL DIVIDER

MOV BYTE 1,HASIL1 MOV B Y T E _ 2 ,HASIL2 MOV B Y T E _ 3 ,#QH ACALL HEX2BCD

ACALL TRANSFER_PULSE ACALL DISP PULSE SJMP END_SCAN KEY MOV A,STATUS MEASURE CJNE A , # 1 H ,TRANSISI1 ACALL HITUNG_DENYUT ACALL DISP_PULSE AJMP END SCAN KEY

MOV STATUS_MEASURE,#OH MOV A,DATA_SUHU

CJNE A ,# 0 H ,LEWATI

MOV H E X 2 B C D 3 ,#0FH

MOV H E X 2 B C D 2 , #OFH

MOV H E X 2BCD1,#0FH

(36)

ALL_OFF:

C HECK_PUSH:

ISI_DATA:

END_CHECK_PUSH:

RESET_PUSH : TEMPERATUR:

ISIJDATA1:

LEWATI1:

MOV BYTE 2,DATA SUHU2 MOV BYTE 3, #OH

ACALL HEX2BCD

ACALL TRANSFER_SUHU ACALL DISP_SUHU AJMP END_SCAN_KEY PUSH PSW

JB P I . 1,END CHECK PUSH MOV A,STATUS PUSH

CJNE A, # O H ,RESET PUSH MOV A,STATUS MEASURE CJNE A,# 1 H ,TEMPERATUR CJNE R 6 ,# O F F H ,ISI_DATA SJMP END CHECK PUSH MOV D P T R ,FLORASI_PULSE MOV A, R6

ADD A, DPL MOV D P L , A

MOV A,HEART_RATE MOVX @DPTR,A

INC R6

JNB PI.1,END CHECK PUSH

POP PSW

RET

MOV STATUS_PUSH,#OH SJMP END_CHECK PUSH CJNE R7,£0FFH,ISI_DATA1 SJMP END CHECK PUSH MOV DPTR,#LOKASI_SUHU MOV A, R7

ADD A, DPL MOV DPL, A

MOV A,DATA_SUHU CJNE A , # O H ,LEWATI1 MOV A,#OFFH

MOVX @DPTR,A

INC R7

INC DPTR

MOV A,#OFFH MOVX @ D P T R ,A

INC R7

SJMP END_CHECK_PUSH MOV A ,DATA_SUHU1 MOVX @DPTR,A

INC R7

INC DPTR

MOV A ,DATA_SUHU2 MOVX @ D P T R ,A

INC R7

(37)

CHECK J P O P :

DEC_ R 6 : BYPASS_DEC:

END_CHECK_POP:

TEMPI:

DEC_R7:

B_P_D :

LEWATI2:

PUSH PSW

JB P I . 2,END_CHECK POP MOV STATUS P U S H , #1H MOV A,STATUS MEASURE CJNE A,#1H,TEMPI

CJNE R 6 ,# O H ,DEC R6 SJMP BYPASS DEC

DEC R6

MOV DPTR,8L0KASI PULSE MOV A, R6

ADD A, DPL MOV DPL, A MOVX A,@DPTR MOV B Y T E _ 1 ,A MOV BYTE_2,#0H MOV B Y T E _ 3 ,#OH ACALL HEX2BCD

MOV D A T A 3 ,HEX2BCD1 MOV D A T A 2 ,HEX2BCD2 MOV D A T A 1 ,HEX2BCD3 ACALL DISP PULSE

JNB PI.2,END CHECK POP

POP PSW

RET

CJNE R7,#0H,DEC R7

INC R7

INC R7

DEC R7

MOV D P T R ,#LOKASI SUHU MOV A , R7

ADD A, DPL MOV DPL, A MOVX A ,@DPTR

CJNE A,#0FFH,LEWATI2 MOV H E X 2 B C D 3 , #OFH MOV H E X 2 B C D 2 ,#0FH MOV H E X 2 B C D 1 ,#0FH

DEC R7

SJMP END_CHECK POP MOV B Y T E _ 2 ,A

DEC R7

MOV D P T R ,#LOKASI SUHU MOV A, R7

ADD A,DPL

MOV DPL, A MOVX A ,@DPTR MOV B Y T E _ 1 ,A MOV BYTE_3,#0H ACALL HEX2BCD

MOV D A T A 3 ,HEX2BCD1

(38)

DIVIDER:

DIV_AGAIN:

DIV2:

KELUAR_DIV:

DIV1:

INC_HASIL1:

INC_HASIL2:

ACALL DISP_SUHU AJMP END_CHECK_POP PUSH PSW

PUSH A

MOV HASIL1,#0H MOV HA S I L 2 ,#0H MOV H A S I L 3 ,#0H

CLR C

MOV A,BYTE 1 SUBB A,PEMBAGI1 MOV R 2 , A

MOV A, BYTE_2 SUBB A,PEMBAGI2 MOV R 3 , A

MOV A,BYTE 3 SUBB A,PEMBAGI3 MOV R 4 , A

JC DIV1

MOV A , HASIL1

CJNE A,#OFFH,INC HASIL1 MOV H A S I L 1 ,#OH

MOV A,HASIL2

CJNE A , # O F F H ,INC HASIL2 MOV H A S I L 2 ,#OH

MOV A,HASIL3 INC A '

MOV H A S I L 3 ,A

CJNE R2,#OH,TRANSFORM CJNE R3,#0H,TRANSFORM CJNE R4 ,# O H ,TRANSFORM MOV SISAl,#OH

MOV S I S A 2 ,#OH MOV S I S A 3 ,SOH

POP A

POP PSW

RET

MOV A,BYTE 1 MOV SISA1,A MOV A,BYTE 2 MOV SI S A 2 ,A MOV A,BYTE_3 MOV S I S A 3 ,A SJMP KELUAR_DIV

INC A

MOV H A S I L 1 ,A SJMP DIV2

INC A

MOV H A S I L 2 ,A

SJMP DIV2

(39)

MULTIPLIER:

HEX2BCD:

MOV BYTE_3,R4 SJMP DIV_AGAIN PUSH PSW

PUSH A

MOV A,BILANGAN MOV B ,P E N GALI1

MUL AB

MOV H A S I L 1,A MOV H A S I L 2 ,B MOV A,BILANGAN MOV B,PENGALI2

MUL AB

CLR C

ADD A, HASIL2 MOV H A S I L 2 ,A

MOV A,#OH

ADDC A, B

MOV H A S I L 3 ,A

POP A

POP RET

PSW

PUSH PSW

PUSH A

MOV P E M BAGI1,#64H MOV PEMBAGI2,#OH MOV P E M B A G I 3 ,#0H ACALL DIVIDER

MOV A, HASIL1 MOV HE X 2 B C D 3 ,A MOV A,SISA1 MOV B Y T E _ 1 ,A MOV A,SISA2 MOV B Y T E _ 2 ,A MOV A,SISA3 MOV BYTE_3,A

MOV PEMBAGIl,#OAH MOV PEMBAGI2,#0H MOV PEMBAGI3,#OH ACALL DIVIDER

MOV A ,H A S I L 1 MOV H E X 2 B C D 2 ,A MOV A ,SISA1 MOV HEX2BCD1,A

POP A

POP RET

PSW

TRANSFER PULSE: PUSH PSW

(40)

END_TRANSFER:

TRANSFER_SUHU:

E_TRANSFER:

HITUNG_DENYUT:

E_HITUNG_PULSE:

HITUNG_SUHU:

MOV DATA3,HEX2BCD1 MOV D A T A 2 ,HEX2BCD2 MOV D A T A 1 ,HEX2BCD3 POP

RET

PSW

PUSH PSW

MOV A ,STATU S_MEASU RE CJNE A ,# O H ,E_TRANSFER MOV DATA3,HEX2BCD1 MOV D A T A 2 ,HEX2BCD2 MOV D A T A 1 ,HEX2BCD3 POP

RET

PSW

PUSH PSW

PUSH A

MOV A,STATUS PULSE

CJNE A,# 1 H ,E_HITUNG_PULSE MOV A,STATUS_PUSH

CJNE A ,# 0 H ,E_HITUNG PULSE MOV BYTE_l,#OCOH

MOV BYTE_2,#27H MOV BYTE_3,#9H MOV A,WA K T U 1 MOV PEMB A G I 1,A MOV A,WAKTU2 MOV PEMBAGI2,A MOV A,WAKTU3 MOV P E M B A G I 3 ,A ACALL DIVIDER

MOV B Y T E _ 1 ,HASIL1 MOV HEART_RATE,HASIL1 MOV BYTE_2,HASIL2 MOV BYTE_3,ttOH ACALL HEX2BCD

ACALL TRANSFER_PULSE MOV STATUS P U L S E ,#OH

POP A

POP RET

PSW

PUSH PSW

PUSH A

MOV A,STATUS PUSH

CJNE A-,#OH,E HITUNG SUHU ACALL BACA_SUHU

MOV A,DATA SUHU

CJNE A , # O H ,LEWAT

MOV H E X 2BCD3,#OFH

(41)

LEWAT:

T R A N S F :

E_HITUNG_SUHU:

BACA_SUHU:

DETEKSI_LAGI:

DETEKSI_HIGH:

MOV HE X 2BCD2,#0FH MOV H E X 2BCD1,#OFH AJMP TRANSF

MOV B I L ANGAN,#20

MOV PENGALI1,DATA_SUHU MOV PENGALI2,#0H

ACALL MULTIPLIER MOV B Y T E _ 1 ,HASIL1 MOV B Y T E _ 2 .HASIL2 MOV BYTE_3,HASIL3 MOV PEMBAGI1,#51 MOV PEMBAGI2,#0H MOV PEMBAGI3,#0H ACALL DIVIDER

CLR C

MOV A,HASIL1 ADD A,#OACH MOV B Y T E _ 1 ,A MOV A ,HASIL2 ADDC A,#ODH MOV B Y T E _ 2 ,A MOV BYTE 3,#0H MOV PEMBAGI1,#OAH MOV PEMBAGI2,#0H MOV PEMBAGI3,#0H ACALL DIVIDER

MOV DATA_SUHU1,HASIL1 MOV DATA SU H U 2 ,HASIL2 MOV B Y T E _ 1 ,HASIL1 MOV BYTE 2,HASIL2 MOV B Y T E _ 3 ,WOH ACALL HEX2BCD

ACALL TRANSFER SUHU

POP A

POP RET

PSW

PUSH PSW

PUSH A

SETB PI.5 ACALL DELAY2

CLR PI.5

JNB P I .3,DETEKSI_HIGH SJMP DETEKSIJLAGI

JNB P I .3,DETEKSI HIGH SETB PI.4

MOV DPTR, #PORT_A MOVX A,@DPTR

CLR PI .4

MOV DATA_SUHU,A

POP A

POP PSW

(42)

D I S P L A Y O F F : PUSH PSW MOV A,#OFFH

MOV DPTR,#PORT C MOVX @DPTR,A

MOV A, #OH

MOV D P T R ,i*PORT_B MOVX @ D P T R ,A

ACALL DELAY2

POP PSW

RET

M U L A I :

TUNGGU

BLANKING:

DETECTION_KEY:

INVISIBLE:

I N P R 0 G R A M

ACALL DELAY CLR P I . 5

CLR PI.4

MOV I E ,#8AH MOV T M O D , # 15H SETB TRO

CLR TR1

MOV T L O ,#OFFH MOV T H O ,#OFFH ACALL INITIAL_PPI MOV D A T A 1 ,#0H MOV D A T A 2 ,#0H MOV DATA3,#0H MOV WAKTU1,#OFFH MOV W A K T U 2 ,#0FFH MOV W A K T U 3 ,#OFFH

MOV STATUS_MEASURE, tf OH MOV STATUS P U L S E ,#OH MOV STATUS P U S H , #OH MOV D A T A_SUHU,#OH MOV R6,itOH

MOV R7,#0H

MOV A,STATUS_PUSH CJNE A-,#OH, BLANKING ACALL SCAN_KEY

SJMP TUNGGU MOV R 5 ,#100 ACALL SCAN KEY

DEC R5

CJNE R 5 ,# 0 H ,DETECTION_KEY MOV R 5 ,#150

ACALL DISPLAY OFF

DEC R5

CJNE R5,#0H,INVISIBLE

SJMP TUNGGU

Gambar

GAMBAR  3.10  RANGKAIAN  DOT
GAMBAR  3.1315)  RANGKAIAN  ZERO  AND  SPAN
GAMBAR  3.15  RANGKAIAN  PENGUATAN
GAMBAR  3.1716&gt;

Referensi

Dokumen terkait