Vous êtes sur la page 1sur 104

BAB 1

TEORI ANTARMUKA

Elektronika Digital Nov 2005

Elektronika Digital Nov 2005

SISTEM KOMPUTER
Di dalam suatu komputer dikenal adanya istilah CPU, Memory dan I/O (InputOutput). Semuanya merupakan bagian dasar dari sistem komputer dimana antara bagian-bagian tersebut dihubungkan dengan jalur-jalur yang lebih dikenal dengan istilah bus.

Elektronika Digital Nov 2005

Ada tiga bus dalam sistem komputer Alamat (address bus)


Data (data bus) Kontrol (control bus)

yang menghubungkan komponen P, Memory dan Peralatan I/O


Elektronika Digital Nov 2005 4

Untuk CPU yang menggunakan mikroprosessor Intel


Misalkan P 8088, Intruksi kontrol untuk memory dan I/O berbeda, yaitu Read dan Write untuk Memory, serta In dan Out untuk I/O. Dimana I/O sendiri dipergunakan untuk mentransmisikan data dari luar ke CPU (input) atau sebaliknya, dari CPU ke luar (output).
Elektronika Digital Nov 2005 5

REGISTER-REGISTER MIKROPROSESSOR 8088


Mikroprosessor 8088 memiliki empat kelompok register 16-bit, yaitu : Data Register Pointer dan Index Register Flag Register dan Instruction Pointer Segment Register
Elektronika Digital Nov 2005 6

1. Data Register
Data Register terdiri dari 4 register 16 bit, dimana tiap register dapat dipisah menjadi dua register 8 bit. Adapun register-register tersebut adalah : AX (accumulator) BX (base) CX (count) DX (data)
Elektronika Digital Nov 2005 7

Tabel 1. Data Register

Huruf-huruf H dan L menyatakan status sebagai high byte atau low byte, dan dapat digunakan secara terpisah.
Elektronika Digital Nov 2005 8

Register AX berfungsi sebagai accumulator dan berhubungan dengan operasi-operasi khusus seperti IN, OUT, perkalian, pembagian dan lain-lain. Register BX sering dipergunakan sebagai register basis untuk mereferensikan lokasi memory. Dalam hal ini BX menyimpan alamat basis bagi suatu tabel atau array yang lokasi spesifiknya direferensikan dengan menambahkan nilai offset.
Elektronika Digital Nov 2005 9

Register CX berfungsi sebagai register pencacah 16-bit untuk mencacah banyaknya byte atau kata dalam string data tertentu selama pelaksanaan operasi-operasi string dan dalam operasi-operasi loop. Sedangkan register CL yang merupakan bagian dari register CX dipergunakan dalam operasi geser (shift) dan rotasi. Register DX dipergunakan dalam operasi perkalian untuk menyimpan sebagian dari hasil kali 32-bit, atau dalam operasi pembagian untuk menyimpan suatu nilai sisa. Dapat juga dipergunakan dalam operasi IN dan OUT untuk menspesifikasikan alamat port I/O yang dipakai.

Elektronika Digital Nov 2005

10

2. Pointer dan Index Register


Pointer dan Index Register sendiri terbagi dalam 4 register 16-bit yang tak dapat dipisah seperti Data Register. Register yang termasuk dalam kelompok ini adalah : SP (stack pointer), BP (Base Pointer), SI (Source Index) dan DI (Destination Index).
Elektronika Digital Nov 2005 11

Tabel 2 Pointer dan Index Register

Tabel 2. di atas memperlihatkan register-register yang termasuk kelompok ini. Register index dan pointer dipakai untuk menyimpan nilai offset guna mengakses lokasilokasi memory tertentu yang lazim digunakan, seperti lokasi puncak stack atau blok-blok data dalam suatu segment seperti array serta recordrecord individual. Elektronika Digital Nov 2005 12

