IV, PEREHCAHAAH ALAT

50
IV, PEREHCAHAAH ALAT 1. FENDAHULUAN Pada bab ini akan dibicarakan mengenai perencanaan pembuatan sistem penguji IC, baik dalam segi perangkat kerasnya (hardware) maupun perangkat lunaknya (software). Pada perencanaan perangkat keras akan dibuat interface untuk menghubungkan antara mikrokomputer IBM-PC dengan IC yang akan diuji. Pada perencanaan perangkat lunak akan dibuat program agar sistem penguji IC bekerja sesuai dengan kriteria yang telan ditentukan sebelumnya. Untuk memudankan pembahasan maka kedua perencanaan tersebut akan dibahas secara terpisab. 2. PERENCANAAN PERANGKAT KERAS Interface yang direncanakan harus dapat berfungsi sebagai berikut : - menyediakan saluran input dan saluran output masing-

Transcript of IV, PEREHCAHAAH ALAT

IV, PEREHCAHAAH ALAT

1. FENDAHULUAN

Pada bab ini akan dibicarakan mengenai perencanaan

pembuatan sistem penguji IC, baik dalam segi perangkat

kerasnya (hardware) maupun perangkat lunaknya (software).

Pada perencanaan perangkat keras akan dibuat interface

untuk menghubungkan antara mikrokomputer IBM-PC dengan IC

yang akan diuji. Pada perencanaan perangkat lunak akan

dibuat program agar sistem penguji IC bekerja sesuai dengan

kriteria yang telan ditentukan sebelumnya. Untuk memudankan

pembahasan maka kedua perencanaan tersebut akan dibahas

secara terpisab.

2. PERENCANAAN PERANGKAT KERAS

Interface yang direncanakan harus dapat berfungsi

sebagai berikut :

- menyediakan saluran input dan saluran output masing-

46

masing 16 buah

- masing-masing saluran dapat diprogram untuk

menghasilkan tlngRat-tingkat sinyal : logika '0',

logika '1', +V, ground, impedansi tinggi

- tingkat logika '0' dan M' berlaku untuk jenis IC

digital CMOS

Blok diagram perangkat keras sistem penguji

diperlihatkan pada gambar 4. 1.

fi2

OEM

no « i

ITJR-

o t i n M

P C

D 7

A V R a n t t k .

D t c o d a r

A -V

i ->L

I / O P o r t

A

D a t a

K o n t r o

R n n a K . P m t i h u b u n i )

^ > S o k t t

A V

R a n s k . ADC

A

D a t a

v-\ S a k l a r v i A n a l o g N

R a n s k . C o m p a r a t o r

GAMBAR 4. 1

BLOK DIAGRAM SISTEM PENGUJI IC

47

2. 1. Perencanaan Pengkodean Pada I/O Port

Pada perencanaan interface sistem penguji IC ini,

proses perpindahan data hanya terjadi antara 8088 dengan

PPI 8255 dan ADC0804. Untuk dapat memindankan data antara

8088 dengan 8255 dan ADC0804, maka terlebih dahulu harus

ditentukan address port dari 8255 dan ADC. Address I/O port

yang diperlukan untuk mengcperasikan IC 8255 adalah

sebanyak 4 address yang berbeda yaitu untuk Port A, Port B,

Port C dan Control Port, sedangkan untuk ADC dibutuhkan

sebuah address I/O port. Karena IC 8255 yang dibutuhkan

sebanyak 3 buah, maka total address I/O port yang

diperlukan adalah 13 buah address.

Pemilihan address I/O port dilakukan dengan ketentuan

sebagai berikut :

- Address I/O port yang dipilih harus berada pada slot.

Dengan pemilihan ini, maka jalur A9 harus aktif.

- Address I/O port yang direncanakan merupakan address I/O

port yang belum dipakai oleh peralatan I/O lainnya.

- AO dan Ai dari jalur address harus dihubungkan dengan

Jalur AO dan Al dari IC 8255.

Berdasarkan ketentuan pemilihan address I/O port di

atas, maka dipilih address I/O port pada daerah 300 Hex

sampal 30C Hex. Pemetaan address I/O port yang dipakai

digambarkan pada gambar 4. 2.

Dari gambar I/O Map diatas, maka dapat dituliskan

48

status dari tiap bit AO sampai A9 yang ditabelkan pada

tabel 4. 1.

300H

301H

302H

303H

304H

305H

306H

307H

308H

309H

30AH

30BH

30CH

Port A 8355 I

Port B 8255 I

Port C 8255 I

Control Port 8255 I

Port A 8255 II

Port B 8255 II

Port C 8255 II

Control Port 8255 II

Port A 8255 III

Port B 8255 III

Port C 8255 III

Control Port 8255 III

Port ADC

GAMBAR 4. 2

INPUT OUTPUT HAP

Dengan melihat tabel 4. i. , maka dapat dibuat rangkaian

dekoder untuk mengaktifkan peralatan I/O yang diinginkan.

Karena jalur AO dan Al langsung dihubungkan dengan 8255,

maka jalur address yang digunakan untuk pengdekodean I/O

port cukup diambil A2 sampai A9.

Untuk pengdekodean address I/O port, jalur address A4

sampai A7 dimasukkan ke 74LS20 (dual Nand dengan 4 input)

49

dengan melalui 74LS04 (Inverter). Keluaran dari 74LS20 ini

dimasukkan ke enable G2b dari 74LS138 (dekoder tiga input

ke delapan output). Address A2, A3 dan A8 dimasukkan ke

TABEL 4. i

STATUS TIAP BIT DARI INPUT OUTPUT HAP

Hex

300

301

302

303

304

305

306

307

308

309

30A

30B

30C

A9 A8 A7

i 1

1 1

i 1

i 1

i 1

i 1

1 I

1 J

1 1

1 i

1 i

1 i

1 i

L 0

I 0

L 0

L 0

I 0

L 0

L 0

I 0

L 0

L 0

L 0

L 0

L 0

A6

0

0

0

0

0

0

0

0

0

0

0

0

0

A5

0

0

0

0

0

0

0

0

0

0

0

0

0

A4

0

0

0

0

0

0

0

0

0

0

0

0

0

A3

0

0

0

0

0

0

0

0

i

i

i

i

0

A2

0

0

0

0

1

1

1

i

0

0

0

0

1

Ai

0

0

i

1

0

0

1

i

0

0

1

i

0

AO

0

1

0

i

0

i

0

1

0

1

0

1

0

masukan dari 74LS138 untuk memilih keluaran mana yang akan

diaktifkan, hanya untuk A8 sebelum dimasukkan ke 74LS138

terlebih dahulu dimasukkan ke 74LS04. Address A9 dipakai

untuk mengenable dekoder dan dimasukkan ke pin Gl dari

74LS138. Sedangkan slnyal AEN dimasukkan ke pin enable G2a

50

dari 74LS138, yang berfungsi untuk membuat dekoder tidak

aktif pada saat terjadi siklus bus DMA. Hal ini disebabkan

karena pada siklus bus DMA, AEN akan menjadi aktif tinggi

seningga dekoder di-disable. Bila tidak digunakan sinyal

AEN sebagai masukkan enable dekoder maka pada proses siklus

bus DMA akan membuat dekoder menjadi aktif karena pada

proses DMA sinyal IOR/IOW juga turut aktif, seningga

peralatan I/O akan terganggu. Rangkaian dari dekoder

digambarkan pada gambar 4. 3.

d a

E H > -

^

I B M

E5Z>-

mn

c SBE

rsuj 74LS04

-TJ2BT

S iso 3L

U2C

U2D

U2E

% > ^

AUL A vo > 1) Y l > 'i C Y2 >

Y3 J Y4 Pil

C I Y5 G2fi Yfi

=<! G2B Y7

= f d

U3rt

74T3S5o

74L§32

o

74X532

S-lcS ftbCd6Tj4~>

GAMBAR 4. 3

RANGKAIAN DEKODER

5 1

Keluaran dari dekoder YO dihubungkan dengan CS dari PPI

8255 I, keluaran dekoder Yl dihubungkan dengan CS dari PPI

8255 II dan keluaran dekoder Y2 dihubungkan dengan CS dari

PPI 8255 III. YO, Yl dan Y2 berfungsi untuk mengenable PPI

8255 yang diinginkan. Sedangkan keluaran dari dekoder Y3

digunakan untuk mengenable ADC0804 dan supaya dapat diakses

