SKRIPSI
DERI KURNIAWAN
060801003
DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
2011
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelas Sarjana Sains
DERI KURNIAWAN
060801003
DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
2011
Diluluskan di :
Medan, Mei 2011
Diketahui/disetujui oleh
Ketua Departemen Fisika FMIPA USU Pembimbing
Segala puji dan sukur saya ucapkan kepada Allah SWT Yang Maha Pemurah
dan Maha Penyayang, dengan karunia-Nya sehingga penulis dapat menyelesaiakan
skripsi ini.
Kepada Ibu Dra. Sudiati M.Si selaku dosen wali saya selama mengikuti
perkuliahan,terima kasih telah banyak memberikan masukan dan nasehat, dan
terimakasih kepada Ibu Dra. Yustinon MS, Dekan dan Pembantu Dekan FMIPA
Universitas Sumatera Utara, serta semua dosen dan Staf pada Departemen Fisika
FMIPA USU.
Buat Bang Rudje Azrael Sihombing, Suci Ramadhani, Julia Fadila, Eva
Panggabean, Juli Harni, Rusdalena, Mangara dan Roni terimakasih atas dukungan dan
doanya kepada penulis.Buat Bang Bryan, Kak Risma, Bang Daniel‟03 yang selalu
memberikan dorongan dan bantuan selama penulis menyelesaikan tugas akhir ini.
Akhirnya, yang tidak terlupakan dan yang teristimewa kepada Ayah Bunda
Tercinta Adli Koto dan Mainar yang telah memberikan dukungan doa, perhatian serta
cinta dan kasih sayangnya kepada penulis. Abang saya Andinal Indra Ssi, Kasferi
aswandi S.sos, dan Kakak saya Erna dewita SE, dan sahabat hatiku Atmi Nandra
Sembiring, terimakasih atas doa, dukungan serta semangat yang telah diberikan.
Semoga Allah SWT juga yang akan membalasnya. Amin ya rabbal alamin.
ABSTRAK
ABSTRACT
Halaman
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak v
Abstract vi
Daftar Isi vii
Daftar Tabel viii
Daftar Gambar ix
BAB I PENDAHULUAN
1.1 Latar Belakang 1
1.2 Batasan Masalah 2
1.3 Tujuan Penelitian 2
1.4 Manfaat Penelitian 2
1.5 Tempat Penelitian 2
1.6 Sistematika Penulisan 3
DAFTAR PUSTAKA 47
Lampiran
Halaman
Tabel 2.1 Fungsi Khusus Port 3 16
Tabel 4.1 Data hasil pengujian ADC 38
Tabel 4.2 Data Hasil Pengujian sensor 40
Tabel 4.3 Pengukuran Suhu Sebanyak 5 Kali 43
Tabel 4.4 Penyimpangan antara Tteori dengan Tterukur 44
Tabel 4.5 Data Pengukuran Temperatur terhadap Waktu 45
Halaman
Gambar 2.1 Bentuk fisik LM35 5
Gambar 2.2 Struktur Motor DC Sederhana 8
Gambar 2.3 Motor DC 8
Gambar 2.4 Medan Magnet yang Membawa Arus Mengelilingi Konduktor 9
Gambar 2.5 Medan megnet mengelilingi konduktor diantara dua kutub 9
Gambar 2.6 Reaksi garis fluks 10
Gambar 2.7 Prinsip kerja motor dc 11
Gambar 2.8 Kurva torsi vs kecepatan motor dc 12
Gambar 2.9 Blok diagram fungsional AT89S52 13
Gambar 2.10 Konfigurasi pin AT89S52 15
Gambar 2.11 Pin konfigurasi ADC 0804 20
Gambar 2.12 Relay 21
Gambar 3.1.1 Diagram blok rangkaian 22
Gambar 3.1.2 Gambar Perancangan Alat 22
Gambar 3.2 Rangkaian power supplay (PSA) 23
Gambar 3.3 Rangkaian mikrokontroller AT89S52 23
Gambar 3.4 Rangkaian ADC 25
Gambar 3.5 Rangkaian display seven segment 26
Gambar 3.6 Rangkaian pengendali heater 27
Gambar 3.7 Rangkaian pengendali motor 28
Gambar 3.8 Rangkaian keypad 30
Gambar 3.9 Diagram alir 31
Gambar 4.1 Rangkaian pengujian seven segment 34
Gambar 4.2 Rangkaian pengujian ADC 37
Gambar 4.3 Rangkaian pengujian sensor LM35 38
ABSTRAK
ABSTRACT
PENDAHULUAN
keadaan temperatur tertentu. Inkubator banyak dijumpai pada rumah sakit dan
peternakan. Pada rumah sakit, incubator berfungsi untuk menghangatkan bayi yang
baru lahir, atau bayi yang lahir prematur. Pada peternakan, inkubator ini biasanya
digunakan untuk penetas telur dan sebagai tempat dari anak ayam yang baru menetas.
tertentu. Incubator yang ada saat ini, biasanya sudah tertentu temperaturnya, tidak
dapat di ubah. Sehingga ketika pengguna membutuhkan ruangan atau box dengan
temperatur lain, maka pengguna harus menggunakan incubator yang lain. Biasanya
maka pengguna harus mengganti lampu atau elemen pemanas yang digunakan
Akan lebih berguna, jika incubator dilengkapi dengan sensor temperatur dan
control terhadap suhu, sehingga pengguna tidak perlu mengganti elemen atau lampu
temperatur pada settingan incubator, maka incubator sendiri yang akan mengontrol
Bab I Pendahuluan
Dalam bab ini berisikan mengenai latar belakang, batasan masalah,
tujuan penelitian, manfaat penelitian , tempat penelitian, dan
sistematika penulisan.
LANDASAN TEORI
2.1 SENSOR
Secara umum sensor didefenisikan sebagai alat yang mampu menangkap fenomena
fisika atau kimia kemudian mengubahnya menjadi sinyal electrik baik arus listrik
ataupun tegangan. Fenomena fisik yang mampu menstimulus sensor untuk
menghasilkan sinyal electrik meliputi temperatur, tekanan, gaya, medan magnet
cahaya, pergerakan dan sebagainya.
Sensor suhu adalah alat yang digunakan untuk merubah besaran panas menjadi
besaran listrik yang dapat dengan mudah dianalisis besarnya.
2. Waktu respon dan waktu recovery, yaitu waktu yang dibutuhkan sensor untuk
memberikan respon terhadap suhu yang dideteksinya. Semakin cepat waktu respon
dan waktu recovery maka semakin baik sensor tersebut.
Pin 1 berfungsi sebagai sumber tegangan kerja dari LM35, pin 2 atau tengah
digunakan sebagai tegangan keluaran atau Vout dengan jangkauan kerja dari 0 Volt
sampai dengan 1,5 Volt dengan tegangan operasi sensor LM35 yang dapat digunakan
antar 4 Volt sampai 30 Volt
2.2 Motor
Motor merupakan perangkat elektromagnetik yang dapat mengubah energi
listrik menjadi energi mekanik. Perubahan ini dilakukan dengan merubah tenaga
listrik menjadi magnet yang disebut sebagai elektromagnit. Sebagaimana kita ketahui
bahwa : kutub-kutub dari magnet yang senama akan tolak-menolak dan kutub-kutub
tidak senama, tarik-menarik. Maka kita dapat memperoleh gerakan jika kita
menempatkan sebuah magnet pada sebuah poros yang dapat berputar, dan magnet
2.2.1 Motor DC
Motor arus searah (motor dc) merupakan salah satu jenis motor listrik yang
bergerak dengan menggunakan arus searah. Kumparan medan pada motor dc disebut
stator (bagian yang tidak berputar) dan kumparan jangkar disebut rotor (bagian yang
berputar). Jika terjadi putaran pada kumparan jangkar dalam pada medan magnet,
maka akan timbul tegangan (GGL) yang berubah-ubah arahnya pada setiap setengah
putaran, sehingga merupakan tegangan bolak-balik. Prinsip kerja arus searah adalah
membalik phasa tegangan dari gelombang yang mempunyai nilai positif dengan
menggunakan komutator, dengan demikian arus yang berbalik arah dengan kumparan
jangkar yang berputar dalam medan magnet. Bentuk motor yang paling sederhana
memiliki kumparan satu lilitan yang bisa berputar bebas diantara kutub-kutub magnet
permanen
Catu tegangan cd dari baterai menuju lilitan melalui sikat menyentuh komutator dua
segmen yang terhubung dengan dua ujung lilitan. Kumparan satu lilitan pada gambar
diatas disebut angker dinamo(rotor). Angker dinamo (rotor) adalah sebutan untuk
komponen yang berputar diantara medan magnet.
Motor ini memiliki keunggulan dari motor ac yaitu mudah dalam mengatur
dan mengontrol kecepatan putarnya. Ada bebarapa cara untuk dapat mengendalikan
kecepatan motor dc, antara lain dengan mengatur lebar pulsa tegangan setiap detiknya
yang diberikan pada motor dc atau secara manual yaitu mengatur jumlah arus dan
tegangan yang diberikan pada motor dc. Pada penelitian ini penulis akan
mengendalikan kecepatan putar motor dc dengan mengatur tegangan yang diberikan
pada motor dc
Jika arus lewat pada suatu konduktor, timbul medan magnet disekitar konduktor. Arah
medan magnet ditentukan oleh arah aliran arus pada konduktor.
Aturan Genggaman Tangan kanan dapat dipakai untuk menentukan arah garis fluks
disekitar konduktor. Genggam konduktor dengan tangan kanan dengan jempol
mengarah ada aliran arus, maka jari-jari anda akan menunjukkan arah garis fluks.
Medan magnet hanya terjadi disekitar sebuah konduktor jika ada arus yang mengalir
pada konduktir tersebut. Pada motor listrik, konduktor berbentuk U disebut angker
dinamo.
Jika konduktor berbentuk U (angker dinamo) diletakkan diantara kutub utara dan
selatan yang kuat dalam medan magnet konduktor akan berinteraksi dengan magnet
kutub
Dari grafik terlihat hubungan antara torsi dan kecepatan untuk suatu motor dc
tertentu. dari grafik terlihat bahwa torsi berbanding terbalik dengan kecepatan putaran,
dengan kata lain terdapat tradeoff antara besar torsi yang dihasilkan motor dengan
kecepatan putaran motor. Dua karakteristik penting terlihat dari grafik yaitu:
a. Stall torque, menunjukkan titik pada grafik dimana torsi maksimum, tetapi
tidak ada putaran pada motor.
b. No load speed,,menunjukkan titik pada grafik dimana terjadi kecepatan
putaran maksimum, tetapi tidak ada beban pada motor
2.3 Mikrokontroler
Berikut ini penjelasan mengenai fungsi dari tiap-tiap pin (kaki) yang ada pada
mikrokontroler AT89S52:
a. Port 0 (Pin 39 – Pin 32)
Merupakan dual-purpose port (port yang memiliki dua kegunaan), pada disain
yang minimum (sederhana), port 0 digunakan sebagai port Input/output (I/0).
Sedangkan pada desain lebih lanjut pada perancangan dengan memori eksternal
digunakan sebagai data dan address (alamat) yang di-multiplex.
b. Port 1 (Pin 1 – Pin 8)
Port 1 berfugsi sebagai I/O biasa, pada kaki ke 6, ke 7 dan ke 8 terdapat Mos I,
Mis 0 dan Sck sebagai masukan dari ISP Programmer yang terhubung ke
komputer. Tanpa adanya port ini maka mikrokontroler tidak dapat diprogram oleh
ISP programer.
c. Port 2 (Pin 21 – Pin 28)
Merupakan dual-purpose port. Pada desain minimum digunakan sebagai port I/O
(Input/Output). Sedangkan pada desain lebih lanjut digunakan sebagai high byte
dari address (alamat)
d. Port 3 (Pin 10 – Pin 17)
Merupakan dual-porpuse port. Selain sebagai port I/O (Input/Ouput), port 3 juga
mempunyai fungsi khusus. Fungsi khusus tersebut diperlihatkan pada tabel 2.1
Instruksi-instruksi mikrokontroler
Instruksi-instruksi yang dimaksud merupakan seperangkat instruksi yang
disusun menjadi sebuah program untuk memerintahkan mikrokontroler melakukan
sesuatu pekerjaan. Sebuah instruksi selalu berisi kode operasi (op-code), kode
pengoperasian inilah yang disebut dengan bahasa mesin yang dapat dimengerti oleh
mikrokontroler. Inastruksi-instruksi yang digunakan dalam memogram suatu program
yang diisikan AT98S52 adalah instruksi bahasa pemograman assembler.
Memiliki koneksi ground yang berbeda antara tegangan digital dan analog.
Kaki 8 adalah ground analog. Pin 10 adalah ground digital.
ADC 0804 merupakan ADC yang paling familier, yang paling sering
digunakan untuk keperluan pembuatan alat-alat ukur digital, dengan karakteristik
dasar, lebar data = 8 bit, waktu konversi = 100 uS. WR : ( input ) pin ini digunakan
untuk memulai konversi tegangan analog menjadi data digital, bila WR mendapat
logika '0' maka konverter akan mengalami reset; dan ketika WR kembali pada keadaan
tinggi maka konversi segera dimulai. Bila CS atau RD diberi logika '1' maka output
2.5 Relay
Relay adalah sebuah saklar yang digunakan untuk menghubungkan atau
memutus aliran listrik yang dikontrol dengan memberikan tegangan dan arus tertentu
pada koilnya. Relay biasanya hanya mempunyai satu kumparan tetapi relay dapat
mempunyai beberapa kontak.
Pada dasarnya, konstruksi dari relay terdiri dari lilitan kawat (koil) yang
dililitkan pada inti besi lunak. Jika lilitan kawat mendapat aliran arus, inti besi lunak
kontak menghasilkan medan magnet dan menarik switch kontak. Switch kontak
mengalami gaya listrik magnet sehingga berpindah posisi ke kutub lain atau terlepas
dari kutub asalnya. Keadaan ini akan bertahan selama arus mengalir pada kumparan
relay. Dan relay akan kembali ke posisi semula (normal), bila tidak ada lagi arus yang
mengalir padanya. Posisi normal relay tergantung pada jenis relay yang digunakan.
Biasanya kontak yang akan berhubung saat relay bekerja sering disebut
Normally Open (NO), sedangkan kontak yang membuka saat relay bekerja disebut
Normally Close (NC).
Sensor
Display
Lm 35
Heather/
Relay
ADC blower
0804
Relay kipas
Mikro
AT89S52
Keypad
H-Bridge
Motor
kipas
3
M
BLO
W
HEA ER /
PIPA TER
25 CM
30 CM
MOTOR DC
35 CM
PLN
=
= 1µs
P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2
Oscillator
Frequency
1 Machine Cycle
TIDAK
TIMER
START OFF MOTOR MENIT
?
TIDAK
INPUT NILAI
YA
SUHU ?
YA
ON MOTOR
TIDAK
SIMPAN NILAI SUHU
ENTER TIDAK
? CANCEL
KOSONGKAN
DISPLAY
ON HEATER
NILAI SUHU= YA
NILAI INPUT OFF HEATER
?
TIDAK
OFF KIPAS
NILAI SUHU
> NILAI INPUT
TIDAK
YA
ON KIPAS
Tunda:
mov r7,#255 2
Tnd: mov r6,#255 2
djnz r6,$ 255 x 2 = 510 x 255 = 130.054 = 130.058 = 130.059 μd
djnz r7,loop3 2
djnz r2,loop8 2
ret 1
Jadi waktu yang dibutuhkan untuk mengerjakan program di atas adalah 130.059 μdetik
atau 0,130059 detik dan dapat dibulatkan menjadi 0,13 detik.
Jika program tersebut diisikan ke mikrokontroller AT89S52, kemudian
mikrokontroller dapat berjalan sesuai dengan program yang diisikan, maka rangkaian
minimum mikrokontroller AT89S52 telah bekerja dengan baik.
e c e d g c f a b dp
dp
d
f
Jadi konfigurasinya adalah sebagai berikut:
g
c 1 0 0 0 0 0 1 0
d
8 2 H
Dari hasil pengujian diperoleh data yang harus dikirimkan ke port serial untuk
menampilkan angka desimal adalah sebagai berikut:
1 1
sedangkan Vfaktor adalah : V faktor Vcc 5Volt 0,0196Volt
255 255
dengan data output dapat dihitung, misalnya jika Vin ADC = 0,3 Volt, maka:
2,5Volt
Output 127,55
0,0196Volt
data yang diubah ke bilangan biner hanya bilangan bulatnya saja. Berarti
bilang biner yang dihasilkan oleh tegangan input ADC sebesar 0,3 Volt adalah (0111
Pada tabel 4.1 berikut akan ditampilkan data biner yang di output-kan oleh ADC
untuk setiap variasi tegangan yang di inputkan ke ADC, yang dihitung dengan cara
yang sama seperti di atas
Untuk dapat mengetahui tingkat ketelitian alat dalam penelitian ini maka
harus dilakukan pengujian terhadap sensor. Adapun cara menguji sensor LM35 yang
digunakan dalam penelitian ini adalah dengan cara menghubungkan sensor dengan
sumber tegangan dan mengukur output yang dihasilkan oleh sensor pada saat
mendeteksi kenaikan suhu. Rangkaian pengujian sensor LM35 dapat dilihat pada
gambar 4.3 berikut ini :
Agar dapat mengukur besar Output dari sensor LM35 pada saat mendeteksi
setiap kenaikan suhu, maka output sensor dihubungkan dengan Voltmeter. Dari hasil
pengujian didapatkan hasil seperti yang ditampilkan pada tabel 4.2 berikut ini
Dari data di atas dapat dilihat bahwa pada saat mendeteksi kenaikan suhu sebesar 1
derajat celcius maka out sensor akan bertambah besar sekiatar 10mV s
d12 d 22 d 32 d n2
n 1
d12 d 22 d 32 d 42 d 52 d 62 d 72 d 82 d 92 d102
n 1
10.88
=
9
= 1.09 %
Perhitungan di atas menunjukkan bahwa standar deviasi () dari hasil
pengukuran output sensor adalah sebesar 1,09%. Dengan demikian hasil dari
pengukuran dalam penelitian ini masih dapat diterima, mengingat tingkat
penyimpangan dari hasil pengukuran output sensor masih dapat dikategorikan kecil.
45
40
35
temperatur
30
25
20
T(
15
10 Linear (T ()
5
0
0 100 200 300 400 500
waktu (sekon)
Dari data diatas suhu yang dipakai untuk penetasan telur adalah 37oC,dimana waktu
yang dibutuhkan untuk mencapai suhu tersebut selama 153 detik.
5.1 Kesimpulan
Berdasarkan perencanaan dan pembuatan alat penetas telur serta dari
permasalahan yang telah diuraikan, maka dapat diambil beberapa kesimpulan antara
lain :
1. Pada alat prototype control temperatur ini memiliki lebar 31cm, tinggi
25cm, dan panjang 35 cm, dengan heater berada diadalam alat dan
rangkaian diluar alat dengan menggunakan akrilik.
2. Waktu yang diperlukan untuk mencapai 37oC dengan menggunakan alat ini
selama 153 detik
3. Pada alat ini, pengontrolan temperatur dapat dikontrol oleh keypad dan
ditampilkan pada seven segment.
5.2 Saran
Berdasarkan kesimpulan yang telah dikemukan diatas, maka saran yang dapat
disampaikan adalah:
1. Diharapkan laporan ini dan alatnya dapat berguna dan menjadi suatu bahan
masukkan yang berguna, serta dapat dikembangkan kembali.
Jakarta.
http://abdulazizquraisy.wordpress.com/2010/05/26/sensor;lm35
http://id,wordpress.com/tag/teori-relay
http://id.r3870me.files.woedpress.com/2010/02/unbab-ii.doc
http//2a-agro-farm.blogspot.com/2010/02/penetas –telur-ayam-2010.html
clr Saklar
clr intrupt
acall tadc
setb intrupt
nop
Cek_Suhu:
jb intrupt,$
acall tadc
mov a,p2
mov b,#3
subb a,b
mov 68h,a
mov b,#100
div ab
mov 70h,a
mov a,b
mov b,#10
div ab
mov 71h,a
mov 72h,b
mov r0,70h
acall transfer
mov 73h,r1
mov r0,71h
acall transfer
mov 74h,r1
mov r0,72h
acall transfer
mov 75h,r1
Tbl_Bintang:
mov p1,#0efh
mov a,p1
cjne a,#0e7h,Cek_Suhu
Recek_Bintang:
mov p1,#0efh
mov a,p1
cjne a,#0e7h,Recek_Bintang
Utama:
clr Saklar
acall delay
mov sbuf,#Kosong
jnb ti,$
clr ti
mov sbuf,#Kosong
jnb ti,$
clr ti
mov sbuf,#Kosong
jnb ti,$
clr ti
tbl_Satu:
mov p1,#7fh
mov a,p1
cjne a,#77h,Tbl_Nol
mov 73h,#bil1
Mov 70h,#1
acall tampil
Recek_tbl_Satu:
mov a,p1
cjne a,#77h,Recek_tbl_Satu
ljmp Tbl_Satu1
Tbl_Nol:
mov p1,#0efh
mov a,p1
cjne a,#0ebh,Tbl_Satu
mov 73h,#bil0
Mov 70h,#0
acall tampil
Recek_tbl_Nol:
mov p1,#0efh
mov a,p1
cjne a,#0ebh,Recek_tbl_Nol
Ljmp Tbl_Satu1
tbl_Satu1:
acall ulang
acall delay
mov p1,#7fh
mov a,p1
cjne a,#77h,tbl_Dua1
mov 74h,#bil1
Mov 71h,#1
acall tampil1
Recek_tbl_Satu1:
mov a,p1
cjne a,#77h,Recek_tbl_Satu1
ljmp Tbl_Satu2
tbl_Dua1:
cjne a,#7bh,tbl_Tiga1
mov 74h,#bil2
Mov 71h,#2
acall tampil1
Recek_tbl_Dua1:
mov a,p1
cjne a,#7bh,Recek_tbl_Dua1
ljmp Tbl_Satu2
tbl_Tiga1:
cjne a,#7dh,Tbl_Empat1
mov 74h,#bil3
Mov 71h,#3
acall tampil1
Recek_tbl_Tiga1:
mov a,p1
cjne a,#7dh,Recek_tbl_Tiga1
ljmp Tbl_Satu2
Tbl_Empat1:
mov p1,#0bfh
mov a,p1
cjne a,#0b7h,Tbl_Lima1
Tbl_Lima1:
cjne a,#0bbh,Tbl_Enam1
mov 74h,#bil5
Mov 71h,#5
acall tampil1
Recek_tbl_Lima1:
mov a,p1
cjne a,#0bbh,Recek_tbl_Lima1
ljmp Tbl_Satu2
Tbl_Enam1:
cjne a,#0bdh,Tbl_Tujuh1
mov 74h,#bil6
Mov 71h,#6
acall tampil1
Recek_tbl_Enam1:
mov a,p1
cjne a,#0bdh,Recek_tbl_Enam1
ljmp Tbl_Satu2
Tbl_Tujuh1:
mov p1,#0dfh
mov a,p1
cjne a,#0d7h,Tbl_Delapan1
mov 74h,#bil7
Mov 71h,#7
acall tampil1
Recek_tbl_Tujuh1:
mov p1,#0dfh
mov a,p1
cjne a,#0d7h,Recek_tbl_Tujuh1
ljmp Tbl_Satu2
Tbl_Delapan1:
cjne a,#0dbh,Tbl_Sembilan1
mov 74h,#bil8
Mov 71h,#8
acall tampil1
Recek_tbl_Delapan1:
mov a,p1
cjne a,#0dbh,Recek_tbl_Delapan1
Tbl_Sembilan1:
cjne a,#0ddh,Tbl_nol1
mov 74h,#bil9
Mov 71h,#9
acall tampil1
Recek_tbl_Sembilan1:
mov a,p1
cjne a,#0ddh,Recek_tbl_Sembilan1
ljmp Tbl_Satu2
Tbl_Nol1:
mov p1,#0efh
mov a,p1
cjne a,#0ebh,Balik_Tbl_Satu1
mov 74h,#bil0
Mov 71h,#0
acall tampil1
Recek_tbl_Nol1:
mov p1,#0efh
mov a,p1
cjne a,#0ebh,Recek_tbl_Nol1
Ljmp Tbl_Satu2
Balik_Tbl_Satu1:
Ljmp Tbl_Satu1
tampil1:
mov sbuf,74h
jnb ti,$
clr ti
mov sbuf,73h
jnb ti,$
clr ti
mov sbuf,#Kosong
jnb ti,$
clr ti
ret
Tbl_Satu2:
acall ulang
acall delay
mov p1,#7fh
mov a,p1
cjne a,#77h,tbl_Dua2
mov 75h,#bil1
Mov 72h,#1
acall tampil2
Recek_tbl_Satu2:
tbl_Dua2:
cjne a,#7bh,tbl_Tiga2
mov 75h,#bil2
Mov 72h,#2
acall tampil2
Recek_tbl_Dua2:
mov a,p1
cjne a,#7bh,Recek_tbl_Dua2
ljmp Tbl_Satu3
tbl_Tiga2:
cjne a,#7dh,Tbl_Empat2
mov 75h,#bil3
Mov 72h,#3
acall tampil2
Recek_tbl_Tiga2:
mov a,p1
cjne a,#7dh,Recek_tbl_Tiga2
ljmp Tbl_Satu3
Tbl_Empat2:
mov p1,#0bfh
mov a,p1
cjne a,#0b7h,Tbl_Lima2
mov 75h,#bil4
Mov 72h,#4
acall tampil2
Recek_tbl_Empat2:
mov p1,#0bfh
mov a,p1
cjne a,#0b7h,Recek_tbl_Empat2
Ljmp Tbl_Satu3
Tbl_Lima2:
cjne a,#0bbh,Tbl_Enam2
mov 75h,#bil5
Mov 72h,#5
acall tampil2
Recek_tbl_Lima2:
mov a,p1
cjne a,#0bbh,Recek_tbl_Lima2
ljmp Tbl_Satu3
Tbl_Enam2:
cjne a,#0bdh,Tbl_Tujuh2
mov 75h,#bil6
Tbl_Tujuh2:
mov p1,#0dfh
mov a,p1
cjne a,#0d7h,Tbl_Delapan2
mov 75h,#bil7
Mov 72h,#7
acall tampil2
Recek_tbl_Tujuh2:
mov p1,#0dfh
mov a,p1
cjne a,#0d7h,Recek_tbl_Tujuh2
ljmp Tbl_Satu3
Tbl_Delapan2:
cjne a,#0dbh,Tbl_Sembilan2
mov 75h,#bil8
Mov 72h,#8
acall tampil2
Recek_tbl_Delapan2:
mov a,p1
cjne a,#0dbh,Recek_tbl_Delapan2
ljmp Tbl_Satu3
Tbl_Sembilan2:
cjne a,#0ddh,Tbl_nol2
mov 75h,#bil9
Mov 72h,#9
acall tampil2
Recek_tbl_Sembilan2:
mov a,p1
cjne a,#0ddh,Recek_tbl_Sembilan2
ljmp Tbl_Satu3
Tbl_Nol2:
mov p1,#0efh
mov a,p1
cjne a,#0ebh,Balik_Tbl_Satu2
mov 75h,#bil0
Mov 72h,#0
acall tampil2
Recek_tbl_Nol2:
mov p1,#0efh
mov a,p1
Balik_Tbl_Satu2:
Ljmp Tbl_Satu2
tampil2:
mov sbuf,75h
jnb ti,$
clr ti
mov sbuf,74h
jnb ti,$
clr ti
mov sbuf,73h
jnb ti,$
clr ti
ret
ulang:
mov p1,#0efh
mov a,p1
cjne a,#0eeh,Tdk_reset ; tombol #
reset
Ljmp Utama
Tdk_reset:
ret
Tbl_Satu3:
acall ulang
mov p1,#7fh
mov a,p1
cjne a,#7eh,Tbl_Satu3 ; tombol *
enter
setb Saklar
Simpan_Data:
mov a,70h
mov b,#100
mul ab
mov 60h,a ; nilai ratusan
mov a,71h
mov b,#10
mul ab
mov 61h,a ; nilai puluhan
mov a,72h
mov 62h,a ; Nilai satuan
mov a,60h
mov b,61h
clr intrupt
acall tadc
setb intrupt
nop
Nilai_Suhu:
jb intrupt,$
acall tadc
mov a,p2
mov b,#3
subb a,b
mov 68h,a ; hasil pembacaan ADC
mov b,#100
div ab
mov 70h,a
mov a,b
mov b,#10
div ab
mov 71h,a
mov 72h,b
mov r0,70h
acall transfer
mov 73h,r1
mov r0,71h
acall transfer
mov 74h,r1
mov r0,72h
acall transfer
mov 75h,r1
acall kirim
Tbl_Call:
mov p1,#0dfh
mov a,p1
cjne a,#0deh,No_Call
Recek_tbl_Call:
mov p1,#0dfh
mov a,p1
cjne a,#0deh,Recek_tbl_Call
Clr saklar
ljmp Pembanding
No_Call:
mov a,68h
cjne a,63h,cek_carry
Cek_Carry:
mov a,psw
anl a,#80h
cjne a,#80h,Cek_Carry1
Setb Saklar
Sjmp Nilai_Suhu
Cek_Carry1:
Clr Saklar
Sjmp Nilai_Suhu
Pembanding:
mov a,63h ; hasil pembanding
mov b,#100
div ab
mov 70h,a
mov a,b
mov b,#10
div ab
mov 71h,a
mov 72h,b
mov r0,70h
acall transfer
mov 73h,r1
mov r0,71h
acall transfer
mov 74h,r1
mov r0,72h
acall transfer
mov 75h,r1
Nilai_Pembanding:
acall kirim
Tbl_Back:
mov p1,#0bfh
mov a,p1
cjne a,#0beh,Setting_Ulang
Recek_tbl_Back:
mov p1,#0bfh
mov a,p1
cjne a,#0beh,Recek_tbl_Back
Ljmp Nilai_Suhu
Setting_Ulang:
mov p1,#0efh
transfer:
cjne r0,#0h,satu
mov r1,#bil0
ret
satu:
cjne r0,#01h,dua
mov r1,#bil1
ret
dua:
cjne r0,#02h,tiga
mov r1,#bil2
ret
tiga:
cjne r0,#03h,empat
mov r1,#bil3
ret
empat:
cjne r0,#04h,lima
mov r1,#bil4
ret
lima:
cjne r0,#05h,enam
mov r1,#bil5
ret
enam:
cjne r0,#06h,tujuh
mov r1,#bil6
ret
tujuh:
cjne r0,#07h,delapan
mov r1,#bil7
ret
delapan:
cjne r0,#08h,sembilan
mov r1,#bil8
ret
sembilan:
cjne r0,#09h,transfer
mov r1,#bil9
ret
delay:
mov r7,#5
dly:
mov r6,#255
dl:
mov r5,#255
djnz r5,$
djnz r6,dl
djnz r7,dly
ret
kirim:
mov sbuf,75h
jnb ti,$
clr ti
mov sbuf,74h
jnb ti,$
clr ti
mov sbuf,73h
jnb ti,$
clr ti
acall tunda
ret
tunda:
mov r7,#100
tnd: mov r6,#100
djnz r6,$
djnz r7,tnd
ret
tadc:
mov r7,#100
adc: mov r6,#100
djnz r6,$
Gambar Alat Prototype Kontrol Temperatur Pada Sebuah Inkubator Penetas Telur