Kedua register pointer, yaitu SP dan BP dipakai untuk menyimpan nilai-nilai offset segment stack memori pada saat yang bersangkutan, sedang kedua register indeks, SI dan DI, digunakan untuk menyimpan nilai-nilai offset dalam segment data memori pada saat yang bersangkutan.
Register SP merupakan stack pointer yang menunjukkan lokasi puncak stack. Penunjuk stack merupakan register yang secara implisit dipakai oleh instruksi PUSH dan POP yang menyimpan dan mendapatkan kembali data dari Elektronika Digital Nov 2005 13 stack.

Register SI dapat dipergunakan sebagai register indeks dalam modus pengalamatan tak-langsung tertentu. Juga digunakan untuk menyimpan offset untuk mengalamati lokasi suatu operand sumber selama berlangsungnya operasi string. Register DI mempunyai fungsi yang hampir sama dengan register SI di atas, bedanya register ini menunjukkan lokasi suatu operand tujuan selama berlangsungnya operasi string.
Elektronika Digital Nov 2005 14

3. Flag Register dan Instruction Pointer


Register Flag adalah sebuah register 2-byte yang berisi sembilan bit flag yang digunakan untuk menyatakan berbagai kondisi selama pelaksanaan suatu program. Bit 0, 2, 4, 6, 7, dan 11 berisi flag-flag status yang menyatakan hasil operasi-operasi program. Bit 8 sampai 10 berisi flag-flag pengendali, bit 1, 3, 5, dan 12 sampai 15 tidak dipergunakan.
Elektronika Digital Nov 2005 15

Tabel 3 Flag Register dan Instruction Pointer

Instruction Pointer dipergunakan untuk melokasikan posisi dalam Code Segment pada saat yang bersangkutan, maka suatu alamat 20bit tertentu dalam segment tersebut dilokasikan dengan menggunakan IP sebagai offset dari CS.
Elektronika Digital Nov 2005 16

4. Segment Register
Daerah-daerah memory yang disediakan bagi program, data dan stack dialamatkan secara terpisah, walaupun daerah-daerah ini mungkin saja saling bertumpang tindih. Pada setiap saat tersedia empat blok memori yang dapat dialamatkan, yang dinamakan segment dan masing-masing panjangnya 64K
Elektronika Digital Nov 2005 17

Tabel 4 Segment Register

Register-register segment yang disediakan yaitu CS, DS, SS dan ES yang masing-masing dipakai untuk menunjukkan keempat segment memory yang dapat dialamati : Code Segment, Data Segment, stack Segment dan Extra Segment
Elektronika Digital Nov 2005 18

Lokasi memory tertentu dalam suatu segment dialamatkan dengan menambahkan suatu nilai offset kepada register segment yang bersangkutan. Sebagai contoh, alamat instruksi program berikutnya yang harus dilaksanakan dihitung dengan menambahkan nilai Instruction Pointer kepada nilai Code Segment (CS). Akan tetapi, suatu lokasi memory harus dialamatkan dengan suatu nilai alamat 20-bit, sedangkan CS maupun IP hanya berisi nilai-nilai 16-bit. Oleh karena itu alamat sepenuhnya dihitung dengan menggeser isi register CS empat bit ke kiri dan mereset bit 0 sampai 3 ( sama saja dengan mengalikan CS dengan 16), kemudian menambahkan nilai 16-bit yang terkandung dalam IP.

Elektronika Digital Nov 2005

19

Lokasi-lokasi dalam ketiga segmenet yang lain dapat dihitung dengan cara yang sama, sedangkan kombinasi register segment dan offset bergantung pada jenis operasi yang sedang dilaksanakan. Secara umum, jika tidak ditentukan oleh pemakai, maka akan berlaku aturan-aturan ; Jika dipakai offset BX, SI atau DI maka alamat operand diasumsikan berada dalam Data Segment (DS). Jika offset yang dipakai adalah SP atau BP, maka operand akan dianggap tersimpan dalam Stack Segment (SS). Sedang untuk instruksi string, untuk source (sumber) digunakan offset SI dengan Data Segment (DS), dan untuk destination (tujuan) dipakai offsetElektronika DI dengan Extra Segment (ES). Digital Nov 2005 20