dengan address 30CH saja maka sebelum dimasukkan ke CS dari

ADC harus di-or-kan terleblh dahulu dengan AO dan Ai

seperti yang terlihat pada gambar 4. 3. diatas.

2. 2. Hubungan Antara PPI 825 5 Dengan Sistem Bus Slot

IC PPI 8255 mempunyai 8 jalur data, 2 jalur address

serta beberapa Jalur kontrol antara lain RD, WR, RESET dan

CS. Hubungan antara 8255 dengan sistem bus slot digambarkan

pada gambar 4. 4. Pada gambar tersebut terlinat bahwa jalur

data DO - D7 dari 8255 dihubungkan langsung ke jalur data

dari sistem bus slot, demikian juga dengan address AO dan

Ai. Untuk pin RD dihubungkan dengan Jalur sinyal IOR, pin

WR dihubungkan dengan jalur sinyal IOW dan pin reset

dihubungkan dengan sinyal RESET. Sinyal-sinyal IOR, IOW dan

RESET diambil dari sistem bus slot. Pin CS dihubungkan

dengan keluaran dari dekoder 74LS138. Sedangkan fungsi dari

masing-masing port PPI 8255 adalah sebagai berikut : port B

dan port C dari PPI I dan PPI II dipakai sebagai pemberi

data kepada IC yang akan diuji, port A dari PPI I dan PPI

UJL DO Dl D2 D3 D4 D5 D6 D7

PRO PA1 PA2 PA3 PA4 PA5 PAS PA7

I no 01

PHI I

LSET

PBO PBl PB2 PBS PB4 PB5 PB6 PB7

PCO PCI PC2 PC3 PC4 PC5 PC6 PC7

jaj*—<E5BE52J

tU2_ DO Dl D2 D3 D4 D5 D6 D7

PPI II I fiO 01 c i S E T

PAO PA1 PA2 PA3 PA4 PAS PA6 PA?

PBO PBl PB2 PB3 PB4 PBS PB6 PB7 PCO PCI PC2 PC3 PC4 PC5 PC6 PC7

E2EES2

M=F$I>

SESZ>

U2. DO 31 32 33 34 35 36 37

PPI I AO Al SP"

PAO PA1 PA2 PA3 PA4 PAS PA6 PA7

III PBO PBl PB2 PB3 PB4 PDS PB6 PB7

PCO • pci PC2 PC3 PC4 PC5 PC6 PC7

EEEE52

