11. ADC DAC dan Aplikasinya.pdf
-
Upload
rana-zaini-fathiyana -
Category
Documents
-
view
79 -
download
10
Transcript of 11. ADC DAC dan Aplikasinya.pdf
1
|
ADC DAC DAN APLIKASINYA
I. TUJUAN PRAKTIKUM
1. Mahasiswa dapat mengukur besar output tegangan DAC dan mengukur besarnya data
output digital dari ADC
2. Mahasiswa dapat membuat sebuah program Pembangkit Gelombang dan Pulsa
menggunakan Mikroprosesor Intel 8085
II. LANDASAN TEORI
Pada zaman yang sudah serba komputer seperti sekarang ini, pada umumnya mayoritas
perangkat elektronika sudah dapat berkomunikasi dengan perangkat komputer yang
pengolahannya sudah secara digital. Karena pada umumnya merupakan sinyal analog maka
dibutuhkan sebuah pengubah data dari analog ke digital dan begitu sebaliknya.
Analog to Digital Converter/ Digital to Analog Converter ialah suatu rangkaian yang
melakukan konversi data analog menjadi data digital yang setara begitu sebaliknya. Spesifikasi
analog to digital converter yang utama adalah ketelitian absolut dan relatif, linieritas, resolusi,
kecepatan konversi, stabilitas.
ADC Bipolar
Y1
Y2
Y3
Y4
Y5
Y6
Y7
Y0
V REF (+)
V in ANALOG ADC 8 BIT
MONOPOLAR
V REF (-)
a. Jumlah step tergantung dari jumlah bit. Misal kita gunakan 8 bit. Maka 28 โ 1 = 255.
Namun dibagi menjadi dua bagian ke step (+) dan ke step (-), karena menggunakan
2
|
bilangan Kโ2 maka step ke arah negatif lebih satu yaitu โ 128 ke arah negatif dan + 127
ke arah positif.
b. Besar tegangan per step.
โV = ๐ ๐ ๐ธ๐น
๐ฝ๐ข๐๐๐โ ๐๐ก๐๐ =
20 ๐
255= 0,7843 ๐
c. Menentukan output ADC. Jika V in (analog) = 6, 7 Volt maka
Output ADC = ๐๐๐
โ๐/๐ ๐ก๐๐=
6,7 ๐
0,07843 = 85, 54 โ 86 (10) = 55 (16)
jadi output ADC = 0 1 0 1 0 1 0 1 (Kโ2).
Untuk membangkitkan gelombang, kita harus memperhatikan tipe DAC yang kita
gunakan, dengan DAC pada midikom, berarti apabila kita ingin membangkitkan tegangan
sebesar 8 volt, maka data biner yang dimasukkan adalah
8 / 0,08 = 100 (10) = 64 (16).
DAC pada midikom dapat diakses melalui port 50, tetapi port 50 pada midikom
terhubung dengan LED. Selain Port 50 terdapat pula port-port dengan fungsi ganda lainnya
diantaranya :
Maka, untuk dapat mengakses DAC, kita perlu mengalihkan sambungan port-port pada
midikom ke DAC maupun ADC. Caranya adalah memprogram chip PPI yang ada pada
midikom dengan memasukkan beberapa instruksi di bawah ini.
START
A โ A2PORT 53 โ A
A โ 08PORT 53 โ A
A โ 04PORT 52 โ A
STOP
Port 50 = Indikator LED = DAC
Port 51 = Saklar = ADC
Port 50 = Port A
Port 51 = Port B
Port 52 = Port C
Port 53 = Command Register
MVI A, A2
OUT 53
MVI A, 08
OUT 53
MVI A, 04
OUT 52
3
|
Setelah instruksi-instruksi tersebut dijalankan, maka DAC dapat kita akses melalui port
50 dan ADC melalui port 51.
III. ALAT DAN KOMPONEN
1. Midikom
2. Monitor
3. Keyboard
4. Osiloskop
5. Potensiometer untuk AN IN dan AN OUT
IV. LANGKAH PERCOBAAN DAN HASIL PENGAMATAN
1. Pengukuran dan perhitungan pada ADC (Analog to Digital Converter) seperti pada
tabel di bawah ini :
V in (Volt)
OUT ADC
Perhitungan Pengukuran
0 00 FF
+ 1, 5 V 13 12
+ 4,7 V 3A 3B
+ 8,4 V 68 69
- 8,4 V 96 95
-4,7 V C5 C4
- 1,5 V ED EC
+ 10 V 7D 7E
- 10 V 83 80
- 8 V 9C 99
4
|
Langkah kerja :
a. Hubungkan Potensiometer ke Trainer Midikom, kaki potensiometer 1 terhubung ke +
15 V pada trainer midikom, kaki potensiometer 3 terhubung ke โ 15 V pada trainer
midikom dan kaki kedua terhubung ke port AN IN pada Trainer Midikom
b. Sebelum menyalakan monitor kita atur terlebih dahulu tegangan input (V IN) yang akan
diberikan pada ADC
c. Putar potensiometer hingga menunjukan besar tegangan yang akan di konversi ke
digital
d. Hidupkan monitor, dan rancang program seperti flowchart di bawah ini :
Listing Program :
Adr. Hex. Code Mnemonic Penjelasan
9000 3E A2 MVI A, A2 Untuk mengakses ADC, kita perlu mengalihkan sambungan port-port pada midikom ke ADC. Caranya adalah memprogram chip PPI yang ada pada midikom dengan memasukkan beberapa instruksi
9002 D3 53 OUT 53
9004 3E 08 MVI A, 08
9006 D3 53 OUT 53
9008 3E 04 MVI A, 04
900A D3 52 OUT 52
900C DB 51 IN 51 Output ADC dapat dilihat pada Register A
900E CF RST Program terhenti
START
A โ A2PORT 53 โ A
A โ 08PORT 53 โ A
A โ 04PORT 52 โ AA ร PORT 51
STOP
Untuk mengakses ADC,
perlu mengalihkan
sambungan port-port
pada midikom ke ADC.
Caranya adalah
memprogram chip PPI
yang ada pada midikom. Output ADC dapat
dilihat pada Register A
dan Program terhenti
5
|
2. Pengukuran dan perhitungan pada DAC (Digital to Analog Converter) seperti pada
tabel di bawah ini :
INPUT DAC
OUT DAC
AN OUT (V) Perhitungan
1111 0111 - 0,86 - 0,72
0000 1111 1,09 1,2
0101 0101 6,8 6,66
1010 1010 - 7,1 - 6,88
1100 1100 - 4,3 - 4,16
0011 0011 4,0 4,08
0100 0100 5,45 5,4
1000 0000 - 10,6 - 10,24
0111 1111 10,27 10,16
0011 1111 5,02 5,04
1110 0011 - 2,5 - 2,32
1001 1100 - 8,63 - 8
Langkah kerja :
a. Hubungkan Potensiometer ke Trainer Midikom, kaki potensiometer 1 terhubung ke +
15 V pada trainer midikom, kaki potensiometer 3 terhubung ke โ 15 V pada trainer
midikom dan kaki kedua terhubung ke port AN OUT pada Trainer Midikom
b. Hidupkan monitor dan rancang program seperti flowchart di bawah ini dan isikan pada
register B data digital yang akan dikonversikan ke analog
6
|
c. Untuk menguji output dari DAC maka hubungkan Probe Merah dari Volt meter ke port
AN OUT dan Probe Hitam pada Port Ground
3. Membangkitkan gelombang persegi dengan Vp = 5 V dan periode 4 ms seperti gambar
di bawah ini.
0 2 6
5V
Teg (V)
12t(ms)
4 8 10
Pertama, kita hitung dahulu berapakah input DAC jika V Analog = 5 V
Listing Program :
Adr. Hex. Code Mnemonic Penjelasan
9100 3E A2 MVI A, A2 Untuk mengakses DAC, kita perlu mengalihkan sambungan port-port pada midikom ke DAC. Caranya adalah memprogram chip PPI yang ada pada midikom dengan memasukkan beberapa instruksi
9102 D3 53 OUT 53
9104 3E 08 MVI A, 08
9106 D3 53 OUT 53
9108 3E 04 MVI A, 04
910A D3 52 OUT 52
910C 78 MOV A, B Output DAC dapat dilihat dengan menghubungkan probe pada volt meter ke port AN OUT.
910D D3 50 OUT 50
910F CF RST Program terhenti
START
A โ A2PORT 53 โ A
A โ 08PORT 53 โ A
A โ 04PORT 52 โ A
A ร BPORT 50 ร A
STOP
Output DAC dapat
dilihat dengan
menghubungkan probe
pada volt meter ke port
AN OUT.
Untuk mengakses DAC,
perlu mengalihkan
sambungan port-port
pada midikom ke DAC.
Caranya adalah
memprogram chip PPI
yang ada pada midikom.
7
|
โV = ๐ ๐ ๐ธ๐น
๐ฝ๐ข๐๐๐โ ๐๐ก๐๐ =
20 ๐
255= 0,08 ๐
๐๐๐
โ๐/๐ ๐ก๐๐=
5 ๐
0,08= 62,5 โ 63 (10) = 3F (16)
Maka masukkan dahulu 3F ke DAC kemudian delay selama 2 ms dan masukkan 00
untuk setengah perioda berikutnya ke DAC dan delay selama 2 ms, kemudian delay lagi selama
2 ms dan kembali lagi ke awal.
Flowchart dan programnya adalah sebagai berikut :
STARTSTART
A โ A2PORT 53 โ A
A โ 08PORT 53 โ A
A โ 04PORT 52 โ A
A โ A2PORT 53 โ A
A โ 08PORT 53 โ A
A โ 04PORT 52 โ A
A โ 3FPORT 50 โ A
A โ 3FPORT 50 โ A
DE โ 2CALL FFA
A โ00PORT 50 โ A
A โ00PORT 50 โ A
DE โ 2CALL FFA
Untuk mengakses ADC,
perlu mengalihkan
sambungan port-port
pada midikom ke ADC.
Caranya adalah
memprogram chip PPI
yang ada pada midikom.
Batas tegangan puncak =
5V dalam hexadesimal
Subrutin untuk delay
selama 2 ms
Subrutin untuk delay
selama 2 ms
Batas tegangan bawah =
0V dalam hexadesimal
8
|
4. Membangkitkan gelombang persegi dengan Vpp = 16 V dan periode 20 ยตs seperti
gambar di bawah ini.
Listing Program :
Adr. Hex. Code Mnemonic Penjelasan
9300 3E A2 MVI A, A2 Untuk mengakses ADC, kita perlu mengalihkan sambungan port-port pada midikom ke ADC. Caranya adalah memprogram chip PPI yang ada pada midikom dengan memasukkan beberapa instruksi
9302 D3 53 OUT 53
9304 3E 08 MVI A, 08
9306 D3 53 OUT 53
9308 3E 04 MVI A, 04
930A D3 52 OUT 52
930C 3E 3F MVI A, 3F Batas tegangan puncak = 5V dalam
hexadesimal 930E D3 50 OUT 50
9310 CD FA0F LXI D, 0002 Subrutin untuk delay selama 2 ms
9313 C3 0C93 CALL 0FFA
9316 3E 00 MVI A, 00 Batas tegangan bawah = 0V dalam
hexadesimal
9318 D3 50 OUT 50
931A 11 0200 LXI D, 0002 Subrutin untuk delay selama 2 ms
931D CD FA0F CALL 0FFA
9320 C3 0C93 JMP 930C Loncat tanpa syarat ke alamat 930C untuk membangkitkan gelombang perioda selanjutnya
OUTPUT PROGRAM :
Saat kita Go program pada $9300 maka akan tampil gelombang seperti berikut :
9
|
0 10 20 30 40
+8V
Teg (V)
50 60t(ยตs)
-8V
Tx
Pertama, kita hitung dahulu berapakah input DAC jika V Analog = +8 V
โV = ๐ ๐ ๐ธ๐น
๐ฝ๐ข๐๐๐โ ๐๐ก๐๐ =
20 ๐
255= 0,08 ๐
๐๐๐
โ๐/๐ ๐ก๐๐=
8 ๐
0,08=102 (10) = 66 (16)
Jika V Analog = -8 V
๐๐๐
โ๐/๐ ๐ก๐๐=
โ8 ๐
0,08=-102 (10) = 99(Kโ15) = 9A (Kโ16)
Tx = 10 ๐๐
0,326 ๐๐ = 30,67 Tc โ 31 Tc
Maka masukkan dahulu 66 ke DAC kemudian delay dan masukkan 9A untuk setengah
perioda berikutnya ke DAC dan delay yang kita rancang sendiri dengan memperhitungkan
jumlah Tc dari setiap instruksinya. Berikut flowchartnya.
STARTSTART
A โ A2PORT 53 โ A
A โ 08PORT 53 โ A
A โ 04PORT 52 โ A
A โ A2PORT 53 โ A
A โ 08PORT 53 โ A
A โ 04PORT 52 โ A
A โ 66PORT 50 โ A
A โ 66PORT 50 โ A
DELAY X
A โ9APORT 50 โ A
A โ9APORT 50 โ A
DELAY Y
7 Tc10 Tc
x Tc
10 Tc
7 Tc
yTc
10 Tc
10
|
Karena antara Delay X dan Delay Y memiliki jumlah Tc yang berbeda maka kita
sisipkan instruksi agar jumlah Tc antara kedua delaynya sama ini dimaksudkan untuk
mempermudah dalam membuat subrutin delay yang sesuai dengan jumlah Tc dari setiap
instruksinya. Maka kita sisipkan 10 Tc pada delay X maka kita hanya perlu menghitung Delay
nya (x =y).
7 + 10 + 10 + 10 + x = 31 Tc
x = 4Tc y = 4Tc
Karena didapat Tc sebesar 4Tc untuk delay 20 ยตs kita tidak perlu merancang subrutin
delay hanya perlu menyisipkan kembali instruksi dengan Tc sebesar 4Tc. Maka didapat
flowchart akhir sebagai berikut :
STARTSTART
A โ A2PORT 53 โ A
A โ 08PORT 53 โ A
A โ 04PORT 52 โ A
A โ A2PORT 53 โ A
A โ 08PORT 53 โ A
A โ 04PORT 52 โ A
A โ 66PORT 50 ร APORT 50 โ A
A โ 66PORT 50 ร APORT 50 โ A
NOP
A โ9APORT 50 โ A
A โ9APORT 50 โ A
NOP
Listing Program :
Adr. Hex. Code Mnemonic Penjelasan
9400 3E A2 MVI A, A2 Untuk mengakses ADC, kita perlu mengalihkan sambungan port-port pada midikom ke ADC. Caranya adalah memprogram chip PPI yang ada pada midikom dengan memasukkan beberapa instruksi
9402 D3 53 OUT 53
9404 3E 08 MVI A, 08
9406 D3 53 OUT 53
9408 3E 04 MVI A, 04
940A D3 52 OUT 52
940C 3E 66 MVI A, 66 Batas tegangan puncak atas = 8V dalam
hexadesimal 940E D3 50 OUT 50
9410 D3 50 OUT 50 Subrutin untuk delay selama 20 ๐s
9412 00 NOP
Untuk mengakses ADC,
perlu mengalihkan
sambungan port-port
pada midikom ke ADC.
Caranya adalah
memprogram chip PPI
yang ada pada midikom.
Batas tegangan puncak
atas = 8V dalam
hexadesimal Subrutin untuk delay
selama 20 ๐s
Batas tegangan puncak
bawah = - 8V dalam
hexadesimal
Subrutin untuk delay
selama 20 ๐s
11
|
5. Membangkitkan gelombang persegi dengan Vpp = 16 V dan periode 2 ms seperti
gambar di bawah ini.
0 1 2 3 4
+8V
Teg (V)
5 6t(ms)
-8V
Tx
Pertama, kita hitung dahulu berapakah input DAC jika V Analog = +8 V
โV = ๐ ๐ ๐ธ๐น
๐ฝ๐ข๐๐๐โ ๐๐ก๐๐ =
20 ๐
255= 0,08 ๐
Listing Program :
Adr. Hex. Code Mnemonic Penjelasan
9413 3E 9A MVI A, 9A Batas tegangan puncak bawah = - 8V
dalam hexadesimal 9415 D3 50 OUT 50
9417 00 NOP Subrutin untuk delay selama 20 ๐s
9418 C3 0C94 JMP 940C Loncat tanpa syarat ke alamat 930C untuk membangkitkan gelombang perioda selanjutnya
OUTPUT PROGRAM :
Saat kita Go program pada $9400 maka akan tampil gelombang seperti berikut :
12
|
๐๐๐
โ๐/๐ ๐ก๐๐=
8 ๐
0,08=102 (10) = 66 (16)
Jika V Analog = -8 V
๐๐๐
โ๐/๐ ๐ก๐๐=
โ8 ๐
0,08=-102 (10) = 99(Kโ15) = 9A (Kโ16)
Maka masukkan dahulu 66 ke DAC kemudian delay dan masukkan 9A untuk setengah
perioda berikutnya ke DAC dan delay yang kita gunakan menggunakan subrutin delay pada
trainer midikom.
STARTSTART
A โ A2PORT 53 โ A
A โ 08PORT 53 โ A
A โ 04PORT 52 โ A
A โ A2PORT 53 โ A
A โ 08PORT 53 โ A
A โ 04PORT 52 โ A
A โ 66PORT 50 โ A
A โ 66PORT 50 โ A
DELAY 2 ms
A โ9APORT 50 โ A
A โ9APORT 50 โ A
DELAY 2 ms
Listing Program :
Adr. Hex. Code Mnemonic Penjelasan
9400 3E A2 MVI A, A2 Untuk mengakses ADC, kita perlu mengalihkan sambungan port-port pada midikom ke ADC. Caranya adalah memprogram chip PPI yang ada pada midikom dengan memasukkan beberapa instruksi
9402 D3 53 OUT 53
9404 3E 08 MVI A, 08
9406 D3 53 OUT 53
9408 3E 04 MVI A, 04
940A D3 52 OUT 52
940C 3E 66 MVI A, 66 Batas tegangan puncak atas = 8V dalam
hexadesimal 940E D3 50 OUT 50
9410 D3 50 OUT 50 Subrutin untuk delay selama 2 ms
9412 11 0200 LXI D, 0002
9415 CD FA0F CALL 0FFA
Untuk mengakses ADC,
perlu mengalihkan
sambungan port-port
pada midikom ke ADC.
Caranya adalah
memprogram chip PPI
yang ada pada midikom.
Batas tegangan puncak
atas = 8V dalam
hexadesimal Subrutin untuk delay
selama 2 ms
Batas tegangan puncak
bawah = - 8V dalam
hexadesimal
Subrutin untuk delay
selama 2 ms
13
|
6. Membangkitkan gelombang segitiga dengan Vp = 7 V dan periode 15 ms seperti
gambar di bawah ini.
0 15 30 45
7V
Teg (V)
t(ms)
Pertama, kita hitung dahulu berapakah input DAC jika V Analog = 7 V
โV = ๐ ๐ ๐ธ๐น
๐ฝ๐ข๐๐๐โ ๐๐ก๐๐ =
20 ๐
255= 0,08 ๐
๐๐๐
โ๐/๐ ๐ก๐๐=
7 ๐
0,08=88 (10) = 58 (16)
Tx = 15 ๐๐
0,326 ๐๐ = 46012, 26 Tc
Listing Program :
Adr. Hex. Code Mnemonic Penjelasan
9418 3E 9A MVI A, 9A Batas tegangan puncak bawah = - 8V
dalam hexadesimal 941A D3 50 OUT 50
941C 11 0200 LXI D, 0002 Subrutin untuk delay selama 2 ms
941F CD FA0F CALL 0FFA
9422 C3 0C94 JMP 940C Loncat tanpa syarat ke alamat 930C untuk membangkitkan gelombang perioda selanjutnya
OUTPUT PROGRAM :
Saat kita Go program pada $9400 maka akan tampil gelombang seperti berikut :
14
|
โt = 46012,26
88= 522,8 ๐๐ โ 523 Tc
Maka masukkan dahulu 00 ke DAC sebagai titik awal mulai gelombang kemudian
delay dan bandingkan dengan 59 gar puncak gelombang mencapai 58 dan kembali lagi ke awal.
Flowchart dan programnya adalah sebagai berikut.
STARTSTART
A โ A2PORT 53 โ A
A โ 08PORT 53 โ A
A โ 04PORT 52 โ A
A โ A2PORT 53 โ A
A โ 08PORT 53 โ A
A โ 04PORT 52 โ A
A โ 00A โ 00
PORT 50 ร APORT 50 ร A
DELAY P
A ร A + 1A : 59
A ร A + 1A : 59 7 Tc
10 Tc
p Tc
10 Tc
4 Tc
Z = 0Y
N
Setelah didapat flowchart kita perlu merancang subrutin delay nya, sebagai berikut:
P = 523 Tc โ (10+4+7+10) Tc
= 492 Tc
Delay 1 R = 14 n + 32
492 Tc = 14 n + 32
n = 32,8 โ 32
14 (32) + 32 = 480 Tc
Selisih 492 โ 480 = 12 Tc
15
|
Maka kita masukan n = 32 = 20 (16) lalu kita sisipkan 12 instruksi menggunakan 3
buah NOP.
Berikut flowchart dari delay untuk membangkitkan gelombang segitiga :
DELAYDELAY
B โ 20B โ 20
RETRET
B โ B โ 1B โ B โ 1
Z = 0Z = 0
NOPNOPNOP
NOPNOPNOP
Y
N
Listing Program :
Adr. Hex. Code Mnemonic Penjelasan
9500 3E A2 MVI A, A2 Untuk mengakses ADC, kita perlu mengalihkan sambungan port-port pada midikom ke ADC. Caranya adalah memprogram chip PPI yang ada pada midikom dengan memasukkan beberapa instruksi
9502 D3 53 OUT 53
9504 3E 08 MVI A, 08
9506 D3 53 OUT 53
9508 3E 04 MVI A, 04
950A D3 52 OUT 52
950C 3E 00 MVI A, 00 Awal gelombang = 00
950E D3 50 OUT 50
9510 CD 00A2 CALL A200 Subrutin untuk delay selama 15 ms
9513 3C INR A Proses Quantizing sebanyak 58 step maka dibandingkan dengan 59 dalam hexa 9514 FE 59 CPI 59
9516 C2 0E95 JNZ 950E Terus mengulang hingga 58 kali
9519 C3 0C95 JMP 950C Loncat tanpa syarat ke alamat 930C untuk membangkitkan gelombang perioda selanjutnya
Adr. Hex. Code Mnemonic Penjelasan
A200 06 20 MVI B, 20 N yang didapat dari perhitungan Tc 20 (16)
= 32 (10)
A202 05 DCR B Counter hingga terus mengurangkan dengan 1 hingga Z tidak sama dengan 0 A203 C2 02A2 JNZ A202
A206 00 NOP Instruksi sisipan untuk menambahkan Tc dari delay 1 register untuk perioda 15 ms A207 00 NOP
A208 00 NOP
A209 C9 RET
16
|
7. Membangkitkan gelombang segitiga dengan Vp = 6 V dan periode 24 ms seperti
gambar di bawah ini.
0 12 24 36
6V
Teg (V)
t(ms)48
Pertama, kita hitung dahulu berapakah input DAC jika V Analog = 6 V
โV = ๐ ๐ ๐ธ๐น
๐ฝ๐ข๐๐๐โ ๐๐ก๐๐ =
20 ๐
255= 0,08 ๐
๐๐๐
โ๐/๐ ๐ก๐๐=
6 ๐
0,08=75 (10) = 4B (16)
Tx = 12 ๐๐
0,326 ๐๐ = 36809,81 Tc
โt = 36809,81
75= 490,79 ๐๐ โ 491 Tc
OUTPUT PROGRAM :
Saat kita Go program pada $9500 maka akan tampil gelombang seperti berikut :
17
|
STARTSTART
A โ A2PORT 53 โ A
A โ 08PORT 53 โ A
A โ 04PORT 52 โ A
A โ A2PORT 53 โ A
A โ 08PORT 53 โ A
A โ 04PORT 52 โ A
A โ 00A โ 00
DELAY r
PORT 50 โ APORT 50 โ A
A โ A + 1A รท 4B
A โ A + 1A รท 4B
Z = 0Z = 0
A โ 4BA โ 4B
DELAY p
PORT 50 โ APORT 50 โ A
A โ A - 1A รท 00
A โ A - 1A รท 00
Z = 0Z = 0
10 Tc
4 Tc7 Tc
10 TcY
N
Y
N
R Tc
Setelah didapat flowchart kita perlu merancang subrutin delay nya, karena delap p dan
delay r memiliki jumlah Tc yang sama maka kita hanya perlu mencari salah satu dari
keduanya, sebagai berikut:
r = 491 Tc โ (10+4+7+10) Tc
= 460 Tc
Delay 1 R = 14 n + 32
18
|
460 Tc = 14 n + 32
n = 30,57 โ 30
14 (30) + 32 = 452 Tc
Selisih 460 โ 452 = 8 Tc
Maka kita masukan n = 30 = 1E(16) lalu kita sisipkan 8 instruksi menggunakan 2 buah
NOP.
Berikut flowchart dari delay untuk membangkitkan gelombang segitiga :
DELAYDELAY
B โ 1EB โ 1E
RETRET
B โ B โ 1B โ B โ 1
Z = 0Z = 0
NOPNOP
NOPNOP
Y
N
Listing Program :
Adr. Hex. Code Mnemonic Penjelasan
9600 3E A2 MVI A, A2 Untuk mengakses ADC, kita perlu mengalihkan sambungan port-port pada midikom ke ADC. Caranya adalah memprogram chip PPI yang ada pada midikom dengan memasukkan beberapa instruksi
9602 D3 53 OUT 53
9604 3E 08 MVI A, 08
9606 D3 53 OUT 53
9608 3E 04 MVI A, 04
960A D3 52 OUT 52
960C 3E 00 MVI A, 00 Awal gelombang = 00
960E D3 50 OUT 50
9610 CD 00A3 CALL A300 Subrutin untuk delay selama 24 ms
9613 3C INR A Proses Quantizing sebanyak 4A step maka dibandingkan dengan 4B dalam hexa. Maka akan membentuk garis miring ke atas hingga batas 4A (16)
9614 FE 4B CPI 4B
9616 C2 0E95 JNZ 960E Terus mengulang hingga 75 step
9619 3E 4B MVI A, 4B Tegangan puncak atas = 75 step = 4B (16)
19
|
8. Membangkitkan gelombang segitiga dengan Vpp = 13 V dan periode 20 ms seperti
gambar di bawah ini.
0
+6,5 V
Teg (V)
t(ms)
- 6,5 V
10 20 30 40
961B D3 50 0UT 50 Subrutin untuk delay selama 24 ms. Dikurangi satu karena gelombang turun ke bawah dan dibandingkan dengan 0 agar saat 1 dia berhenti dan kembali membentuk gelombang naik.
961D CD 00A3 CALL A300
9620 3D DCR A
9621 FE 00 CPI 00
9623 C2 1B96 JNZ 961B Terus mengulang hingga 75 step
9626 C3 0C96 JMP 960C Loncat tanpa syarat ke alamat 960C untuk membangkitkan gelombang perioda selanjutnya
Adr. Hex. Code Mnemonic Penjelasan
A300 06 1E MVI B, 1E N yang didapat dari perhitungan Tc 1E (16)
= 30 (10)
A302 05 DCR B Counter hingga terus mengurangkan dengan 1 hingga Z tidak sama dengan 0 A303 C2 02A3 JNZ A302
A206 00 NOP Instruksi sisipan untuk menambahkan Tc dari delay 1 register untuk perioda 24 ms A307 00 NOP
A308 09 RET
OUTPUT PROGRAM :
Saat kita Go program pada $9600 maka akan tampil gelombang seperti berikut :
20
|
Pertama, kita hitung dahulu berapakah input DAC jika V Analog = 6,5 V
โV = ๐ ๐ ๐ธ๐น
๐ฝ๐ข๐๐๐โ ๐๐ก๐๐ =
20 ๐
255= 0,08 ๐
๐๐๐
โ๐/๐ ๐ก๐๐=
6,5 ๐
0,08=81 (10) = 51 (16)
๐๐๐
โ๐/๐ ๐ก๐๐=
โ6,5 ๐
0,08= โ81 (10) = AF (Kโ16)
Tx = 10 ๐๐
0,326 ๐๐ = 30674,84 Tc
โt = 306674,84
81= 378,7 ๐๐ โ 379 Tc
STARTSTART
A โ A2PORT 53 โ A
A โ 08PORT 53 โ A
A โ 04PORT 52 โ A
A โ A2PORT 53 โ A
A โ 08PORT 53 โ A
A โ 04PORT 52 โ A
A โ AFA โ AF
DELAY x
PORT 50 โ APORT 50 โ A
A โ A + 1A รท 51
A โ A + 1A รท 51
Z = 0Z = 0
A โ 51A โ 51
DELAY y
PORT 50 โ APORT 50 โ A
A โ A - 1A รท AF
A โ A - 1A รท AF
Z = 0Z = 0
10 Tc
4 Tc7 Tc
10 TcY
N
Y
N
x Tc
21
|
Setelah didapat flowchart kita perlu merancang subrutin delay nya, karena delay x dan
delay y memiliki jumlah Tc yang sama maka kita hanya perlu mencari salah satu dari
keduanya, sebagai berikut:
x = 379 Tc โ (10+4+7+10) Tc
= 348 Tc
Delay 1 R = 14 n + 32
348 Tc = 14 n + 32
n = 22,6 โ 22
14 (22) + 32 = 340 Tc
Selisih 348 โ 340 = 8 Tc
Maka kita masukan n = 22 = 16(16) lalu kita sisipkan 8 instruksi menggunakan 2 buah
NOP.
Berikut flowchart dari delay untuk membangkitkan gelombang segitiga :
DELAYDELAY
B โ 16B โ 16
RETRET
B โ B โ 1B โ B โ 1
Z = 0Z = 0
NOPNOP
NOPNOP
Y
N
22
|
Listing Program :
Adr. Hex. Code Mnemonic Penjelasan
9600 3E A2 MVI A, A2 Untuk mengakses ADC, kita perlu mengalihkan sambungan port-port pada midikom ke ADC. Caranya adalah memprogram chip PPI yang ada pada midikom dengan memasukkan beberapa instruksi
9602 D3 53 OUT 53
9604 3E 08 MVI A, 08
9606 D3 53 OUT 53
9608 3E 04 MVI A, 04
960A D3 52 OUT 52
960C 3E 00 MVI A, 00 Awal gelombang = 00
960E D3 50 OUT 50
9610 CD 00A3 CALL A300 Subrutin untuk delay selama 24 ms
9613 3C INR A Proses Quantizing sebanyak 4A step maka dibandingkan dengan 4B dalam hexa. Maka akan membentuk garis miring ke atas hingga batas 4A (16)
9614 FE 4B CPI 4B
9616 C2 0E95 JNZ 960E Terus mengulang hingga 75 step
9619 3E 4B MVI A, 4B Tegangan puncak atas = 75 step = 4B (16)
961B D3 50 0UT 50 Subrutin untuk delay selama 24 ms. Dikurangi satu karena gelombang turun ke bawah dan dibandingkan dengan 0 agar saat 1 dia berhenti dan kembali membentuk gelombang naik.
961D CD 00A3 CALL A300
9620 3D DCR A
9621 FE 00 CPI 00
9623 C2 1B96 JNZ 961B Terus mengulang hingga 75 step
9626 C3 0C96 JMP 960C Loncat tanpa syarat ke alamat 960C untuk membangkitkan gelombang perioda selanjutnya
Adr. Hex. Code Mnemonic Penjelasan
A300 06 1E MVI B, 1E N yang didapat dari perhitungan Tc 1E (16)
= 30 (10)
A302 05 DCR B Counter hingga terus mengurangkan dengan 1 hingga Z tidak sama dengan 0 A303 C2 02A3 JNZ A302
A206 00 NOP Instruksi sisipan untuk menambahkan Tc dari delay 1 register untuk perioda 24 ms A307 00 NOP
A308 09 RET
OUTPUT PROGRAM :
Saat kita Go program pada $9600 maka akan tampil gelombang seperti berikut :
23
|
9. Membangkitkan gelombang segitiga dengan Vpp = 13 V dan periode 20 ms seperti
gambar di bawah ini.
+6 V
Teg (V)
- 6 V
15 30 45
Pertama, kita hitung dahulu berapakah input DAC jika V Analog = 6,5 V
โV = ๐ ๐ ๐ธ๐น
๐ฝ๐ข๐๐๐โ ๐๐ก๐๐ =
20 ๐
255= 0,08 ๐
๐๐๐
โ๐/๐ ๐ก๐๐=
6 ๐
0,08=75 (10) = 4B (16)
STARTSTART
A โ A2PORT 53 โ A
A โ 08PORT 53 โ A
A โ 04PORT 52 โ A
A โ A2PORT 53 โ A
A โ 08PORT 53 โ A
A โ 04PORT 52 โ A
H ร 00H ร 00
PORT 50 โ APORT 50 โ A
Z = 0Z = 0Y
N
A ร HPORT 50 ร A
CALL A000A < ร
A ร A + 01PORT 50 ร A
CALL A000H ร H + 1
A ร HA : 4C
A ร HPORT 50 ร A
CALL A000A < ร
A ร A + 01PORT 50 ร A
CALL A000H ร H + 1
A ร HA : 4C
24
|
Setelah didapat flowchart kita perlu merancang subrutin delay nya, Berikut flowchart
dari delay untuk membangkitkan gelombang segitiga :
DELAYDELAY
B โ 10B โ 10
RETRET
B โ B โ 1B โ B โ 1
Z = 0Z = 0
MOV B, 00NOP
MOV B, 00NOP
Y
N
Listing Program :
Adr. Hex. Code Mnemonic Penjelasan
9200 3E A2 MVI A, A2 Untuk mengakses ADC, kita perlu mengalihkan sambungan port-port pada midikom ke ADC. Caranya adalah memprogram chip PPI yang ada pada midikom dengan memasukkan beberapa instruksi
9202 D3 53 OUT 53
9204 3E 08 MVI A, 08
9206 D3 53 OUT 53
9208 3E 04 MVI A, 04
920A D3 52 OUT 52
920C 26 00 MVI H, 00 Awal gelombang = 00
920E 7C MOV A, H
920F D3 50 OUT 50 Subrutin untuk delay selama 24 ms
9211 CD 00A0 CALL A000 Proses Quantizing sebanyak 4A step maka dibandingkan dengan 4B dalam hexa. Maka akan membentuk garis miring ke atas hingga batas 4A (16)
9214 2F CMA
9215 C6 01 ADI 01 Terus mengulang hingga 75 step
9217 D3 50 OUT 50 Tegangan puncak atas = 75 step = 4B (16)
25
|
V. ANALISA DATA
1. ADC
V in (Volt)
OUT ADC
PERHITUNGAN ๐ฝ ๐๐
โ ๐ฝ/๐๐๐๐
Perhitungan Pengukuran
0 00 FF 0
0,08 = 0 ๐
+ 1, 5 V 13 12 1,5
0,08 = 19 ๐ =13 (16)
9219 CD 00A0 CALL A000 Subrutin untuk delay selama 24 ms. Dikurangi satu karena gelombang turun ke bawah dan dibandingkan dengan 0 agar saat 1 dia berhenti dan kembali membentuk gelombang naik.
921C 24 INR H
921D 7C MOV A, H
921E FE 4C CPI 4C
9220 C2 0E92 JNZ 920E Terus mengulang hingga 75 step
9223 C3 0C92 JMP 920 Loncat tanpa syarat ke alamat 960C untuk membangkitkan gelombang perioda selanjutnya
Adr. Hex. Code Mnemonic Penjelasan
A000 06 10 MVI B, 10 N yang didapat dari perhitungan Tc 1E (16)
= 30 (10)
A002 05 DCR B Counter hingga terus mengurangkan dengan 1 hingga Z tidak sama dengan 0 A003 C2 02A0 JNZ A002
A006 06 00 MVI B, 00 Instruksi sisipan untuk menambahkan Tc dari delay 1 register untuk perioda 24 ms A008 00 NOP
A009 09 RET
OUTPUT PROGRAM :
Saat kita Go program pada $9200 maka akan tampil gelombang seperti berikut :
26
|
+ 4,7 V 3A 3B + 4,7
0,08 = 59 ๐ =3A(16)
+ 8,4 V 68 69 8,4
0,08 = 105 ๐ =69 (16)
- 8,4 V 97 95 โ 8,4
0,08 = โ105 ๐ = 97 (Kโ16)
-4,7 V C5 C4 โ4,7
0,08 = โ59๐ =C5 (Kโ16)
- 1,5 V ED EC โ1,5
0,08 = โ19 ๐ =ED (Kโ16)
+ 10 V 7D 7E 10
0,08 = 125 ๐ =7D (16)
- 10 V 83 80 โ10
0,08 = โ125 ๐ =83 (Kโ16)
- 8 V 9C 99 โ8
0,08 = โ100 ๐ =9C (Kโ16)
2. DAC
INPUT DAC
OUT DAC
% ERROR
AN OUT (V) Perhitungan
1111 0111 - 0,86 - 0,72 19,14 %
0000 1111 1,09 1,2 9,16 %
0101 0101 6,8 6,66 2,1 %
1010 1010 - 7,1 - 6,88 3,19 %
1100 1100 - 4,3 - 4,16 3,36 %
0011 0011 4,0 4,08 1,96 %
0100 0100 5,45 5,4 0,925 %
1000 0000 - 10,6 - 10,24 3,51 %
0111 1111 10,27 10,16 1,08 %
27
|
0011 1111 5,02 5,04 0,39 %
1110 0011 - 2,5 - 2,32 7,75 %
1001 1100 - 8,63 - 8 7,87 %
3. Perbandingan Frekuensi dan Vpp antara perhitungan dan pengukuran
No. Perhitungan Pengukuran
3 F = 1
4 ๐๐ = ๐๐๐ ๐ฏ๐ Vpp = 5 Vpp F =
1
4 ๐๐ = ๐๐๐ ๐ฏ๐ Vpp = 2,5 x 2 = 5Vpp
4 F = 1
20 ๐๐ = ๐๐ ๐ฒ๐ฏ๐ Vpp = 8 x 2 = 16Vpp F =
1
20 ๐๐ = ๐๐ ๐ฒ๐ฏ๐ Vp = 3,2x 5 = 16Vpp
5 F = 1
4 ๐๐ = ๐๐๐ ๐ฏ๐ Vpp = 8 x 2 = 16Vpp F =
1
4 ๐๐ = ๐๐๐ ๐ฏ๐ Vpp = 8 x 2 = 16Vpp
6 F = 1
15 ๐๐ = ๐๐, ๐ ๐ฏ๐ Vpp = 7 Vpp F =
1
15 ๐๐ = ๐๐, ๐ ๐ฏ๐ Vpp = 7,4 Vpp
7 F = 1
12 ๐๐ = ๐๐, ๐ ๐ฏ๐ Vpp = 6Vpp F =
1
11 ๐๐ = ๐๐ ๐ฏ๐ Vpp = 6,3Vpp
8 F = 1
40๐๐ = ๐๐ ๐ฏ๐ Vpp = 6,5 x 2 = 13Vpp F =
1
41๐๐ = ๐๐, ๐๐ฏ๐Vpp = 6,8 x 2=13,6Vpp
9 F = 1
15 ๐๐ ๐๐, ๐ ๐ฏ๐ Vpp = 6 x 2 = 12 Vpp F =
1
15 ๐๐ ๐๐, ๐ ๐ฏ๐ Vpp = 6,5x 2 = 13 Vpp
VI. KESIMPULAN
1. Terdapat % Error saat melakukan pengukuran ADC dan DAC dengan perssen error
terbesar 19,14 % untuk input DAC 1111 0111 didapat hasil perhitungan -0,72 dan
pengukuran -0,86.
2. Pengaturan potensiometer bergantung pada hasil output ADC karena saat pengaturan
posisi potensiometer saat angka dibelakang koma nya berbeda ternyata dapat
mempengaruhi output ADC.
3. Saat pembangkit gelombang pulsa dengan perioda 20 ยตs maka didapat frekuensi tinggi
yaitu 50 KHz maka tampilan gelombang di osiloskop akan cacat tidak membentuk
pulsa melainkan gelombang segitiga.