Elektronika Digital Nov 2005

21

Cara untuk menentukan address 20-bit dari segment dan offset yang masing-masing 16-bit.

Elektronika Digital Nov 2005

22

Slot PC
ISA Fungsi pin-pin pada slot ISA IMB PC D0 D7 (Data 0 Data 7) Data bus 8088, 8 bit, bidirectional.
Menandakan P sedang melakukan pembacaan / penulisan memori. Menandakan P sedang melakukan pembacaan / penulisan rangkaian I/O
Elektronika Digital Nov 2005 23

ALE ( Address Latch Enable ) Menandakan AD0 AD7 dan A8 A19 P 8088 berisi A0 A19. AEN ( Address Enable ) Saat aktif menandakan komputer sedang mengadakan memory refresh

Elektronika Digital Nov 2005

24

Rangkaian Interface output

Elektronika Digital Nov 2005

25

Rangkaian Interface input

Elektronika Digital Nov 2005

26

Bab 2
DASAR ANTARMUKA I/O

Elektronika Digital Nov 2005

27

Instruksi I/O
Instruksi I/O lebih umum dikenal dengan 2 macam, IN bertujuan untuk membaca data pada alamat I/O dan OUT digunakan untuk memindahkan data ke peranti I/O.

Elektronika Digital Nov 2005

28

Peranti masukan dasar


adalah buffer three state. Semua peranti masukan disimpan dalam buffer sehingga data I/O yang dihubungkan hanya ke bus data selama melaksanakan instruksi IN.

Elektronika Digital Nov 2005

29

Peranti keluaran dasar

Menggunakan latch untuk melindungi data keluaran selama pelaksanaan instruksi OUT. Hal ini diperlukan karena data tampak pada bus data selama kurang dari 100 ns untuk instruksi OUT, dan sebagian besar peranti keluaran memerlukan data untuk waktu yang lebih lama.

Elektronika Digital Nov 2005

30

Handshaking
Merupakan kerja dari dua peranti yang bebas yang mensinkronisasikan dengan beberapa line kontrol. Sebagai contoh, komputer bertanya kepada printer jika printer sibuk dengan memasukkan sinyal BUSY dari printer. Jika tidak sibuk, komputer mengeluarkan data ke printer dan memberitahukan kepada printer bahwa data tersedia dengan sinyal strobe data (DS).

Pengkodean alamat dari gerbang I/O


Pengkodean alamat dari gerbang I/O adalah sama dengan pengkodean dari alamat memori, khususnya untuk peranti memori-mapped I/O. Perbedaan antara pengkodean memori dan pengkodean isolated I/O adalah jumlah dari pin-pin alamat yang dihubungkan dengan dekoder. Kita mengkodekan A32-A0, A23-A0, atau A19-A0 untuk memori dan A15-A0 untuk isolated I/O.
Elektronika Digital Nov 2005 31

Pengkodean Alamat I/O 8-bit


Perintah tetap I/O menggunakan 8-bit dari alamat gerbang I/O yang terlihat pada A15-A0 sebagai 0000H00FFH. Embedded System seringkali menggunakan alamat 8-bit. Jika alamat dikodekan sebagai sebuah alamat yang mempunyai 8-bit, tidak dapat memasukkan peranti I/O yang menggunakan alamat sebesar 16-bit.

Elektronika Digital Nov 2005

32

Pengkodean Alamat I/O 16-bit


Pada alamat I/O 16-bit ada 8 jalur alamat tambahan (A15-A8). Gerbang NAND mendekodekan 8-bit pertama dari gerbang alamat I/O (A15-A8) sehingga membangkitkan sebuah sinyal untuk mengenable PAL 16L8 hanya untuk beberapa alamat I/O antara EF00H dan EFFFH. Selanjutnya PAL16L8 akan mendekodekan alamat I/O untuk menghasilkan 8 keluaran rendah dari strobe EFF8H-EFFFH