N1—-(EEJEE£7>

H—HESQS2>

GAMBAR 4. 4

HUBUNGAN PPI 8255 DENGAN SISTEM BUS SLOT

53

II sebagai masukan untuk menerima respon dari IC yang

diuji. Port A dari PPI III sebagai masukan. Port B dan port

C dari PPI III sebagai keluaran, yang digunakan untuk

mengontrol kerja saklar analog.

2. 3. Rangkaian Penghubung IC Yang Diuji

Karena catu daya dan data masukan penguji yang

diberikan kepada IC yang diuji diperolen dari data keluaran

PPI 8E55, sedangkan PPI tersebut tidak dapat menghasilkan

kondisi tingkat sinyal sesuai dengan tolok ukur yang telah

ditentukan sebelumnya (tingkat sinyal '<)', 'i'. '+V,

'ground' dan 'high impedansi') maka dlperlukan rangkaian

penghubung antara PPI 8255 dengan IC yang diuji. Gambar

dari rangkaian penghubung IC yang diuji diperlihatkan pada

gambar 4. 5.

Untuk memperoleh rangkaian penghubung yang dapat

bersifat high impedansi maka dipakai penyangga (buffer)

tiga-keadaan. penyangga tiga-keadaan yang dipilih adalah

74LS125 karena setiap penyangga tiga-keadaan mempunyai

jalur kontrol yang terpisah satu dengan yang lainnya. Dan

supaya tegangan keluaran dari 74LS125 dapat dipakai sebagai

catu daya IC yang diuji maka keluaran dari 74LS125 perlu

diberi buffer lagi yang terdiri dari 2 buah transistor.

Rangkaian tersebut dikontrol oleh port B dan port C dari

PPI I dan PPI II. Keadaan dari keluaran rangkaian tersebut

54

dari PPX X dan XX

GAMBAR 4. 5

RANGKAIAN PENGHUBUNG IC YANG DIUJI l

ditentukan oleh kombinasi PBi dan PCi. PBi merupakan port

kontrol untuk saluran pin ke i, PCi merupakan port data

untuk saluran pin ke i. Pada tabel 4. 2. diperlihatkan tabel

kebenaran dari rangkaian penghubung tersebut.

TABEL 4. 2

TABEL DARI RANGKAIAN PENGHUBUNG IC YANG DIUJI

Saluran kontrol

PBi

i

0

0

saluran data

PCi

X

i

0

keluaran

Yi

high impedansi

'1' atau +V

'0' atau ground

Dengan melihat tabel kebenaran, maka terlihat bahwa

55

ada 3 macam keadaan keluaran yang mungkin terjadi, yaitu :

- '1' atau +V

- '0' atau ground

- high impedansi

Dalam proses pengujian IC diperlukan pemberian catu

daya pada IC tersebut yaitu kaki +VDD dan -VSS (pada sistem

penguji ini -Vss dibuat '0' atau ground). Hal ini dapat

dilakukan dengan memberikan data PBi = '0' dan PCi = ' i'

untuk +VDD serta PBi = '0' dan PCi = '0' untuk -VSS. Selama

pengujian IC kondisi ini harus tetap dipertahankan.

Agar saluran Yi dapat berfungsi sebagai saluran

pemberi data pada IC yang sedang diuji, maka saluran

PBi harus diberi data '0'. Untuk memberi data M' pada IC

yang sedang diuji, maka PCi harus diberi data '1'.

Sedangkan untuk memberi data '0', maka PCi harus diberi

data '0'.

Kondisi high impedansi diperoleh dengan memberi data

'l' pada PBi. Kondisi ini diperlukan apabila saluran Yi

akan dipergunakan sebagai saluran masukan sistem penguji.

Sebagai contoh sebuah IC akan diuji dengan sistem

penguji. Susunan pin-pin dari IC tersebut adalah sebagai

berikut : pin 1 adalah +VDD, pin 2 adalah -VSS, pin 3

adalah input dan pin 4 adalah output. Dalam hal ini maka

pengaturan saluran-saluran sistem penguji memp.unyai

konfigurasi seperti yang diperlihatkan pada gambar 4.6.

Dalam perencanaan pembuatan rangkaian penghubung maka

56

p o r t •

p e r * A

p e r t C [i B B 14

KJB-h ty* M t M k l

p a n i h . p « n « K u b u n «

•wa:

i yps -3*

GAMBAR 4. 6

KONFIGURASI PENGATURAN SALURAN SISTEM PENGUJI

diadakan pemilihan transistor. Syarat utama pemilihan

transistor tersebut adalah tegangan keluaran yang

dihasilkan dapat dipakai sebagai catu daya IC CMOS. 01eh

karena itu dipakai transistor BC 546 dan BC 556 yang mampu

mengeluarkan tegangan logika tinggi dan rendah yang dapat

dipakai sebagai catu daya IC. Hal ini dapat dilihat dari

lembar data transistor bahwa harga VCE sat pada IC = 10 mA,

IB = 0, 5 mA adalah 90 mV. Untuk mencari harga hambatan-

hambatan dari rangkaian tersebut dipakai perhitungan

sebagai berikut :

- ditinjau saat Ql dalam keadaan saturasi dan Q2 cut

off, Diambil arus basis sebesar 0, 5 mA dan dari data

book diperoleh arus sink dari 74LS125 adalah 24 mA,

maka harga minimum Rl adalah :

57

Rl = VBE / ( I sink - IB )

Rl = 700 / ( 24 - 0, 5 )

Ri = 29, 8 Ohm

Ri yang dipakai sebesar 1 kOhm sehingga arus yang

lewat hambatan ini adalah 0,7 mA. Arus sink yang

diterima oleh 74LS125 adalah 1,2 mA, maka harga R2

adalah :

R2 = ( Vcc - VBEsat - VOL ) / I sink

R2 = ( 5 - 0, 7 - 0, 35 ) / 1, 2

R2 = 3, 29 kOhm

Nilai hambatan yang dipakai adalah 3, 3 kOhm.

- ditinjau saat Ql dalam keadaan cut off dan Q2 dalam

keadaan saturasi. Diambil arus basis sebesar 0, 5 mA.

Karena arus source maksimum 74LS125 adalah 2. 6 mA maka

arus maksimum yang lewat R3 adalah 2, 1 mA. Harga R3

minimum adalah :

R4 = VBE / ( I source - IB )

R4 = 700 / ( 2, 6 - 0, 5 )

R4 = 333, 33 Ohm

Hambatan R3 yang dipakai sebesar 1 kOhm sehingga arus

yang lewat hambatan ini adalah 0, 7 mA, maka arus yang

ditarik dari keluaran 74LS125 adalah 1,2 mA. Harga R4

adalah :

R4 = ( VOH - VBEsat ) / ( IR4 + IB )

R4 = ( 2, 4 - 0, 7 ) / 1, 2

R4 = 1,4 kOhm

Harga hambatan R4 yang dipakai adalah i kOhm.

a.4. Rangkaian Penguji Level

Rangkaian penguji level ini berfungsi untuk mengetahui

apakah level tegangan output dari IC CMOS berada dalam

kondisi high, kondisi low atau dalam kondisi ambang.

Rangkaian ini terdiri dari sebuah IC LM324 (Op-Amp) yang

difungsikan sebagai komparator. Rangkaian lengkap dapat

dilihat pada gambar 4. 7. Rangkaian ini menggunakan 2 buah

Op Amp, dimana tegangan masukan dari saklar analog

+sv

GAMBAR 4. 7

RANGKAIAN PENGUJI LEVEL

59

-

dihubungkan ke masukan (+) dari Op Amp A dan masukan (-)

dari Op Amp B. Karena level tegangan yang diuji adalah 0,05

volt dan 4,9 volt, maka pada Op Amp A ditetapkan batas

atasnya dengan mengatur variabel resistor (VRl) sebesar 4,9

volt dan pada Op Amp B ditetapkan batas bawahnya dengan

mengatur variabel resistor (VR2) sebesar 0,05 volt.

Keluaran dari rangkaian penguji level dimasukkan ke bit 0

dan 1 dari port A PPI III.

Dengan ditentukannya level batas atas dan level batas

bawah, maka dapat dibuat tabel masukan dan keluaran dari

rangkaian penguji level seperti yang diperlihatkan pada

tabel 4. 3.

TABEL 4. 3

TABEL MASUKAN DAN KELUARAN DARI RANGKAIAN PENGUJI LEVEL

Level tegangan

masukan

x volt

x < 0, 05

x > 4, 9

0, 05 < x < 4, 9

Keluaran

(dalam logic '0' atau '1')

Op Amp A

0

l

0

Op Amp B

1

0

0

Untuk memilih jalur keluaran dari IC yang akan dilakukan

pengetesan level maupun keadaan fan out, maka digunakan

saklar analog. Saklar analog yang dlpakai adalah saklar

analog jenis CMOS 4051 sebab mempunyai 8 jalur masukan dan

1 jalur keluaran. Konfigurasi darl masing-masing kaki IC

CMOS 4051 dapat dilitiat pada lampiran. IC CMOS 4051 yang

digunakan untuk mengontrol pengetesan tersebut adalan

sebanyak 2 buah, dimana saklar analog I untuk jalur soket

nomor i sampai 8 dan saklar analog II untuk jalur soket

nomor 9 sampai 16. Kontrol saklar analog tersebut

dikendalikan oleh port B dari PPI 8255 III yang berfungsi

untuk mengaktifkan secara bergantian masing-masing saklar

analog tersebut. Port B dari PPI ini hanya dipakai sebagai

port keluaran saja. Keluaran dari saklar analog ini

dimasukkan ke rangkaian penguji level atau ke rangkaian

penguji fan out. Gambar rangkaian saklar analog ditunjukkan

pada gambar 4. 8. Sedangkan tabel kebenaran IC 4051

dlperlihatkan pada tabel 4.4.

JJLLS.

d«r- l .

trrs

GAMBAR 4 . 8

GAMBAR RANGKAIAN SAKLAR ANALOG

6 1

TABEL 4. 4

TABEL KEBENARAN IC 4051

TRUTH TABLE

L L

L L t U L U H

INPUTS

A 2

L L

L L H H II

H X

A i

L L H

H L

L H H

X

* 0

I

H

U H L

H L H

X

v 0 - z

ON OFF

OFF OFF OFF OFF OFF OFF

OFF

Vy-7

OFF ON OFF OFF

OFF OFF

OFF OFF

OFF

v 2 -z

OFF OFF

ON OFF OFF OFF

OFF OFF

OFF

CHANNELS

Y 3 - Z

O I F OFF

OFF

ON OFF OFF OFF OFF

OFF

Y 4 - Z

OFF

OFF OFF OFF CN OFF OFF OFF

OFF

Y S - 2

OFF OFF

OFF OFF OFF ON

OFF OFF

OFF

Y 6 - Z

OFF OFF

OFF OFF OFF OFF

ON OFF

OFF

Y 7 - Z

OFF OFF

OFF OfF OFF OFF

OFF ON

OFF

L - LOW Lav ol H - HIOH L«v«l X - Don't Cirft

Berdasarkan gambar rangkaian serta tabel kebenaran dari IC

4051 maka dapat dibuat data pengontrol untuk port B yang

digunakan untuk mengontrol saklar analog. Data pengontrol

untuk saklar analog I dan II diperlihatkan pada tabel 4. 5.

TABEL 4. 5 *

TABEL DATA PENGONTROL UNTUK SAKLAR ANALOG I DAN II

Nomor Ja lur soket

1 a 3 4 5 6 7 8 9

10 1 1 IE 13 14 15 16

Data pengontrol saklar analog

$ F 0 $F1 $ F 2 $ F 3 $ F 4 $ F 5 $ F 6 $ F 7 $ 7 F $ 6 F $ 5 F $ 4 F $ 3 F $ 2 F $ 1 F $ 0 F

62

2. 5. Rangkaian Fenguji Fan Out

Rangkaian penguji fan-out ini berfungsi untuk menguji

keadaan fan-out dari IC yang diuji, apakah dalam keadaan

baik atau tidak balk. Dalam perencanaan rangkaian penguji

ini, fan-out hanya dapat diuji apabila level logika dari

keluaran IC yang diuji dalam keadaan nigh.

Dalam perencanaan ini bagian konversi besaran analog

yang dipakai adalah ADC0804, sebab ADC ini mempunyai 8 bit

keluaran, waktu konversi yang cepat karena memakai prinsip

successive approximation dengan waktu konversi 100 usee,

dan jalur keluarannya bersifat impedansi tinggi. Gambar

dari rangkaian penguji fan-out ditunjukkan pada gambar 4. 9.

Pada gambar tersebut terlihat bahwa jalur keluaran

dari ADC0804 langsung dihubungkan dengan jalur data dari

sistem bus slot. Untuk pin RD dan WR dihubungkan ke Jalur

sinyal IOR dan IOW, sedangkan pin CS dihubungkan ke

rangkaian dekoder dan pin INTR dimasukkan ke PA2 dari PPI

8255 III.

Agar ADC0804 ini dapat bekerja, sebuah rangkaian clock

harus dipasang. Untuk rangkaian clock ini digunakan

rangkaian RC yang dihubungkan ke pin CLK IN dan pin CLK R.

Dalam hal ini pulsa clock ditentukan dengan rumus

fCLK : 1/(1,1 R C)

di mana harga R biasanya diambil sebesar 10 KOhm. Untuk

mendapatkan akurasi yang baik, maka fCLK harus lebih kecil

63

LO/nF ,U22 -J 20

vcc DBO VRE.F/Z DB1 DB2 DBS DB4 DBS DBS DB7 VXNC-O — CLKR CS CLKIN BE VXN<-> MR ACND XNTR DCND

fcBOTTO*

GAMBAR 4. 9

RANGKAIAN PENGUJI FAN OUT

d a r i 640 KHz.

Untuk menentukan harga beban yang dipakai untuk

pengujian fan-out diperoleh dengan cara :

R beban = Vo/IOH

dimana IOH berdasarkan test condition adalan sebesar 0,2 mA

dengan kondisi Vo = 4, 6 V dan VIN = o atau 5 V.

Jadi harga R beban adalan sebesar 2 3 KOhm.

Untuk memilih antara pengujian level dan pengujian fan-out

serta mengaktipkan beban digunakan saklar analog 4066.

Saklar analog ini dikontrol oleh PCO, PCI dan PC2.

3. PERENCANAAN PERANGKAT LUNAK

Pada sistem penguji IC yang memakai mikroprosessor

sebagai pemrosesnya, selain perangkat keras, juga

64

diperlukan perangkat lunak. Program yang dibuat mempunyai

beberapa fungsi diantaranya adalah menginisialisasikan

perangkat keras, melakukan proses pengujian IC, melakukan

proses pencari seri dan melakukan proses pengujian fan out.

Bahasa pemrograman komputer yang dipakai dalam perencanaan

perangkat lunak tugas akhir ini adalah Turbo Pascal versi

5. 0. Alasan digunakan Turbo Pascal ini karena bahasa ini

mempunyai fasilitas instruksi untuk menangani Input Output

port, mempunyai editor sendiri yang dilengkapi dengan

fasilitas debugging untuk memudahkan mencari kesalahan

program dan dapat digabung dengan bahasa assembly.

3. 1. Subprogram Pari Penylap Sistem Penguji IC

Agar sistem penguji IC dapat bekerja maka perlu

diinisialisasikan terlebih dahulu. Proses inisialisasi yang

dilakukan terhadap PPI 8255 tergantung dari fungsi

masing-masing port dimana fungsi dari masing-masing port

tersebut adalah sebagai berikut :

- port A untuk semua PPI 8255 sebagai masukan

- port B dan C untuk semua PPI 8255 sebagai keiuaran

Setelah diinisialisasi maka ditentukan kondisi awal dari

rangkaian penghubung sistem penguji. Kondisi awal tersebut

adalah dalam keadaan high impedansi, hal ini dilakukan

dengan member! data '1' pada saluran port B dari PPI I dan

II. Kondisi high impedansi diperlukan, sebab tanpa kondisi

65

tersebut Jalur masukan, keluaran maupun catu daya dari IC

yang dipasang pada soket penguji akan mendapat level

tegangan yang tidak diinginkan. Diagram alir dari

subprogram penyiap sistem ditunjukkan pada gambar 4. 10.

3. 2. Subprogram Menu

Untuk bagian menu akan ditampilkan 4 pilihan, yaitu :

- penguji tabel kebenaran IC

digunakan untuk melakukan pengujian apakah. IC tersebut

baik atau tidak.

- pencari seri IC

digunakan untuk mencari nomor seri IC dengan syarat IC

tersebut dalam kondisi baik dan termasuk dalam data yang

terdapat pada software.

- penguji Fan Out

digunakan untuk menguji keadaan Fan Out dengan syarat

kondisi dari tabel kebenaran IC yang diuji dalam

keadaan baik.

- selesai

digunakan untuk keluar dari program penguji IC dan

kembali ke operating system (DOS).

Selama penampilan menu, kondisi dari rangkaian

penghubung tetap dalam keadan High impedansi sehingga tidak

membahayakan IC yang dipasang pada soket penguji. Diagram

alir dari subprogram menu diper1ihatkan pada gambar 4. 11.

66

3, 3. Subprogram Penguji Tabel Kebenaran IC

Subprogram ini digunakan untuk menguji apakah IC yang

diuji itu dalam keadaan baik atau tidak. Saat subprogram

ini dijalankan maka akan diminta nomor seri IC yang akan

diuji. Bila syarat masukan untuk nomor seri IC dipenuhi

maka nomor seri IC tersebut akan dicari pada data yang ada,

apabila tidak diketemukan maka akan ditampilkan pesan bahwa

data dari seri IC tersebut tidak ada di dalam program. Bila

nomor seri tersebut ada maka akan ditampilkan menu untuk

memilih antara pengujian berulang dan pengujian tak

berulang. Maksud dari pengujian IC secara berulang adalah

untuk mengetahui kondisi IC yang diuji stabil atau tidak.

Bila terjadi kesalahan selama proses pengujian secara

berulang maka IC tersebut dinyatakan rusak. Proses ini

sangat diperlukan untuk melacak kondisi IC yang kerjanya

tidak stabil. Setelah dilakukan pemilihan terhadap sistem

pengujian maka data masukan penguji akan diambil dan

diberikan ke IC yang diuji, kemudian dilakukan proses

pembacaan dan hasilnya dibandingkan dengan data keluaran

yang berasal dari tabel kebenaran, demikian pula dengan

besar tegangannya. Apabila hasil pembandingan tersebut

benar maka dilakukan pengujian berikutnya dengan memberikan

data masukan penguji yang berbeda. Bila hasil pembandingan

tidak sama maka akan ditampilkan pesan bahwa terjadi

kerusakan. Diagram alir dari subprogram penguji tabel

67

kebenaran dapat dilihat pada gambar 4. 12.

3. 4. Subprogram Pencari Seri IC

Untuk mendapatkan nomor seri IC yang dicari, maka

dilakukan permisalan dengan data nomor seri yang pertama

yang terdapat pada tabel. Kemudian data masukan tersebut

diberikan kepada IC yang akan dicari serinya. Bila nasil

pembandingan antara keluaran IC yang dicari serinya tidak

sesuai dengan tabel dari data permisalan, maka akan

dilakukan permisalan dengan nomor seri IC yang berikutnya.

Proses ini dilakukan sampai data nomor seri permisalan

habis. Hal ini dimaksudkan supaya semua nomor seri yang

mempunyai tabel kebenaran yang sama dapat ditampilkan pada

monitor. Bila sampai akhir permisalan tidak ada hasil

pembandingan yang sama maka pada layar monitor akan

ditampilkan 2 kemungkinan yang terjadi, yaitu data nomor

seri IC tersebut tidak ada atau IC yang dicari nomor

serinya dalam keadaan rusak. Diagram alir dari pencari

nomor seri diperlihatkan pada gambar 4. 13.

3. 5. Subprogram Penguji Fan Out

Untuk dapat menguji keadaan Fan Out baik atau tidak

maka kondlsi tabel kebenaran dari IC yang diuji harus

benar. 01 en karena itu sebelum melakukan pengujian Fan Out,

68

maKa pengujian tabel kebenaran harus dilakukan terlebih

terlebih dahulu.

Bila kondisi IC yang diuji dalam keadaan baik, maka

dipilih Jalur keluaran yang berada dalam kondisi high dan

beban diaktifkan. Kemudian level tegangan keluaran setelah

pembebanan dibaca dan dibandingkan dengan batas tegangan

yang telah ditentukan. Proses ini dilakukan terus sampai

semua jalur keluaran yang mempunyai kondisi high diuji.

Bila hasil perbandingan tidak memenuhi syarat yang telah

ditentukan maka pada monitor akan ditampilkan pesan bahwa

keadaan Fan Out-nya tidak baik. Diagram alir subprogram

penguji Fan Out ditunjukkan pada gambar 4. 14.

( start J

inisialisasi 8255 port A sbg input port B * C sbg

output

beri data $FF pd port B 8 C dari PPI I * II shg. rangk. penghubung

IC yg diuji nenjadi tidak

aktif

"

GD GAtlBAR 4 . 1 0

DIAGRAM ALIR SUBPROGRAM FEHVIAP SISTEH

69

/ Menu /

/ utaria /

penguji tabel kebenaran

pencari sen

penguji fan-out

- W e n d

GAI1BAR 4 . 1 1

DIAGRAM ALIR SUBPROGRAM MENU UTAMA

/

cetak data IC i tidak ada ?

counter

= 18

can noMor seri IC

dalaM weMori

COUNTER = i

aMbil data nasuk-an dan berikan ke kaki M3.su.kan IC yang diuji

aMbil respon ke-luaran dan ban-dingkan dengan tabel data untuk

level logika

<D

70

aMbil data Masuk-an dan berikan ke kaki Masukan IC

yang diuji

aMbil respon ke-luaran dan ban-dingkan dengan

tabel data untuk level tegangan

<D

d> I taMpilkan basil pengujian

r end J

GAI1BAR 4 . 1 2

DIAGRAM ALIR SUBPROGRAM PEN6UJI TABEL KEBENARAN

fstart")

Misalkan noMor IC adalah noMor seri IC yang pertaMa

aMbil data Masuk-an dan berikan ke kaki Masukan IC

yang diuji

aMbil respon ke-luaran dan ban-dingkan dengan

tabel data untuk level logika

aMbil data noMor seri IC berikutnya t

S \ T C sawa 3

/ ^da t a \ . . sudah 5 V h a b i s y ^

P cetak /

noMor seri / Ec /

\4 —

\ i

non aktipkan rangkaian penghu-

bung IC yang diuji

6AMBAR 4 . 1 3

DIAGRAM ALIR SLIBFROGRAH PENCARI SERI

can noMor seri IC

dalan MeMori

aMbil data «asuk-an dan berikan ke kaki Masukan IC yang diuji

aMbil respon ke-luaran dan ban-dingkan dengan tabel data untuk

level logika

aMbil data Masuk­an dan berikan ke kaki Masukan IC yang diuji

baca level logika keluaran dari IC

yang diuji

baca level te-gangan keluaran

IC yang d i u j i

GAtlBAR 4 . 1 4

DIAGRAM ALIR SUBPROGRAM PEHGUJI FAN OUT

73

4. CARA PEMBUATAN TABEL DATA KEBENARAN

Pada bagian ini akan dibahas mengenai pembuatan tabel

data kebenaran dan data kontrol yang akan digunakan untuk

menguji IC. Setiap data disusun dengan memperhatikan fungsi

tiap kaki IC yang akan dibuat tabel datanya. Berikut ini

adalah contoh penyusunan data untuk IC CMOS 4023. Dari data

book diperoleh susunan kaki IC CMOS 4023 seperti yang

diperlinatkan pada gambar 4. 15.

RlyllyigLSLgHfL,"

t i l UJ IkJ LLI i l l LaJ I d

GAMBAR 4. 15

SUSUNAN KAKI IC CMOS 4023

Cara peletakan IC tersebut pada soket sistem penguji

diperlinatkan pada gambar 4. 16.

16 15 14 13 12 11 10 9

Udd i i i o o i

)

i i i i i o Uss

1 2 3 4 5 6 7

GAMBAR 4. 16

CARA PELETAKAN IC 402 3 PADA SOKET SISTEM PENGUJI

74

Dengan memperhatikan fungsi dari kaki IC 4023 dan

cara peletakan pada soket sistem penguji serta tabel 4.2,

maka dapat dibuat data kontrolnya seperti yang ditunjukkan

pada tabel 4. 6.

TABEL 4. 6

DATA KONTROL IC 4023

1

X

0

2 3 4 5 6 7

i i i i i o

0 0 0 0 0 1

port B PPI I

8

vss

0

9

i

0

10 11 12 13 14 15

o o i i i vdd

1 1 0 0 0 0

port B PPI II

16

X

0

Dari tabel diatas diperoleh data kontrol untuk IC 4023

adalan 40H dan 6OH.

Untuk membentuk tabel kebenaran dari IC ini, maka

diperlukan tabel kebenaran dari Nand gate dengan 3 masukan

seperti yang diperlihatkan pada tabel 4. 7.

TABEL 4. 7

TABEL KEBENARAN IC 4023

A

0 0 0 0 1 1 1 1

B

0 0 1 1 0 0 1 1

c

0 1 0 1 0 1 0 1

Y

0

75

Setelah mempelajari tabel 4. 7. serta gambar 4.16. diatas

maka dapat disusun sebuah tabel kebenaran untuk IC 4023

seperti yang ditunjukkan pada tabel 4. 8.

TABEL 4. 8

1

X

1 1 1 1 1 1 1 1

2

i

0 0 1 1 0 0 1 1

3 4

i i

0 0 0 1 0 0 0 1 1 0 1 1 1 0 1 1

port

TABEL

5 6

i i

0 0 0 0 1 0 1 0 0 1 0 1 1 1 1 1

C PPI

KEBENARAN

7 8

o vss

1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0

I

9

i

0 1 0 1 0 1 0 1

IC CMOS 4023

10 11 12 13

o o i i

1 1 0 0 1 1 1 0 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 0 1 1 0 1 0 0 1 1

port C PPI

14

i

0 0 0 0 1 1 1 1

II

15

vdd

16

X

Tabel diatas dapat dituliskan ke dalam bentuk heksadeslmal

sebagai berikut :

41 49 53 5B 65 6D 77 3F

63 F3 6B FB 67 F7 6F 9F

Data kontrol dan data tabel kebenaran untuk IC 4023

kemudian disimpan kedalam perangkat lunak. dari sistem

penguji IC dengan menggunakan perangkat lunak Turbo Pascal

ver. 5, 0.

5. LISTING FROGRAH SISTEH PENGUJI IC

uses crt; const

ESC BELL UIC CS UP

PA1 PCi PA2

PA3 PC3

'-&', : % :'l'; :Tj :'3';

taKberulang : 'i'j berulang : '2'; space : #32;

: $300; PBi : $302; Control_8255_i : $304; PB2 : $306; Control_8255_2 : $306; PB3 : $30Aj Control_8255_3

Control B255_i_Com: $090; Control" 8255_2~Com : $090; Control_8255_3_Com s $090; AdcPort : $30C;

datasfitcb : array [1..16] of b y t e : ($P0,$F11$P2I

$P3, $P4, $P5, $F6, $FT, $0P, $IP, $2P, $3P, $4P, $5P, $6P, $7P);

piliblevel : array [i..i6] of word : ($0001,$0002, $0004,$0008, $0010,$0020,$0040,$0080,$0100,$0200, $0400, $0800, $1000, $2000, $4000, $8000);

datalevel : array [0..2] of byte: (3,1,0);

logic4000 ; array [1..20] of byte : (19,l6,$40,$6O,$47,$A3,$0F,$93, $17, $4B, $1P, $58, $27, $87, $2P, $97, $37, $4P, $3P, $5P);

logic400l : array (1..12) of byte: (ii,8,$l8,$30,$69,$D3,$23,$8Bl $45,$47,$17,$2P);

logic4002 : array U..26] of byte: (25,22I$02,$04,$43,$87,$45,$C3, $49, $A3, $4D, $B3, $51, $93, $55, $D3, $59, $B3, $5D, $P3, $61, $8B1$65,$CB,$70,$PB);

logic4009 : array [1..8] of byte : (7,4,$2A,$52,$2BI$5BI$55,$AD); logic4010 : array [i..t] of byte : (7,4,$2A,$521$67,$39,$t9,$CP); lofic40ii : array (1..12) of byte: (li,8,$16,$30,$69,$D3,$3B,$BB,

$5D,$77,$17,$2P); loglc4012 : array 11..26] of byte: (25,22,$02,$04,$43,$87,$47,$C7,

$4B, $A7, $4P, $B7, $53, $97, $57, $D7, $5B, $B7, $5P, $P7, $63, $BP,$67,$AP,$6D,$PB);

