Upload
rashifnaufan
View
265
Download
5
Embed Size (px)
DESCRIPTION
Dual Channel Digital Voltmeter adalah voltmeter dengan 2 buah channel (channel 1 dan channel 2) yang berfungsi sebagai input untuk mengukur tegangan dengan output digital pada display 7 segment untuk masing-masing channel sebagai penunjuk besar nilai tegangan yang terukur.
Citation preview
ABSTRAK
Multimeter yang selama ini digunakan masih terbatas pada sistem pembacaan
analog saja. Dengan kondisi yang demikian ini factor human error atau
subyektifitas pembacaan oleh manusia sangat dominan, maka tidak jarang bila data
yang dihasilkan tidak sesuai kondisi sebenarnya. Berkaitan dengan hal tersebut,
makalah ini menjelaskan tentang perancangan multimeter dengan tampilan display
seven segment dual channel. Secara umum multimeter dengan output display seven
segment ini menggunakan system mekanik dan peralatan yang digunakan pada
multimeter analog yang selama ini berkembang. Untuk proses penampilan secara
display pada alat ini menggunakan ADC ICL7135 sebagai pengolah data analog
menjadi digital yang kemudian dialamatkan oleh IC mikrokontroler AT89C52
sehingga dapat ditampilkan oleh IC MAX7219 berupa display ke seven segment.
1
KATA PENGANTAR
Puji syukur kehadirat Tuhan Yang Maha Esa atas segala karunia dan
kemurahan-Nya, sehingga penulis dapat menyelesaikan program dan laporan tugas
matakuliah PFSE ini.
Tugas matakuliah ini disusun untuk memenuhi kewajiban sebagai syarat tugas
praktikum PFSE pada Politeknik Negeri Bandung Jurusan Teknik Elektro Program
Studi Teknik Elektronika.
Dalam menyelesaiakan tugas ini, penulis mendapat bantuan dari berbagai pihak.
Dan penulis pun mengucapkan banyak terimaksih kepada semua yang membantu pada
proses pengerjaan tugas ini.
Penulis mengharapkan Laporan Tugas Mata kuliah PFSE ini dapat bermanfaat
bagi semua pihak yang membacanya, walaupun penulis menyadari bahwa laporan tugas
ini masih banyak kekurangan masih jauh dari kata sempurna. Karena itu segala kritik
dan saran sangat kami harapkan demi perbaikan Laporan Tugas ini.
Bandung, 16 Mei 2013
Penulis
2
BAB I
PENDAHULUAN
1.1 Latar Belakang
Saat ini semua peralatan yang menunjukan indikator terhadap suatu
besaran fisik diproduksi untuk peningkatan kualitas pelayanan dengan lebih cepat dan
baik. Secara spesifik peralatan elektronika saat ini khususnya piranti ukur masih
terbatas pada sistem pembacaan analog saja, sehingga hanya orang-orang tertentu
yang pernah mempelajari metode pengukuran saja yang dapat membacanya.
Berawal dari latar belakang ini membuat ketertarikan penulis untuk merancang alat
ukur khususnya volt dan ohm meter dengan display seven segmen dual channel,
sehingga semua orang tahu dengan mudah pembacaan yang dilakukan oleh alat
ukur hanya melalui display seven segmen dual channel. Dengan system yang
diusulkan ini dimaksudkan alat ukur Volt-Ohm meter bisa menjangkau bagi semua
kalangan masyarakat yang belum bisa membaca terhadap suatu pembacaan alat ukur
yaitu dengan menampilkan suatu hasil pengukuran dengan display seven segmen
dual channel. Multimeter dengan output display seven segmen dirancang dengan
menggunakan mekanik dan sistem dari multimeter analog yang yang sudah beredar
dipasaran sedangkan untuk menampilkannya dalam bentuk display seven segmen,
keluaran multimeter ini diolah terlebih dahulu menjadi besaran digital melalui ADC
dan diolah secara asembler melalui mikrokontroller, sedangkan untuk ouput display
digunakan IC MAX 7219. Diharapkan dengan metode yang diusulkan ini alat ini
bermanfaat bagi semua kalangan masyarakat dan mampu dikembangkan dengan
kualitas yang lebih baik.
3
1.2 Tujuan dan Manfaat
Realisasi alat ini mempunyai tujuan terhadap jangkauan yang luas untuk
mencapai semua kalangan pengguna peralatan Voltmeter digital Dual Channel
DC, bahkan tidak terbatas pada orang-orang tertentu saja yang telah mengenal
metode pengukuran listrik. Selain itu kontribusi alat ini diharapkan semakin luas
sehingga kalangan masyarakat yang belum bisa membaca alat ukur listrik bisa
mengerti dengan mudah mengenai nilai-nilai besaran listrik atau elektronika yang
diukur.
Dengan aplikasi alat ini diharapkan mempunyai manfaat yang lebih baik untuk
meningkatkan kualitas pembacaan alat ukur sehingga meminimalis kesalahan
pembacaan seseorang karena kelelahan mata dalam membaca alat ukur. Sebab tanpa
harus membacapun alat ini sudah mengeluarkan tampilan pada seven segmen yang
hasil pengukurannya bisa langsung dilihat.
1.3 Rumusan Masalah
Dalam proses penyelesaian Laporan Tugas ini dilaksanakan dalam dua
pelaksanaan kegiatan yaitu penyelesaian perancangan alat dan penyelesaian Laporan
Tugas ini. Dalam kedua proses pelaksanaan kegiatan tersebut masing-masing
permasalahan dibatasi, untuk penyelesaian perancangan alat tugas akhir permasalahan
dibatasi pada keluarnya tampilan dari d i s p l a y s e v e n s e g m e n alat ini dalam
melakukan pembacaan terhadap kalibrasi yang diberikan. Sedangkan pada proses
penyelesaian laporan permasalahan dibatasi pada analisa sederhana mengenai cara
kerja dan ketidaktepatan pembacaan alat ukur setelah melalui proses pengujian
secara kuantitatif terhadap kualitas pembacaan alat ini.
4
BAB II
KAJIAN TEORI
2.1 Voltmeter
Volt meter dibedakan menjadi dua jenis yaitu untuk pengukuran tegangan AC
dan untuk pengukuran tegangan DC. Pada kedua jenis pengukuran tegangan ini
berlaku metode pembacaan yang sama, yang membedakan adalah perlunya
dipasang sebuah dioda penyearah setengah dan filter kapasitor pada sistem
pembacaan tegangan DC. Dari sini dihasilkan tegangan DC yang nilainya sebesar
Hasil pembacaan tegangan DC tersebut kemudian dilewatkan melalui rangkaian
penggali pada sistem volt meter sehingga menghasilkan kembali nilai AC yang
diukur.
Dengan menghubungkan suatu tahanan seri terhadap kumparan putar dari
alat ukur, maka akan menghasilkan pengukuuran tegangan sebab dengan metode
ini arus akan secara langsung masuk pada kumparan putar, sehingga akan mengubah
gerakan d’Arsonal menjadi pengukur tegangan. Sehingga pada prinsipnya volt meter
mengukur beda potensial antara dua titik tegangan dalam sebuah rangkaian arus.
Sedangkan untuk menghasilkan pengukuran tegangan pada range yang lebih lebar
dilakukan dengan menambahkan tahanan pengali diatas dengan sebuah saklar
(range switch). Metode ini juga sering disebut rangkaian shunt ayrton,
pengukuran dilakukan dengan mengalikan beberapa tegangan secara paralel.
5
2.2 ADC ICL7135
Spesifikasi ICL7135
1. Membaca Nol untuk 0-V input
2. Presisi Null Deteksi Dengan Polaritas Benar di Nol
3. 1-pA arus tipikal input
4. Diferensial input benar
5. Multiplexing Binary Coded-Decimal-(BCD)output
6. Roll over Rendah Kesalahan: ± 1 Jumlah Max
6
7. Sinyal control Memungkinkan WUARTs Interfacing atauMikroprosesor
8. Auto ranging Kemampuan Dengan Over-Under-Range Sinyal
9. TTL-Kompatibel Output
10. Langsung Penggantian untuk Teledyne TSC7135,
11. Intersil ICL7135, ICL7135 Maxim, dan
12. Siliconix Si7135
13. Teknologi CMOS
Konverter ICL7135C dan TLC7135C diproduksi dengan teknologi CMOS Texas
Instruments yang sangat efisien. Ini 4 1/2-digit, dual-slope-mengintegrasikan, analog-
ke-digital converter (ADC) yang dirancang untuk menyediakan antarmuka untuk ke dua
mikroprosesor dan tampilan visual. Angka-drive output D1 melalui D4 dan
multiplexing kode-biner-desimal output B1 , B2, B4, dan B8 menyediakan sebuah
interface untuk LED atau LCD decoder / driver serta mikroprosesor.
ICL7135C dan TLC7135C menawarkan 50-ppm (satu bagian dalam 20.000)
resolusi dengan kesalahan linearitas maksimum satu hitungan.Kesalahan nol adalah
kurang dari 10 μV dan nol penyimpangan kurangdari 0,5μV / ° C. Sumber-impedansi
kesalahan diminimalisir dengan input rendah saat ini (kurangdari 10 pA). Kesalahan
roll over terbatas ± 1 hitungan. Rentang input + /-1.9999V dengan sensitivitas 100 uV.
ICL7135 menyediakan output BCD multiplexing dan sinyal strobe (STRB).
The STROBE, BUSY, RUN / HOLD, LEBIH RANGE, dan UNDER RANGE
sinyal control mendukung mikroprosesor berbasis system pengukuran. Sinyal control
juga dapat mendukung system akuisisi data jarak jauh dengan transfer data melalui
pemancar penerima asynchronous universal (UART).
ADC ICL7135C dan TLC7135C ditandai untuk operasi dari 0 ° C sampai 70 ° C.
7
2.3 Dasar Mikrokontroller AT89C52
Mikrokontroller tipe Atmel AT89S52 termasuk kedalam keluarga MCS51
merupakan suatu mikrokomputer CMOS 8-bit dengan daya rendah, kemampuan
tinggi, memiliki 8K byte Flash Programable and Erasable Read Only Memory
(PEROM). Perangkat ini dibuat menggunakan teknologi memori nonvolatile
(tidak kehilangan data bila kehilangan daya listrik). Set instruksi dan kaki
keluaran AT89S52 sesuai dengan standar industri 80C51 dan 80C52. Atmel
AT89S52 adalah mikrokomputer yang sangat bagus dan fleksibel dengan harga
yang rendah untuk banyak aplikasi sistem kendali.
Fasilitas yang terdapat dalam AT89S52 antara lain:
1. Sesuai dengan produk-produk MCS-51.
2. Terdapat memori flash yang terintegrasi dalam sistem. Dapat ditulis ulang
hingga 1000 kali.
3. Beroperasi pada frekuensi 0 sampai 24MHz.
4. Tiga tingkat kunci memori program.
5. Memiliki 256 x 8 bit RAM internal.
6. Terdapat 32 jalur masukan/keluaran terprogram.
7. Tiga pewaktu/pencacah 6-bit (untuk 52) & dua pewaktu/pencacah 16-bit
(untuk51)
8. Delapan sumber interupsi(untuk 52) & 6 untuk 51
9. Kanal serial terprogram.
10. Mode daya rendah dan mode daya mati.
8
Konfigurasi Mikrokontroller AT89C52
Mikrokontroller keluarga MCS 51 memiliki port-port yang lebih banyak (40
port I/O) dengan fungsi yang bisa saling menggantikan sehingga
mikrokontroller jenis ini menjadi sangat digemari karena hanya dalam sebuah
chip sudah bisa mengkafer untuk banyak kebutuhan. Konfigurasi dan Deskripsi
kaki-kaki mikrokomputer AT89x5x adalah sebagai berikut:
Gambar 2.12 Konfigurasi Kaki Mikrokomputer AT89C52.
Port 0
Port 0 adalah port dua arah masukan/keluaran 8-bit saluran terbuka.
Sebagai port keluaran, tiap kaki dapat menerima masukan TTL. Ketika logika 1
dimasukkan ke kaki-kaki port 0, kaki-kaki dapat digunakan sebagai masukan
impedansi tinggi. Port 0 juga dapat diatur sebagai bus alamat/data saat mengakses
program dan data dari memori luar. Pada mode ini port 0 memiliki pull-up
internal. Port 0 juga menerima byte-byte kode saat pemprograman Flash dan
mengeluarkan byte kode saat verifikasi. Pull-up eksternal diperlukan saat
memverifikasi program.
9
Port 1
Port 1 adalah port dua arah masukan/keluaran 8-bit dengan pull-up
internal. Sebagai tambahan, P1.0 dan P1.1 dapat diatur sebagai pewaktu/
pencacah-2 eksternal masukan pencacah (P1.0/T2) dan pewaktu/pencacah-2 masukan
pemicu (P1.1/T2EX). Port 1 juga menerima byte-byte alamat saat pemrograman dan
verifikasi flash.
Port 2
Port 2 adalah port masukan/keluaran dua arah 8-bit dengan internal pull- up.
Port 2 juga menerima bit-bit alamat dan beberapa sinyal kendali saat pemrograman
dan verifikasi flash.
Port 3
Port 3 adalah port masukan/keluaran dua arah 8-bit dengan internal pull- up.
Port 3 juga menyediakan fasilitas berbagai fungsi khusus dari AT89C51. Port
2 juga menerima beberapa sinyal kendali saat pemrograman dan verifikasi flash.
3
RST Masukan reset. Masukan tinggi pada kaki ini selama dua siklus instruksi
mesin akan me-reset perangkat.
ALE/ PROG Address Latch Enable (ALE) adalah pulsa keluaran untuk mengunci bit
rendah dari alamat saat mengakses memori eksternal. Kaki ini juga digunakan sebagai
masukan pulsa ( PROG ) saat pemprograman Flash. Pada operasi biasa, ALE
mengeluarkan rata-rata 1/6 kali frekuensi osilator dan mungkin digunakan sebagai
pewaktu atau denyut. Catatan, satu pulsa ALE diabaikan saat setiap pengaksesan data
memori eksternal. Jika diinginkan, operasi ALE dapat di-disable dengan menseting
bit 0 dari SFR pada lokasi 8EH. Dengan bit yang diset, ALE aktif hanya saat
menjalankan perintah MOVX dan MOVC. Selain itu, kaki ini dapat juga di-pull
10
tinggi. Setting bit ALE-disable tidak berpengaruh jika mikrokomputer pada mode
eksekusi eksternal.
PSEN Program Store Enable (PSEN) adalah strobe pembacaan program pada
memori eksternal. Ketika AT89C52 melakukan eksekusi program dari memori
eksternal, PSEN diaktifkan dua kali setiap siklus instruksi mesin, kecuali bahwa
dua aktifasi PSEN diabaikan setiap mengakses data memori eksternal.
EA / Vpp External Access Enable. EA harus dihubungkan ke GND supaya
memfungsikan perangkat untuk mengambil kode program dari lokasi memori
eksternal dimulai dari 0000H hingga FFFFH. Catatan, jika lock-bit diprogram, EA
akan dikunci secara internal pada saat reset. EA harus dihubungkan dengan Vcc untuk
eksekusi program internal. Kaki ini juga menerima tegangan yang memungkinkan
pemrograman 12 Volt saat memprogram flash bila pemrograman
12 Volt dipilih.
XTAL1 Masukan inverting (pembalikan) penguat osilator dan masukan untuk
operasi rangkaian denyut internal.
XTAL2 Keluaran dari inverting (pembalikan) penguat osilator.
11
BAB III
PERANCANGAN DIGITAL VOLTMETER DUAL CHANNEL
V – O meter digital ini dirancang untuk menampilkan pengukuran volt meter DC dan
yang ditampilkan secara digital dengan adanya tampilan display 7 segmen dual untuk
menampilkan pembacaan pengukurannya. Aplikasi ini memanfaatkan bagian dari multi meter
analog sebagai pengolah sinyal yang terukur, sinyal keluaran pembacaan data analog ini
kemudian dilewatkan pada ADC sebagai data masukan digital bagi pengolahan mikrokontroller.
Dalam mikrokontroller dilakukan pengalamatan data untuk memanggil alamat sinyal. Untuk
pembacaan tegangan dan tahanan ini dilengkapi dengan range selector sebagai pengali
pembacaan volt/ohm meter.
Gambar. Diagram blok sistem Digital Voltmeter Dual Channel
3.1 Perancangan Rangkaian Power Supply
Rangkaian Power Supply adalah rangkaian yang menghasilkan sebuah output tegangan
yang telah di tentukan dan di desain untuk men-supply beberapa keperluan, contohnya
seperti pada rangkaian Digital Voltmeter Dual Channel. Dibawai ini terdapat desai
perangcangan dari rangkaian power supply DVM.
12
Gambar. Rangkaian Skematik Power Supply DVM
Gambar. Layout PCB DVM
Perancangan Rangkaian Power Supply ini mempunya range output sebesar 5 V untuk logika digital. Output +5 VA untuk rangkaian analog dan -5 VA untuk rangkaian analog.
3.2 Perancangan Rangkaian ADC DVM
Rangkaian ADC ICL7135 adalah suatu rangkaian dimana fungsinya adalah sebagai
pengubah sinyal analog menjadi digital. ICL7135 ini untuk menginterface kan ke
mikrokontroller AT89C52. Gambar dibawah ini adalah perancangan rangkaian ADC
ICL7135.
Gambar. Rangkaian skematik ADC ICL 7135.
13
Gambar. Layout PCB ADC DVM.
3.3 Perancangan Rangkaian SISMIN Mikrokontroller AT89C52.
Rangkaian SISMIN (Sistem Minimum) Mikrokontroller AT89C52 adalah suatu
rangkaian yang terdapat komponen mikrokontroller AT89C52 yang fungsinya untuk
memproses semua sistem rangkaian DVM yang sudah di program sebelumnya dengan
bahasa assembler. Gambar dibawah ini adalah rangkaian Mikrokontroler AT89C52.
Gambar. Rangkaian SISMIN mikrokontroller AT89C52 DVM
14
Gambar. Layout PCB SISMIN AT89C52 DVM
3.4 Perancangan Display 7 segment Digilal Voltmeter dengan IC MAX7219
Rangkaian Display ini adalah tampilan dari alat ini dengan 7 segment berupa
tampilan digit numerik yang di konversikan oleh mikrokontroller dari ADC. Dibawah ini
terdapat perancangan rangkaian Display 7 segment dengan IC MAX7219.
\
Gambar. Rangkaian skematik Display IC MAX7219
15
Gambar. Layout PCB Display IC MAX 7219
3.5 Perancangan Sistem Software
Pada sistem perangkat lunak ini berisi tahap-tahap perancangan program pada
mikrokontroller AT89C51. Dimana didalam IC program ini merupakan otak dari sistem
yang ingin dijalankan pada perancangan alat Voltmeter digital ini. Untuk merancang
suatu pengalamatan program terlebih dahulu harus disusun suatu diagram alir agar
pengalamatan program terorganisir dengan baik didalamnya. Diagram alir dalam
perancangan sofware V/O meter digital ini sebagai berikut :
16
Gambar. Diagram blok sistem Digital Voltmeter Dual Channel
Pada diagram blok sistem diatas terdapat beberapa perintah yaitu adanya selektor
tegangan yang diatur agar rang pengukuaran pada tampilan display suauai yang diharapkan
memliki batas ukur maksimal 2 – 2000V. Setelah mode dipilih ADC akan membaca
besaran masukan baik tegangan maupun tahanan untuk dialamatkan pada
mikrokontroller AT89C51. Pada IC program ini dilakukan pengolahan data biner
tersebut menjadi alamat BCD untuk mengaktifkan 7 segment. Untuk melakukan
pengukuran kembali hanya dengan melpaskan probe ketika pengukuran karena berjalan
secara otomatis begitu pula polaritasnya tegangan negative atau positif.
17
BAB IV
PENGUJIAN DAN ANALISA
4.1 Pengujian Rangkaian Power Supply DVM
Header Nilai tegangan pada regulator
Tegangan rangkaian yang
sebenarnya
1
5 V 4,98 V
+5 VA +4,99 V
-5 VA -5,00 V
2
5 V 4,95 V
+5 VA +4,98 V
-5 VA -4,99V
4.2 Pengujian Pengukuran batas ukur DVM
1 Pengujian batas ukur Voltmeter
Pada sistem shunt ayrton dilakukan dengan memasang resistor pembagi
tegangan secara seri dan range pembacaan dilakukan diantara resistor-resistor tersebut
dengan metode pembagi tegangan. Pada aplikasi pembacaan tegangan (DC) ini
seharusnya dipasang menggunakan resistor R1 100Ω, R2 1kΩ, dan R3 10kΩ sedangkan
tegangan ADC ICL7135 adalah 1 volt sebagai VO voltmeter. Sehingga dengan metode
rangkaian ganda diperoleh range pembacaan volt meter
sebesar :
18
Vin = 10 Volt
Jadi berdasarkan pemilihan komponen resistor diatas dan referensi tegangan yang harus
dimasukkan pada ADC I C L 7 1 3 5 maka volt meter ini mempunyai batas ukur
pembacaan tegangan baik AC ataupun DC sebesar 10 volt untuk range rendah dan
hingga 111 volt untuk range tertingginya.
Pada tabel berikut terdapat beberapa hasil perbandingan pengukuran DVM.
Nama barang yangDiujikan
Hasil pengukuran padaVoltmeter
Hasil pengukuran pada DVM
Batere 1.5V 1.48V 0.9VAdaptor DC input 1.5 V 1.5V 1.2V
Pada table diatas dapat ditarik kesimpulan bahwa DVM mempunyai kesalahan pembacaan yang disebabkan oleh internal error.
19
4.3 Pengujian ADC ICL7135
ADC MC 14433 memiliki prinsip kerja yang sama dengan ADC jenis lain hanya
saja bentuk keluarannya bukan berupa bit-bit digital seperti pada ADC lain melainkan
berupa logika BCD dengan kode keluaran D-C-B-A dan empat keluaran lainnya
berupa scanning untuk melewatkan logika tinggi sebagai pemicu anoda 7 segment
yang akan dinyalakan. Untuk menjalankan IC ini juga diperlukan pengaturan
step konversi analog ke desimal dengan referensi kerja maksimal sebesar 1,999 volt
yang dalam hal ini diatur pada nilai referensi 1 volt.
Berbeda dengan ADC lain yang berkerja berdasarkan konversi volt/step, ADC ini
melakukan konversi analog menjadi digital melalui pengaturan clock
dengan perhitungan sebagai berikut :
Dimana 16400 merupakan Clock cycle dari range kerja EOC pada IC ADC
ICL7135 ini. Jika pada pemilihan komponen pembentuk clock pada pin 4,5 dan 6
menggunakan resistor 470K dan capasitor 0,1uF maka clock pada IC ini sebesar
20
4.4 Sistem Pengalamatan Memori Terprogram AT89C52
Mikrokontroller AT89C52 ini mendapatkan data masukan dari ADC ICL7135,
rangkaian mengeluarkan data untuk mengalamatkan 7 segment. Untuk membaca ADC
ICL7135 dapat dilakukan dengan metode pemrograman berikut :
Program dalam program Bahasa C
/*
DVM7135 Project
*/
#include "AT89X52.H"
#include "stdio.h"
sbit CLK= P1^7;
sbit DIN= P1^6;
sbit LOAD= P1^5;
sbit D5 = P0^4;
sbit P2D5 = P2^4;
int digit=5;
int digit2=5;
char sbuffer[8];
char sbuffer2[8];
unsigned char buffer[16];
char command;
short ready=0;
short ready2=0;
21
short terminal=1;
int V1=0;
int tV1,tV2;
unsigned int temp16;
unsigned long temp32=0;
sbit RUN = P1^1;
char code convert[10] = 0x7e,0x30,0x6d,0x79,0x33,0x5b,0x5f,0x70,0x7f,0x7b;
/* 7-segment pattern converting array
a
__ register data
f |__| b D7 D6 D5 D4 D3 D2 D1 D0
e |__| c.DP DP a b c d e f g
d
*/
char code prompt[] = "\n\r >";
short pol,ov;
short pol2,ov2;
#define POLARITY 0x20
#define OVERRANGE 0x40
// shift 32-bit data to 7219 serially
shift(long n)
char j;
22
CLK = LOAD = 0;
for(j=0; j<32; j++)
DIN = n&0x80000000; // send data to 7219
CLK =1; // pulse CLK
CLK =0;
n<<=1; // shift left one bit
LOAD =1; // pulse LOAD
LOAD =0;
init7219()
shift(0x0a010a01); /* intensity (middle) */
shift(0x0b070b07); /* scan limit 8 digits */
shift(0x09000900); /* no decode mode */
shift(0x0f000f00); /* disable test mode */
shift(0x0c010c01); /* normal operation */
update7219()
//init7219(); /* reinitialize everytime entering to this function */
temp32=0;
temp32 |= buffer[0];
23
temp32<<=16;
temp32|= buffer[8];
shift(0x01000100|temp32);
temp32=0;
temp32 |= buffer[1];
temp32<<=16;
temp32|= buffer[9];
shift(0x02000200|temp32);
temp32=0;
temp32 |= buffer[2];
temp32<<=16;
temp32|= buffer[10];
shift(0x03000300|temp32);
temp32=0;
temp32 |= buffer[3]|0x80; // put decimal point
temp32<<=16;
temp32|= buffer[11]|0x80;
shift(0x04000400|temp32);
temp32=0;
temp32 |= buffer[4];
temp32<<=16;
temp32|= buffer[12];
shift(0x05000500|temp32);
temp32=0;
temp32 |= buffer[5];
24
temp32<<=16;
temp32|= buffer[13];
shift(0x06000600|temp32);
temp32=0;
temp32 |= buffer[6];
temp32<<=16;
temp32|= buffer[14];
shift(0x07000700|temp32);
temp32=0;
temp32 |= buffer[7];
temp32<<=16;
temp32|= buffer[15];
shift(0x08000800|temp32);
void ex0_isr (void) interrupt 0 using 1
if(D5) digit=5;
sbuffer[digit]= P0&0x0F;
buffer[8-digit]=convert[sbuffer[digit]];
digit--;
if(digit==0) ready=1;
// read polarity, over range and under range
if(P0&POLARITY) pol=1;
else pol=0;
if(P0&OVERRANGE) ov=1;
25
else ov=0;
void ex1_isr (void) interrupt 2 using 2
if(P2D5) digit2=5;
sbuffer2[digit2]= P2&0x0F;
buffer[16-digit2]=convert[sbuffer2[digit2]];
digit2--;
if(digit2==0) ready2=1;
// read polarity, over range and under range
if(P2&POLARITY) pol2=1;
else pol2=0;
if(P2&OVERRANGE) ov2=1;
else ov2=0;
void over_display()
buffer[3]=0x7E;
buffer[4]=0x0E;
buffer[5]=0;
buffer[6]=0;
buffer[7]=0;
void over_display2()
26
buffer[11]=0x7E;
buffer[12]=0x0E;
buffer[13]=0;
buffer[14]=0;
buffer[15]=0;
void print_channel1()
// float temp;
if(ready)
// ready=0;
V1=0;
V1 = sbuffer[5]*10000;
V1 += sbuffer[4]*1000;
V1 += sbuffer[3]*100;
V1 += sbuffer[2]*10;
V1 += sbuffer[1];
//RUN=0;
// display on LED
if(pol==0) buffer[2]= 0x01; // put minus sign
else buffer[2]=0x00;
buffer[3] |=0x80; // put dot to buffer[3]
if(ov) over_display();
update7219();
27
// also send to PC via serial port 9600 8n1
if(pol==0) V1*=-1;
tV1= V1;
// printf("\n%.4f,",temp);
void print_channel2()
// float temp;
if(ready2)
// ready2=0;
V1=0;
V1 = sbuffer2[5]*10000;
V1 += sbuffer2[4]*1000;
V1 += sbuffer2[3]*100;
V1 += sbuffer2[2]*10;
V1 += sbuffer2[1];
//RUN=0;
// display on LED
if(pol2==0) buffer[10]= 0x01; // put minus sign
else buffer[10]=0x00;
buffer[11] |=0x80; // put dot to buffer[3]
28
if(ov2) over_display2();
update7219();
// also send to PC via serial port 9600 8n1
if(pol2==0) V1*=-1;
tV2= V1;
//printf("%.4f",temp);
void pause()
unsigned int i;
for(i=0; i<50000;i++)
continue;
void print_7135()
//buffer[1]=0x06;
//buffer[2]=0x4E;
//buffer[3]=0x0E;
buffer[12]=convert[7];
buffer[13]=convert[1];
buffer[14]=convert[3];
buffer[15]=convert[5];
update7219();
pause(); // wait for a while
29
void print_terminal()
if(ready&&ready2)
ready=0;
ready2=0;
printf("\n%dE-4,%dE-4",tV2,tV1);
char getchar(void)
char c;
while(!RI);
RI =0;
c = SBUF;
putchar(c); // echo to terminal
return SBUF;
void getcommand()
if (RI) command = getchar(); //
else command = -1; /* no cammand has entered */
30
void escape_command()
if(command== 0x27)
//terminal^=1;
void main (void)
SCON = 0x50; /* SCON: mode 1, 8-bit UART, enable rcvr */
TMOD |= 0x20; /* TMOD: timer 1, mode 2, 8-bit reload */
TH1 = 0xfd; /* TH1: reload value for 9600 baud */
TR1 = 1; /* TR1: timer 1 run */
TI = 1; /* TI: set TI to send first char of UART */
T2CON = 0x00; // timer 2 is used to produce 120KHz for 60Hz and 125kHz for 50Hz
T2MOD |= 0x02;
TR2 =1;
RCAP2H= 0xFF;
RCAP2L= 0xEA; // E9 for 120kHz, EA for 125kHz
IT0 = 1; // Configure interrupt 0 for falling edge on /INT0 (P3.2)
IT1 =1; // falling edge of INT1
EX0 = 1; // Enable EX0 Interrupt
EX1 = 1; // enable EX1 interrupt
31
EA = 1; // Enable Global Interrupt Flag
RUN=1; // hold
init7219();
printf("\nDual Channel Digital VoltMeter");
print_7135();
buffer[0] = convert[2];
buffer[8]= convert[1];
while(1)
getcommand();
escape_command();
print_channel1();
print_channel2();
print_terminal();
Setelah Program diatas di compile dan dijadikan format HEX file untuk di download ke
AT89C52 dengan menggunakan downloader universal SuperPro.
32
BAB V
PENUTUP
5.1 Kesimpulan
1. Perancangan alat digital voltmeter dual channel dengan tampilan 7 segment
menggunakan mikrokontroler ini telah memenuhi syarat, tetapi kemampuan membaca
nilai-nilai tegangan yang diukur, dan pada tampilan 7 segment tidak/belum sesuai dengan
yang diharapkan.
2. Pemanfaatan ADC ICL 7135 yang merupakan sebuah chip Ic 28 pin yang memiliki
kegunaan multi fungsi sebagai pengubah data analog menjadi digital sekaligus bisa
menampilkan data digitalnya dalam bentuk BCD counter yang kemudian
menampilkannya kedalam 7 segment 4 1/2 digit angka digital dan dapat menampilkan
angka hingga 1999.
3. Penggunaan Mikrokontroller khususnya AT89C52 sangat vital sekali dan penggunaannya
yang sangat luas terutama dalam perancangan yang berhubungan dengan kontrol yang
memiliki keakurasian dan keamanan yang bisa diandalkan.
4. Pemanfaatan MAX7219, setiap chip drive 8-digit 7-sement LED. Data serial keluar dari
MAX7219 1 terkait dengan data dari MAX7219 2. Konfigurasi ini membentuk register
32-bit pergeseran (byte kontrol dan byte data 16-bit kata).
33
5.2 Saran
Dari kesimpulan yang dapat ditarik pada perancangan alat ini maka penulis
mempunyai saran sebagai berikut :
1. Dengan perancangan alat ini dapat memberikan kontribusi bagi
perkembangannya dan mampu menciptakan teknologi yang lebih baru
2. Aplikasi alat ini lebih tepat jika digunakan untuk pengukuran yang lebih
sempurna dan teliti dalam ketepatan pembacaan, Sehingga dengan bantuan alat
ini dapat diketahui nilai tegangan atau resistor dengan cepat dan akurasi pembacaan
yang lebih baik.
3. Untuk aplikasi yang lebih luas dan lebih spesifik alat ini dapat dikembangkan
dengan menambah range dalam pengukuran dengan tujuan agar dapat
mengukur tegangan yang lebih besar. Misalnya untuk mengukur tegangan yang
mencapai nilai kilo ataupun mega volt.
4. Meskipun alat ini belum memenuhi nilai presisi dari kalibrasi tegangan voltmeter namun
alat ini bisa lebih di kembangkan lagi dan di sempurnakan kembali agar mendapatkan
hasil yang diharapkan dan di manfaatkan oleh masyarakat.
34
DAFTAR PUSTAKA
Johnson David E., Johnson Johnny R., Hilburn John L., Scott Peter D., Electric Circuit
Analysis, Third Edition, Prentice Hall, Inc., 1997
Malvino, Albert Paul. Prinsip– Prinsip Elektronika, diterjemahkan oleh Joko Santoso, Jilid 1 dan 2.
jakarta, Salemba Teknika, 2003.
Budiman M. Dodi,ST.,MT.,”Perancangan Sistem Digital I & II. Bandung, 2009.
http://www.kmitl.ac.th/~kswichit/DVM7135/DVM7135.htm
H tt p ://ww w. da tas hee t 4 U.co m
H t t p :// ww w . A l l D a t a s hee t .Co m
35