Elektronika Digital Nov 2005

33

PORT I/O 8-BIT DAN 16-BIT


Dekoder port I/O sama seperti dekoder alamat memori, kecuali yang tadinya pendekodean seluruh alamat, sekarang dekoder port I/O hanya mendekodekan alamat 16-bit pada instruksi port variabel dan sering nomor port 8bit pada instruksi I/O tetap.

Elektronika Digital Nov 2005

34

PORT I/O 8-BIT DAN 16-BIT

Elektronika Digital Nov 2005

35

PORT I/O 8-BIT DAN 16-BIT

Elektronika Digital Nov 2005

36

PORT 32-BIT
Rangkaian pada gambar dibawah menggambarkan sebuah port masukan 32-bit untuk mikroprosessor 80386SX atau 80486. Seperti antarmuka sebelumnya, rangkaian ini menggunakan PAL tersendiri untuk mendekodekan port I/O dan empat buah buffer 74LS244 untuk menghubungkan data I/O ke bus data. Port I/O dikodekan oleh saluran ini sebesar 8-bit pada port 70H73H. Kita hanya melakukan pendekodean pada alamat port I/O 8-bit.

Elektronika Digital Nov 2005

37

Bab 3
PROGRAMMABLE I/O (PPI 8255)
Elektronika Digital Nov 2005 38

Untuk hubungan input-output dengan dunia luar, maka komputer memerlukan suatu interface. Dan pada penulisan ini diperkenalkan penggunaan suatu jenis IC (integrated Circuit) yang sudah umum dipakai, yaitu IC 8255. IC ini adalah suatu Programmable Peripheral Interface (PPI), yang Input atau Outputnya dapat diprogram sesuai dengan keinginan pemakai. Dengan demikian akan didapatkan suatu fleksibilitas yang cukup tinggi
Elektronika Digital Nov 2005 39

Elektronika Digital Nov 2005

40

Dalam pengoperasian PPI, dapat dibedakan atas 3 mode operasi dasar yang dapat dipilih melalui software, yaitu : Mode 0 (Basic I/O) Konfigurasi operasi ini menyediakan operasi-operasi sederhana untuk input dan output bagi ketiga buah port yang ada. Tidak ada sinyal handshaking yang bisa diberikan ataupun diterima, melainkan data secara sederhana dikirim dan dibaca dari port.
Elektronika Digital Nov 2005 41

Mode 1 (Strobed I/O) Konfigurasi operasi ini menyediakan fasilitas untuk transfer data I/O dari dan ke port tertentu dengan dilengkapi oleh sinyal handshaking. Dalam hal ini port A dan port B digunakan sebagai transfer data, sedangkan port C sebagai pembangkit sinyal handshaking. Mode 2 (Strobed bidirectional I/O) Konfigurasi operasi ini menyediakan fasilitas untuk komunikasi data 8-bit dua arah dengan peralatan luar. Tersedia sinyal-sinyal untuk handshaking dan interrupt dengan fungsi enable dan disable-nya.
Elektronika Digital Nov 2005 42

Ketika PPI mendapat sinyal reset, maka semua port diset menjadi mode input (ke 24 jalur menjadi high impedance). Setelah dilakukan inisialisasi pasa IC 8255 tersebut, maka port-port tersebut dapat ditentukan apakah berfungsi sebagai input atau output dan sebagainya.

Elektronika Digital Nov 2005

43

Inisialisasi IC 8255
mengirimkan Control Word (CW)

Elektronika Digital Nov 2005

44

Pemakai dapat menentukan mode PPI sekaligus fungsi dari tiap port, apakah sebagai input atau output.
Contoh program untuk inisialisasi IC 8255 Connector PPI : Port A 300h Port B 301h Port C 302h Port CW 303h berfungsi sebagai mode 0, dengan port A dan Port C sebagai input serta Port B sebagai output. Disini Elektronika dipakai connector PPI. Digital Nov 2005 45

Control Word yang harus dikirim supaya IC 8255 dapat berfungsi