logic4013 : array [1..16J of byte : (15,12)$06,$0C,$43,$87,$15,$2B, $25,$4B,$2B,$57,$03,$07,$0D,$1B);

logic4015 : array [I..22] of byte : (21,IB,$1E,$78,$60,$07,$40,$03, $51, $6B, $10, $09, $09, $91, $46, $13, $55, $AB, $14, $29, $0B, $DI);

logic40I6 : array [1..12] of byte : (11,B,$OC,$60,$OC,$62,$1B,$P21 $60,$0B,$7B,$PE);

: $301; : $303; : $305; : $307; : $309; : $30B;

Iogic4017 : array [1..50] of byte : (49,46,$TP)$FOl$04,$i31$04,$lll

$02,$i5,$02,$Il l$061$i5,$OB,$il,$4Q1$i5,$40,$ii,$00,$55 l

$00, $51, $01, $05, $01, $01, $10, $05, $10, $01, $20, $05, $20, $01, $00, $65, $00, $81, $00, $25, $00, $21, $04, $15, $04, $19, $02, $15);

logic4019 : array [i.,20] of byte : (19,16,$00,$T6,$19,$03,$11,$61, $3B, $P1, $08, $07, $5D, $7P, $3B, $PP, $5D, $PP, $00, $85) j

logic4020 : array [1..38] of byte : (37,34,$7P,$9E1$00,$61I$00,$411

$00, $61, $00, $Ci, $00, $01, $00, $41, $00, $81, $00, $C1, $00, $01, $00, $41, $00, $81, $00, $C1, $00, $01, $00, $41, $00, $61, $00, $C1, $40, $01);