Elektronika Digital Nov 2005

46

Sehingga program untuk melakukan inisialisasi : MOV AL, 10011001b MOV DX, 303h OUT DX, AL
Kemudian program dapat dilanjutkan dengan melakukan pembacaan pada port A, misalnya. Atau bisa juga memberikan output ke port B. Berikut ini contoh untuk melakukan pembacaan input dari port A. MOV DX, 301h IN AL, DX
Elektronika Digital Nov 2005 47

Didalam program tersebut terlihat instruksi-instruksi IN dan OUT yang memegang peranan penting dalam pengiriman data ke dalam dan ke luar sistem komputer. Instruksi OUT DX,AL berarti mengirimkan data yang berada di AL ke alamat port yang tersimpan di DX. Sedangkan IN AL,DX berarti membaca data dari port yang alamatnya tersimpan di DX kemudian menyimpan data tersebut di AL.
Elektronika Digital Nov 2005 48

Contoh contoh instruksi I/O


1. Assembler
Output : mov dx, 300h Mov al, 45h Out dx, al Input : mov dx, 301h In al, dx
Elektronika Digital Nov 2005 49

2. Pascal
Output :

Port[$301]:=$50;

{kirim data 50h ke port B} {baca data dari port C}

Input :

3. C

C:=Port[$302];

Output :

Outportb(0x0300,25);

{kirim data 25h ke port A} {baca data dari port C}

Input :

D:=inportb(0x0302]; 4. Basic
Output :

Out 0x0378,D;