logic4022 : array (1..42) of byte : (41,36,$5P,$70,$02,$13,$02,$11, $01,$15,$01l$ll,$04,$l5,$04,$il,$40,$15,$40,$ll,$00,$25, $00, $21, $06, $05, $06, $01, $10, $05, $10, $01, $00, $45, $00, $41, $02, $15, $02, $19, $02, $1D);

logic4023 : array [i.,20] of byte : (19,16,$40,$60,$41I$63,$49,$P3, $5,; $6B, $5B, $PB, $65, $67, $6,; $P7, $77, $6P, $3P, $9P) j

logic4025 : array [1..20] of byte : (19,16,$40,$60,$41,$63,$09,$93, $13, $0B, $1B, $9B, $25, $07, $2D, $97, $37, $0P, $3P, $9P);

logic4027 : array [1..16] of byte : (17,14,$03,$06,$41,$63,$0A,$15, $0A, $15, $12, $25, $16, $2D, $22, $45, $25, $4B);

logic4026 : array [1..36] of byte : (35,32,$7P,$86,$04,$01,$00,$45, $02, $09, $00, $4B, $01, $11, $20, $51, $40, $19, $08, $59, $00, $A1, $10, $61, $00, $29, $00, $69, $00, $31, $00, $71, $00, $39, $00, $79) j

logic4030: array [1..12] of byte •- (li,8,$16,$30,$01,$03,$3B,$B7, $6D,$6P,$57,$D7);

loglc4035 : array [i.,20] of byte - (19,16,$01,$0B,$52,$Ai,$5i,$AP, $4B, $51, $6E, $5B, $0B, $5B, $2P, $55, $03, $55, $22, $5B);

logic4040 : array [i.,36] of byte : (37,34, $7P, $98, $00, $61, $00, $41, $00, $81, $00, $Ci, $40, $01, $40, $41, $40, $61, $40, $Ci, $20, $01, $20, $41, $20, $61, $20, $C1, $60, $01, $60, $41, $60, $61, $60, $Ci, $i0,$0i);

logic404i : array [1..6] of byte : (7,4,$36,$D6,$24,$4A,$5A,$B6); logic4043 : array [1..14] of byte : (13,iO,$03,$CO,$54,$23,$3B,$D5,

$13,$C1,$7P,$P7,$47,$E3); logic4044 : array [1..14] of byte: (i3,10,$Oi,$C8,$10,$01,$39,$DD,

$54, $23, $7C, $37, $00, $01); logic4049 : array [i.,8] of byte: (7,4,$2A,$52,$4D,$6B,$33,$9D); logic4050 : array [i..B] of byte : (7,4,$2A,$52,$67,$CP,$19,$39); logic405i : array [i.,381 of byte : (37,34,$O4,$0O,$lB,$17,$iB,$3B,

$1B, $5D, $1B, $6P, $1A, $9P, $0B, $BP, $19, $DP, $13, $FF, $04, $09, $04, $25, $04, $43, $04, $71, $05, $61, $14, $Ai, $06, $C1, $0C, $E1, $3P,$17);

logic4052 : array [i.,14] of byle: (13,10,$04,$06,$05,$27,$14,$73, $061$B5,$0C,$D71$1AI$19);

logic4053 : array [1..38] of byte : (37,34,$08,$06,$05,$09,$05,$31, $06, $49, $06, $71, | U , $89, $11, $Bi, $12, $C9, $12, $Pi, $1A, $17, $1A, $2P, $19, $5P, $19, $6P, $0B, $97, $0B, $AP, $0D, $D7, $0D, $EP, $2D,$0P);

logic4066 : array [i.,12] of byte : (1 i,8,$12,190,^7P,*FF,$6i,$0P, $01,$O3,$OD,$03);

Iogic4068 : array [i.,24] of byle : (23,20,$00,$04,$7F,$PB,$57,$D7,

m, *AP, $73, $9P, w, m, $«, IFF, m, w, w, w, m, m, $7B,$BP)i

logic4069 : array [ i . . 6 ] of b y t e : (7,4,$54,$A6,$55,$AB,$2B,$57); lojicMTO : array [ L . l l ] of byte : (li,6,»18,$30,(Oi,$03,)3B,$BB,

$5D,$77,$67,$CP); logic4071 : array [1..12] of byte : (il,81$181$30,$7i1$B3,$3B1$BB,

logic4072 ! array [1..26] of byte : (25,22,$02,$04,100,$02,$06,$46, $0A, $26, $0E, $66, $12, $16, $16, $66, $1A, $36, $1B, $76, $22, $08,$26,$4B,$3K,$7B);

logic4073: array [1..20] of b y t e : (19,16,$40,$60,$01,$03,$09,$93, $13, $0B, l i f t $9B, $27, $07, $2D, $97, $27, $0P, $7P, $PP);

lof[ic4075 : array [1..20] of byte : (19,16,$40,$60,$01,$03,$59,$P3, $53, $6B, $5B, $PB, $67, $67, $6B, $P7, $77, $6P, $7F, $FP);

logic4076: array [1..26] of b y t e : (25,22,$3C,$00,$0O,$3P,$O0,$29, $66, $29, $28, $15, $54, $15, $14, $BD, $54, $BD, $14, $7D, $54, $7D,$3D,$3D,$3B,$3D);

logic407T : array [1..12J of byte : (li,6,$lB,$30,»l9,$33,$23,$8B, $45,$47,$7P,$1P);

lofic4078 : array [1..241 of byte : {23,2O,$0O,$04,$7P,$PB,$57,$D3, $6B, $AB, $73, $9B, $4P, $E3, $43, $PB, $43, $67, $7P, $P3, $6P, $PB, $7B,$BB);

lo«ic4081 : array [1..12] of byte: (il,6,$16,$30,$7i,$B3,$23,$6B, $45,$47,$OP,$lPJi

logic4093 : array [1..12] of byte : (li,6,$i8,$30,$69,$D3,$3B,$BB, $5D,$77,$17,$2P)i

loeic450i : array [1..14] of byte : (i3,iO,$6F,$C5,$7B,$AB,$5D,$DB, $3B,$PB,$77,$7B);

lo{ic4503 : array (1..12] of byte : (il,6,$54,$A6,|5D,$CD,$77,$Bi, $16,$PB,$66,$2P);

lo«ic4555 : array [1..14] of byte : (13,10,$78,$F0,$08,$11,$12,$25, $24,$49,$46,$8D,$07,$OP);

logic4572 : array (1..12] of byte : (U,8,$15,$A8,$15,$A9,$25,$AD1 $4A,$5B,$6A,$57);

logic4584 : array [1..8] of byte: (7,4,$54,$A6,$54,$AA,$2A,$56);

seri : array [1..47] of »ord : (4000,4001,4002,4009, 4010,4011,4012,4013,4015,4016,4017,4019,4020, 4022,4023,4025,4027,4028,4030,4035,4040,4041, 4043,4044,4049,4050,4051,4052,4053,4066,4066, 4069,4070,4071,4072,4073,4075,4076,4077,4078, 4081,4093,4501,4503,4555,4572,4585) J

inchr : Char; c,f,g,i,K,l,x,y : byte; hasill,basll2,Kontroll,Kontrol2,jua_data : byte; counter,junpinout,level,levell,test,baca : byte; nooorlC.serilC, a,kontrol,Kontrol2a,hasil : word; hasil2a, level?, b : lord; dataA : array [1, .501 of byte; dataB : array [1..50] of byte;

Kontrolstitcb : array [1..16J of byte; pin_yg_out : array [1..16] of byte;

Procedure InltPort; [Inisialisasi 62551 begin port [Control 8255 1] :-- Control 8255J Coon; port [PB1] ::~$FP;~ port [PCI] :: $00; delay(500); port [control 8255 21 :-- control 8255 2 Com; port [PB2] ::~$FP;~ port [PC21 :: $00; delay(500); port [Control 8255 3] :: control 6255 3 Com; port [PB3] ;:~$FF;~ port [PC3] :: $00;

end;

procedure IC4000; begin

for i:--i to logic4OO0[i] do dataA[i]:--logic400O[i*l];

end;

procedure IC4001; begin

for i::i to logic4O0i[l] do dataA[i]::logic400i[i«i];

end;

procedure IC4002; begin

fori::i to logic4002[l) do dataA[il::logic4002[iti];

end;

procedure IC4O09; begin

for i::i to logic4009[l] do dataA[i]::logic4009[iti];

end;

procedure IC4010; begin

for i::l to logic40iO[ll do dataA[i]:--logic40iO[iii];

end;

procedure IC40U; begin

for i::l to logic401i[ll do

dataA[i]::logicWll[Hi]; end;

procedure IC4012; begin

for i::i lo logic40i2[i] do dalaA|i|:--logic40i?[iti|;

end;

procedure IC4013; begin

for i : : i to logic40i3[ll do dataA[i]::logic40U[i*ll;

end;

procedure IC4015; begin

for i:--i to logicWi5[i] do dataA[i]::logic40i5[i+H;

end;

procedure IC4016; begin

for i::i to logic40!6[t] do dataA[i]::logic40i6[iti];

end;

procedure IC401T; begin

fori::i to logic40IT[l] do dataA[i]::logic40i7|iti];

end;

procedure IC4019; begin

for i:;i to logic40i9[i] do dataA[i]::logic40i9[iti];

end;

procedure IC4020; begin

for i::i to logic4O20[i] do dataA[i]::logic4020[iti];

end;

procedure IC4022; begin

for i:.-i to logic4022(i] do dataA|i)::logic4022[iti];

end; procedure IC4023;

begin for i::l lo logic4023|l] do daUA[i]::logic40?3I»i];

end;

procedure IC4025; begin

for i::i to logic4025[i] do dataA[i]::logic40Z5[i*il;

end;

procedure IC402T; begin

fori:: I to logic402T[i] do dataA[il::logic40?T|uil;

end;

procedure IC402B; begin

for i::i to logic4026[i] do dataA[i]::logic<02ft[itij;

end;

procedure IC4030; begin

for i::i to logicW3Q[i] do daUA[i]::logicf030[i*i];

end;

procedure IC4035; begin

for i::i lo logic4035[il do dataA[il:--logic4035[itl];

end;

procedure IC4040; begin

for i::i to logic4040[l] do dataA[i]:--logic4040[iti];

end;

procedure IC4041; begin

for i::i to logic404i|i] do dataA[i]:--logic4(Wi[i)i];

end;

procedure IC4043; begin

for i;:i to logic4043[l] do dataA[i]::logic4043[i+il;

end;

procedure IC4044; begin

for i u i lo logic4044[i] do dataA[i]::logic4044[iU];

end;

procedure IC4049; begin

f o r i : : ! to logic4049[i] do dataA[i]::logic4049[Ui];

end;

procedure IC4050; begin

for i::i to logic4050[i] do dataA[i]:--logic4050[iti];

end;

procedure IC4051; begin

for i:ri to Ugic405i|l] do dataA[i]:--logic405![mi;

end;

procedure IC4052; begin

for iui to logic4052[i] do dataA[i]::logic4052[iti];

end;

procedure IC4053; begin

for i::i to logic4053[il do dataA[i)::logic4053[iti];

end;

procedure IC4066; begin

for i u i to logic4066[i] do dataA[i];:logic4066[iti];

end;

procedure IC406B; begin

for i::i to logic4068[i] do dataA[i]::logic4068[i*i];

end;

procedure IC4069;

begin for i::i to logic4069[i] do dataAIi]::logic4069[i»i];

end;

procedure IC4070; begin

for i::i to logic4Q70[il do dataA[i];:logic4070[iti];

end;

procedure IC4071; begin

for i:--l to logic407i[i] do dataA[i]::logic407i[iti];

end;

procedure IC4072; begin

for i::i to logic4072[l] do dataA[i];:logic4072[i«l];

cod;

procedure IC4073; begin

for i;:i to logic4073|i] do dataA[i]::logic4073[iti];

end;

procedure IC4075; begin

for i::i to logic4075[i] do dalaA|il::logic4075[i+i];

end;

procedure IC4076; begin

for i::l to logic4076[i] do dataA[i]::logic4076[itil;

end;

procedure 1C40T7; begin

for i::i to logic4077[l] do data»[i]::logic4077[itil;

end;

procedure IC4078; begin

for i:--i to logic4078[U do dataA|i]::logic4076|iti];

end;

procedure IC40B1; begin

for i::i to logic408l[il do dataA[i]::logic40M|itl];

end;

procedure IC4093; begin

for i;:l to logic4093[l] do dataA[i];:logic4093[itl];

end;

procedure IC4501; begin

for i;:i to logic450i|i] do dataA[i]:.-logic4501[iti];

end;

procedure IC4503; begin

f o r i u i to logic4503|i] do dataA[i]::logic4503[i*i];

end;

procedure IC4555; begin

for i:ri to logic4555[i] do dataA|il::logic4555[uil;

end;

procedure IC4572; begin

for i::i to logic4572[i] do dataA[i)::logic4572[i+l];

end;

procedure IC4585; begin

for i;:l to logic4565[i] do dataA[i]::logic4585[i+il;

end;

Procedure transfer; begin K::4; junjlala::dataA[l]; Kontroli::dataA[2]; Kontrol2::dataAl3); for i::i to jun data do

begin dataB[i)::dataA[k); inc(K);

end; end;

Procedure pinout; begin

jun pinout;-0; A::»000i; kontrol2a:--kontrol2; kontrol2a;:kontrol2a«256; Xontrol:Control2a « kontroli; for i :: i to 16 do

begin if (kontrol and A) : A then

begin junpinout:: jun_pinouU i; kontrolsiitch[ju»_pinout]::datasiitcb[i]; pin_yg_out[ junjinout]: :i; endT

A;:AsbJ i; end;

end;

Procedure nulaicekserl; label exit scri; begin

f:=M; x::l; i:=0; port [PBl]::kontroll; port [PK];:kontrol2; repeat

port [PCi]::dataB[x]; port [PC2]::dataB[xtl]; b u l l import [PA1]; hasil2::port |PA2]; if (nasillodataB[xJ) or (hasil2odataB[xtl]) then

begin y::l; x::jun_data •!; goto exitjeri;

end else x:--xt2; exit jeri :

until x>jun data; port [PBi]:-*FF; port |PB2|::*PP; if y.-0 then begin

c::c*6j gotoxy(cli); irite(seri[fl,' ' ) ;

end; end;

Procedure startseri; begin

transfer; nulaiceKseri;

end;

Procedure cariseri; begin

clrscr; g:=0; c::0; f:=0;

gotoxy(3T,9); iritel'Seri :')i IC4000;startseri; IC4001;startseri; IC40O2;startseri; IC4009;startseri; IC4010;startseri; ICWli; startseri; IC4012;startseri; IC4013;startseri; IC4015;startseri; IC40i6;startseri; IC4017;startseri; IC40i9;startseri; IC4020;startseri; IC4022;startseri; IC4Q23;startseri; IC4025;startseri; IC4027;startseri; IC4028;startseri; IC4030;startseri; IC4035;startseri; IC4040;startseri; IC4041;startseri; IC4043;startseri; IC4044;startseri; IC4049;startseri; IC405O;startseri; IC4051;startseri; IC4052;startseri; IC4053;startseri; IC4066;startseri;

IC4068;slartscri; IC4069;startseri; IC4O70;startseri; IC4071;startseri; IC«072;startseri; IC40T3;starlserl; ICW75;startseri; IC40T6;startseri; ICW77;startseri; IC4078;startseri; IC406i;startseri; ICW93;startseri; IC450i;startseri; IC4503;startseri; IC4555;startseri; IC4572;startseri; IC4565;startseri; if t-0 then begin

clrscr; gotoxy(20,iO); trite('tola IC ini tidak ada atau IC ini roaX');

end;

gotoxy(22.i«); trite('(TeKan 'Bnter' nntuK nelanjutKan)'); readln;

end;

procedure ulaiuji ; label exitjogic,exit_level,exituji;

begin clrscr; x::l; y::0; port [PC3]::$01; transfer; pinout; port |PBl].-:Kontroll; port [PK]::Kontrol2; repeat

repeat port [PCl]::dataB(x]; port [PC21;:dataB[x*ll; hasill;:poA |PAI]j hasil2:--port [PA2|; if (iiasillodataBlxll or (hasil2odataB[xti]) then

begin V-l\ x::jun_data • 1; goto exitjogic;

end else x;:x t 2; exltlogic:

until x > jun data; if j : l then begin

gotoxy(33,9); write('IC ini logikanya rusak'); counter::0; goto exit_uji; end

else x::i; repeat

port [FCl]::dataB[x]; port (PC2|::dataB[xtlli hasill::dalaB[x|; hasil2::dataB[x*il; nasil2a;:hasil2; hasil2a::hasil2ai256; basil::basil2a + basili; 21:0; repeat

2:--21 i;

port |PB3J::Xontrols»itcb[2]; delay(«); leveli::port [PA31; leweliirieveli and $03; level:-datalevel[level!]; b: rpiliblevel[pin_yg_oat[2]]; lerel2:=(basil andBJ sbr (pin_yg_out[2l - 1 ) ; if levelolevel2 then

begin y:M; z;:jun_pinout;

end until 2 -- jui_pinout; if y d then begin

gotoxy(33,9)i write('IC ini levelnya rusak'1; counter;:0; x:-jufl_data t 1; goto exitjevel;

end else x::x*2; exit_level:

until x>jun_data; if y:i then goto exituji; counter::counter-l; x::l;

exitjiji: until counter : 0; port |PB1|::^PP; port [PB2]::*FP; port (PC3]:.-$00; port (PB3]::JPP; if j:0 then begin

gotoxy(33,9); writeCIC ini baiU'li end;

readln; end;

procedure ujifanout; label exitJogiKa, exitjanout, exit_ujifo;

begin clrscr; x::l; y:--0; port (PC31::*06; transfer; pinout; port {FBI]:Control 1; port |PK]::Kontrol2;

repeat port [PCi]::dataB[x]; port [PC2]::dataB[xii]; nasiliuport [FAi]; nasil2::port [PA2J; if (basiliodataB[xj) or (hasil2odataB[xti]] then begin

y:=i; x::juo_data • i; goto exitlogiKa;

end else x::x + J; exitlogiKa:

until x > jimdata; if y:l then begin

gotoxy(33,9); write('IC ini logikanya rusax'); goto exit_ujifo; end

else x::l; repeat

port [PCl]::dataB[xl; port |PC21::dataB[x»l]; basill::dataB[xl;

basil2::dataB[x*i]; hasilEa::hasil2; Iiasil2a:--hasil2ai256; hasil::hasil2a » hasill; i::0; repeat

r.-z 11 ; b: :piliHlevel[pin_yg_out\i\ \ \ level?:--(nasil and B^ sbr (pin_yg_out[zl - 1 ) ; if level?:1 then

begin port[PB3]::Kontrolsiitch[zl;

*i«W; portlAdcPort]::too; repeat

test::port[PA3]; test:--test and JM;

until test : 0; baca::port[AdcFort]; if baca<235 then

begin

z::jua_pinout; end;

end; until z : juapinoul; if y--i then begin

gotoxy(3i,9); write('lenaiipuan fan oatnya rusak'); x::juo_data • 1; goto exitjanout;

end else x: --x*2; exit_fanout:

until x>jun_data; if y:i then goto exit ujifo; x::i; exit ujifo:

port |PBi]:--»FP; port [PB2];;»PP; port [PC3|::»00; port [PB3]::»FF; if y.-0 then begin

goloxy(?6,9); rriteCIeoanpuan fan outnya baiX'); end;

readln; end;

procedure sistenuji;

begin repeat clrscr; gotoxy(29,6); writer I. Pengujian tak berulang'); gotoxy (29,10)1 write('2. pengujian berulang'); gotoxy(29,12); writel'Tekan spacebar untuK Xeluar'); 8010X7(29,15); write('Pi 1ihan anda ? (1 atau 2) ' ) ; inchr::readXey; case inchr of

takberulang : begin counter;:l;nulaiuji;end; berulang : begin counter::10;nulaiuji;end; space : ; else write(bell);

end; until (inchr : ' ' ) ;

end;

procedure nenuujifanout; begin

gotoxy (20,9); write ('Pengujian Pan Out IC CHOS Xeluarga CMOOO'); gotoxy (27,12); write fSert IC yang aXan diuji : ' ) ; gotoxy (24,13); write ('( M a n "Biter* untuX selesai )'); gotoxy (53,12);

end;

procedure nenuujiic; begin

gotoxy (23,9); write ('Pengujian IC CHOS Keluarga CMOOO'); gotoxy (27,12); write ('Sen IC yang akan diuji : ' ) ; gotoxy (24,13); write ('( TeKan 'Biter' untuK selesai )'); gotoxy (53,12);

end;

Procedure uji; label exituji; begin repeal

clrscr; X ;: 0; if 1:0 then nenuujiic else nenuujifanout;

readln(ncoorlC); seriIC::ABS(nooorIC - 4000);

if serilC > 1000 then seriIC::ABS(nonorIC seriIC::seriIC+l000; case serilC of

1000 : begin IC4000;K::i;end; 1001 : begin iC400i;k:=l;end; 1002 : begin lC4002;k:-l;end; 1009 : begin lC4009;X::i;end; 1010 : begin IC4010;k::l;end; 1011 : begin icwil;k::l;end; 1012 : begin IC4012;k::l;end; 1013 : begin IC40i3;k::l;end; 1015 : begin IC4015;k::i;end; 1016 : begin lC4016;k:--i;end; 1017 : begin lCWl7;k:--i;end; 1019 : begin IC4019;k::l;end; 1020 : begin lC4020;k:-i;end; 1022 : begin IC4022;K::l;end; 1023 : begin lC4023;k:--i;end; 1025 : begin IC4025;k:--i;end; 1027 : begin IC4027;k::l;end; 1028 : begin lC4028;k;:i;end; 1030 : begin IC4030;k::i;end; 1035 : begin IC4035;k::i;end; 1040 : begin IC4040;k::i;end; 1041 : begin lC4041;k::i;end; 1043 : begin IC4043;k:--l;end; 1044 : begin IC4044;k::i;end; 1049 : begin lC4049;k::i;end; 1050 : begin IC4050;k:--l;end; 1051 : begin IC4051;k:--i;end; 1052 : begin IC4052;k:--l;end; 1053 ! begin IC4053;k:--i;end; 1066 : begin IC4066;k::i;end; 1066 : begin IC4066;k::l;end; 1069 : begin IC4069;k::i;end; 1070 : begin IC4070;k;:l;end; 1071 : begin IC407i;k::l;end; 1072 : begin IC4072;k::l;end; 1073 : begin IC4073;k::l;end; 1075 : begin IC4075;k::i;end; 1076 : begin IC4076;k::l;end; 1077 : begin lC4077;k:--l;end; 1078 : begin IC4078;k::l;end; 1081 : begin IC408l;k:--l;end; 1093 : begin IC4093;k::l;end; 1501 : begin IC450l;k::l;end; 1503 : begin IC4503;k::l;end; 1555 : begin IC4555;k:--l;end; 1572 : begin !C4572;k::i;end;

39000);

1585 : begin ICT565;K::i;end; 27536 :; else clrscr;gotoxy(32,iO); write ('Data ic tidak ada']; gotoxy(E2,i2);wite('( TeKan •Enter" untuk nelanjutkan)'); readln;

end; if k : 0 then goto exit_uji; if 1:0 then sisten uji else ujifanout; exiUji:

until nonoric : 0; end;

procedure nenu; begin

l::0; repeat

drscr; Gotoxy(38,T); Write ('MD')i Go toxy (28,10); trite ('1. Penguji I C ) ; Gotoxy(28,12); write ('2. Pencari seri'); gotoxy(28,H);

write ('3. Penguji fan out'),* gotoxy(28,l6); trite ('Man Esc untuk keluar!'); 6oToXY(23,i9); trite ('Pilihan anda ? (i, 2, 3 atau Esc) ' ) ; inchr :-- readkey; case inchr of QIC : begin l::0;uji;end; CS : CariSeri; UF : begin l::l;uji;end; esc: ; else trite(bell);

end; Until (inchr .- ESC) or (inchr : ' ' ) ;

begin ClrScr; Initjort; repeat nenu;

until (inchr : ESC); end.

TJCSjZ

-o r^jff:

x4-

M If

jfS.

TSS-

x: r±

1 * _

vcc D M VKCFS2 D e i M 2 D e i D»4 DOS D M D«7 VXN<*>

<XKR It CLKIH

« M < - > ACNO DCNO

kscDcn—

l-Jsr-̂ r̂ H 74LSW I

-pco reset

I .i"*—L«,—c —\

rfer THCSM j

• r«o - pfil • PA2 - PAS • Pfl«

&

GAMBAR H. 17

RANGKAIAK LENGKAP SISTEM PENGU. I IC