{kirim data di variabel D ke port paralel (DP)


{baca data dari port paralel (PS)
50

Input :

B:=inp (0x0379];

Elektronika Digital Nov 2005

Contoh program
Program lampu berjalan; uses crt, dos; begin label comeback; port[$301]:=data; var I: integer; data: byte; data:=data shl 1; tanya: Char; delay (1000); begin end; comeback: port[$301]:=0; port[$303]:=$80; data:=1; port[$303]:=0; for i:=1 to 8 do port[$303]:=0; begin port[$303]:=0; port[$302]:=data; data:=1; data:=data shl 1; for i:=1 to 8 do delay (1000); begin end; port[$300]:=data; port[$302]:=0; data:=data shl 1; Writeln (you comeback again (Y/N)?); delay (1000); Readln (tanya); end; If upcase (tanya)=Y then goto comeback; port[$300]:=0; Readln; data:=1; End. for i:=1 to 8 do Elektronika Digital Nov 2005 51

Rangkaiannya

Elektronika Digital Nov 2005

52

Contoh percobaan
5.1 Percobaan 1 Tujuan :
Mempelajari mode input/output dasar atau mode 0 pada PPI 8255.

Alat :
- 1 buah Komputer IBM PC 1 buah Modul Interface - 1 set Connector - 1 buah Modul Led dan saklar

Teori :
Konfigurasi operasi pada mode 0 menyediakan operasi-operasi sederhana untuk input dan output bagi ketiga buah port yang ada. Tidak ada sinyal handshaking yang bisa diberikan ataupun diterima, melainkan data secara sederhana dikirim dan diterima dari port. Adapun contoh program untuk inisialisasi 8255 sehingga dapat berfungsi sebagai mode 0, dengan port C sebagai input dan port A dan Port B sebagai output.
Elektronika Digital Nov 2005 53

Dimana Control Word yang harus dikirim supaya 8255 dapat berfungsi adalah:

Dimana, penulisan dalan softwarenya: MOV AL,10001001B MOV DX,303H OUT DX,AL Kemudian program dapat dilanjutkan dengan melakukan penulisan pada port A dan port B, yaitu: MOV DX,301h MOV AL,10101010b OUT DX,AL dan pembacaan data pada Port C, adalah: MOV DX,302h IN AL,DX. Elektronika Digital Nov 2005 54

Didalam program tersebut terlihat instruksi OUT yang memegang peranan penting dalam pengiriman data ke luar sistem komputer dan instruksi In untuk pembacaan data dari luar sistem komputer.
Prosedur:
1. Pasanglah modul interface pada salah satu slot IBM PC. 2. Hubungkan modul saklar dan led dengan Card Interface. 3. Nyalakan Komputer 4. Minta tugas pada asisten 5. Lakukan percobaan.
Elektronika Digital Nov 2005 55

BAB 4
HUBUNGAN DENGAN PERALATAN ANALOG

Elektronika Digital Nov 2005

56

SISTEM ANALOG
Suatu sistem digital dengan masukan analog dan keluaran analog

Elektronika Digital Nov 2005

57

PENGUBAH D/A
Diagram blok dari suatu pengubah D/A

Elektronika Digital Nov 2005

58

PENGUBAH D/A DASAR


Suatu rangkaian pengubah D/A

Elektronika Digital Nov 2005

59

Contoh Rangkaian DAC

Elektronika Digital Nov 2005

60

PENGUBAH A/D
Diagram blok pengubah A/D

Elektronika Digital Nov 2005

61

PENGUBAH A/D
Diagram blok dari suatu pengubah A/D jenispencacah tanjakan

Elektronika Digital Nov 2005

62

Contoh Rangkaian ADC

Elektronika Digital Nov 2005

63

VOLTMETER DIGITAL DASAR


Diagram blok suatu voltmeter digital

Elektronika Digital Nov 2005

64

Diagram blok suatu voltmeter digital

Elektronika Digital Nov 2005

65

PENGUBAH A/D LAIN


Diagram blok pengubah A/D jenis tanjakan

Elektronika Digital Nov 2005

66

Diagram blok pengubah A/D jenis pendekatan urutan

Elektronika Digital Nov 2005

67

PENGUKUR CAHAYA DIGITAL


Diagram kawat untuk rangkaian pengukur cahaya digital yang menggunakan keluaran biner

Elektronika Digital Nov 2005

68

PENGUKUR CAHAYA DIGITAL


Diagram kawat untuk rangkaian pengukur cahaya digital yang menggunakan keluaran desimal

Elektronika Digital Nov 2005

69

BAB 5
PIC 8259 (Programmable Interrupt Controller)

Elektronika Digital Nov 2005

70

Ada 2 cara melayani sinyal trigger dari piranti luar:


Interupsi Polling

Interupsi:

subrutin dijalankan jika ada trigger dari luar piranti Polling: P menanyakan pada piranti-piranti luar, secara bergilir, apakah ada tugas.
Elektronika Digital Nov 2005 71

Ada 2 macam interupsi:


Software: (contoh Int 65h)
Digunakan untuk melayani kondisi tertentu pada software yang sedang berjalan.

Hardware:
Digunakan untuk melayani trigger dari luar.

PIC 8259 mempunyai 8 masukan interupsi yaitu:


IRQ0 sampai dengan IRQ7

Elektronika Digital Nov 2005

72

Tabel masukan interupsi 8259


Request IRQ 0 IRQ 0 IRQ 0 IRQ 0 IRQ 0
IRQ 0 IRQ 0 IRQ 0

Interrupt Type 8 Type 9 Type A Type B Type C


Type D Type E Type F

Timer Keyboard Kosong Komunikasi serial ke-2 Komunikasi serial ke-1 Fixed Disk Disk Drive Printer

Prioritas Tertinggi Ke-2 Cadang AT Ke-4 Ke-5


Ke-6 Ke-7 Terendah
73

Elektronika Digital Nov 2005

PIC 8259 mempunyai 4 register:


Interrupt Request Register (IRR):
8-bit data internal yang setiap bitnya mewakili masing-masing IRQ#.

Priority Resolver (PR):


Menentukan prioritas bagi setiap bit IRQ yang ada.

In Service Register (ISR):


Menyimpan data IRQ# yang sedang dilayani permintaannya.

Interrupt Mask Register (IMR):


Menyimpan data IRQ# yang di-mask (non-aktif) dan unmask (aktif)
Elektronika Digital Nov 2005 74

Fungsi pin-pin PIC 8259:


D7 D0 : data bus RD : Proses pembacaan, Aktif low WR : Proses penulisan, aktif low A0 : A0 Address 0 20h

21h

CS : chip select CAS0-CAS2: perluasan PIC


Elektronika Digital Nov 2005 75

Inisialisasi:
Ada 2 data inisialisasi yaitu ICW dan OCW. 1. Initialization Control Word (ICW): menyiapkan piranti agar dapat menerima satu interrupt atau lebih. ICW1: A0 D7 D6 D5 0 A7 A6 A5 D4 1 D3 LTIM D2 ADI D1 D0 SNGL IC4

A0 : alamat internal tujuan pengiriman ICW1


Elektronika Digital Nov 2005 76

D7-D5: untuk sistem P 8085 D4: harus diberi logika 1 D3 = 0, melayani permintaan interrupt jika IRQ# berubah dari 0 ke 1. D2 = 0, karena tidak dipakai di P 8088 D1 : 0 bila beroperai dalam perluasan D1 = 1 karena P 8088 perlu ICW4
ICW2: Nomor tipe interupsi, misalkan. ICW2 diberi nomor tipe 8h maka IRQ0 = 8h dan lalu IRQ1=9h dan seterusnya.
Elektronika Digital Nov 2005 77

A0 D7 D6 1 T7 T6

D5 T5

D4 T4

D3 T3

D2 T2

D1 T1

D0 T0

A0 =1, alamat ICW2. D7 D0 : diisi data tipe interupsi IRQ0. ICW3:


Mode kaskade, kalau PIC dalam operasi single, ICW3 ini tidak digunakan.

ICW4:
A0 D7 1 0 D6 0 D5 0 D4 SFNM D3 BUF D2 M/S D1 AEOI D0 PM
78

Elektronika Digital Nov 2005

KONTROLER INTERUPSI DAPAT DIPROGRAM 8259A

Berfungsi untuk menambah delapan interrupt yang prioritasnya dienkode dan divektorkan pada mikroprosesor. Pin-pin pada PIC 8259A : D7 D0 : hubungan data bidireksional IR7 IR0 : input permintaan interrupt (interrupt request) WR : input write RD : input read INT : output interrupt INTA : Interrupt Acknowledge A0 : input alamat A0 CS : chip select SP/EN : Slave program / enable buffer CAS2-CAS0 : jalur cascade
Elektronika Digital Nov 2005 79

Menghubungkan satu 8259A

Elektronika Digital Nov 2005

80

Cascading 8259A

Elektronika Digital Nov 2005

81

Contoh Pemrograman 8259A


Prog-rammable interrupt controller 8259A yang dihubungkan ke programm-able communications controller 16550. Kedua alat ini diantarmukakan ke bus data mikroprosesor 8088.

Elektronika Digital Nov 2005

82

BAB 6
PIT 8253 (Programmable Interrupt Timer)

Elektronika Digital Nov 2005

83

Fungsi:
Pembagi frekuensi Monostabil Multivibrator

Memiliki:

3 buah counter internal ynag msingmasing, mempunyai: 1 buah input clock 1 gate pengendali sebuah output

Elektronika Digital Nov 2005

84

Fungsi pin-pin PIT 8253:


D7 D0 RD WR A0 A1 : data bus : Proses pembacaan, Aktif low : Proses penulisan, aktif low :
A0
0 0 1 1

A1
0 1 0 1 Access counter 0 Access counter 1 Access counter 2 Access reg. control

CS

: chip select
Elektronika Digital Nov 2005 85

Inisialisasi: 8-bit
Setiap counter harus diinisialisasi secara terpisah Control word

D7

D6

D5

D4

D3

D2 M1

D1 M0

D0 BCD

SC1 SC0 RW1 RW0 M2

SC Select Counter (D7-D6) SC1 SC0 Select Counter 0 0 0 Select Counter 1 0 1 Select Counter 2 1 0 Read Back 1 1Elektronika Digital Nov 2005

86

Read Back:
melihat status counter setelah inisialisasi tapi hanya terdapat pada PIT 8254
RW Read/Write (D5-D4): Metoda pembacaan data oleh counter.

RW1 0 0 1 1

RW0 0 1 0 1 Counter Latch R/W LSB Only R/W MSB Only R/W LSB then MSB

Counter latch: digunakan bersamaan dengan fasilitas Elektronika Digital Nov 2005 87 read back pada PIT 8254

M Mode (D3-D1):
Mode 3 adalah: sebagai pembagi frekuensi terprogram. Lebih sederhana dan memiliki penerapan yang luas.

M2

M1

M0

0 0 X X 1 1

0 0 1 1 0 0

0 1 0 1 0 1

Mode 0 - Interrupt on terminal counter Mode 1 Hardware one shot Mode 2 Pulse Generator Mode 3 Square Wave Generator Mode 4 Software Triggered Strobe Mode 5 Hardware Triggered Strobe
88

Elektronika Digital Nov 2005

BCD (D0):

D0 0 1

Binary Counter : 00 s/d FF Decimal Counter : 00 s/d 99

Contoh: Sebuah PIT 8253 memperoleh masukan clock dengan frekuensi sebesar 1,19 MHz di semua counter. Diperlukan keluaran dengan frekuensi sebesar 47,6 khz pada counter 0
Elektronika Digital Nov 2005 89

Jawab:
Counter 0 harus diinisialisasi sebagai pembagi frekuensi dengan nilai pembagian sebesar 1,19 MHz : 47,6 khz = 25. Maka komposisi control word atau data inisialisasi: 00 01 111 1 = 1Fh Ket: D7 dan D6 = 00 (counter 0) D5 dan D4 = 01 yang berarti R/W LSB Only D3 s/d D1 = 111 (mode 3) D0 = 1 (nilai pembagi counter dikirim dalam sistem decimal).

Elektronika Digital Nov 2005

90

Program inisialisasinya:
; mengirim control word mov dx,address_register_kontrol mov al,1Fh out dx,al ; mengirim nilai pembagi frekuensi movdx,address_counter_0 mov al,25h out dx,al Setelah program di-execute maka counter 0 akan mengeluarkan clock dengan frekuensi 47,6 khz. 91 Elektronika Digital Nov 2005

APLIKASI Sampling Sinyal Suara

Elektronika Digital Nov 2005

92

Hardware

Blok diagram sampling sinyal suara


Elektronika Digital Nov 2005

93

Rangkaian PPI 8255


Elektronika Digital Nov 2005 94

Rangkaian Penguat mikropron dan filter


Elektronika Digital Nov 2005 95

Rangkaian ADC 0804


Elektronika Digital Nov 2005 96

Rangkaian DAC 0808


Elektronika Digital Nov 2005 97

Software

Konversi ADC
Elektronika Digital Nov 2005

98

Flow Chart program


Elektronika Digital Nov 2005

99

Flow Chart program(Lanjutan)


Elektronika Digital Nov 2005

100

Pengujian

Program untuk PPI 8255


Elektronika Digital Nov 2005

101

Program untuk ADC


Elektronika Digital Nov 2005

102

Program untuk DAC


Elektronika Digital Nov 2005 103

DAFTAR PUSTAKA
Arianto Widyatmo dkk, 1994, Belajar Mikroprosesor dan mikrokontroler melalui Konputer PC, PT Elex Media Komputindo, Jakarta Barry B. Brey, 2001, Mikroprosesor Intel, Jilid 1, Erlangga, Jakarta. Darwison, 2003, Panduan Praktikum Elektronika Digital (Interface), Padang. Tim penelitian & pengembangan wahana komputer, 2000, Protel Schematic Design for Windows, Wahana komputer, Semarang Soetikno, 1994, Pratikum Elektronika Lanjutan II, Lab Mikroelektronika, Teknik Elektro ITS, Surabaya.

Elektronika Digital Nov 2005

104