Post on 20-Oct-2015
description
Elektronika Digital Nov 2005 1
BAB 1
TEORI ANTARMUKA
Elektronika Digital Nov 2005 2
Elektronika Digital Nov 2005 3
SISTEM KOMPUTER
• Di dalam suatu komputer dikenal adanya istilah CPU, Memory dan I/O (Input-Output). 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 4
• 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 5
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 6
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 7
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 8
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 9
• 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 10
• 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 11
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 12
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 lokasi-lokasi memory tertentu yang lazim digunakan, seperti lokasi puncak stack atau blok-blok data
dalam suatu segment seperti array serta record-record individual.
Elektronika Digital Nov 2005 13
• 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 stack.
Elektronika Digital Nov 2005 14
• 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 15
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 16
Tabel 3 Flag Register dan Instruction Pointer
• Instruction Pointer dipergunakan untuk melokasikan posisi dalam Code Segment pada saat yang bersangkutan, maka suatu alamat 20-bit tertentu dalam segment tersebut dilokasikan dengan menggunakan IP sebagai offset dari CS.
Elektronika Digital Nov 2005 17
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 18
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 19
• 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 20
• 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 offset DI dengan Extra Segment (ES).
Elektronika Digital Nov 2005 21
Elektronika Digital Nov 2005 22
Cara untuk menentukan address 20-bit dari
segment dan offset yang masing-masing 16-bit.
Elektronika Digital Nov 2005 23
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 24
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 25
Rangkaian Interface output
Elektronika Digital Nov 2005 26
Rangkaian Interface input
Elektronika Digital Nov 2005 27
Bab 2
DASAR ANTARMUKA I/O
Elektronika Digital Nov 2005 28
Instruksi I/OInstruksi 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 29
• Peranti masukan dasaradalah 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 30
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 31
HandshakingMerupakan 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 32
Pengkodean Alamat I/O 8-bit• Perintah tetap I/O menggunakan 8-bit dari alamat
gerbang I/O yang terlihat pada A15-A0 sebagai 0000H-00FFH. 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 33
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 34
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 8-bit pada instruksi I/O tetap.
Elektronika Digital Nov 2005 35
PORT I/O 8-BIT DAN 16-BIT
Elektronika Digital Nov 2005 36
PORT I/O 8-BIT DAN 16-BIT
Elektronika Digital Nov 2005 37
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 70H-73H. Kita hanya melakukan pendekodean pada alamat port I/O 8-bit.
Elektronika Digital Nov 2005 38
Bab 3
PROGRAMMABLE I/O (PPI 8255)
Elektronika Digital Nov 2005 39
• 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 40
Elektronika Digital Nov 2005 41
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 42
• 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 43
• 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 44
Inisialisasi IC 8255• mengirimkan Control Word (CW)
Elektronika Digital Nov 2005 45
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 dipakai connector PPI.
Elektronika Digital Nov 2005 46
Control Word yang harus dikirim supaya IC 8255 dapat berfungsi
Elektronika Digital Nov 2005 47
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 48
• 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 49
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 50
2. Pascal– Output :
• Port[$301]:=$50; {kirim data 50h ke port B}
– Input :
• C:=Port[$302]; {baca data dari port C}
3. C– Output :
• Outportb(0x0300,25); {kirim data 25h ke port A}
– Input :
• D:=inportb(0x0302]; {baca data dari port C}
4. Basic– Output :
• Out 0x0378,D; {kirim data di variabel D ke port paralel (DP)
– Input :
• B:=inp (0x0379]; {baca data dari port paralel (PS)
Elektronika Digital Nov 2005 51
Contoh program• Program lampu berjalan;
uses crt, dos;
label comeback;
var I: integer; data: byte;tanya: Char;
begin
comeback:
port[$303]:=$80;
port[$303]:=0;
port[$303]:=0;
port[$303]:=0;
data:=1;
for i:=1 to 8 do
begin
port[$300]:=data;
data:=data shl 1;
delay (1000);
end;
port[$300]:=0;
data:=1;
for i:=1 to 8 do
begin
port[$301]:=data;
data:=data shl 1;
delay (1000);
end;
port[$301]:=0;
data:=1;
for i:=1 to 8 do
begin
port[$302]:=data;
data:=data shl 1;
delay (1000);
end;
port[$302]:=0;
Writeln (‘you comeback again (Y/N)?);
Readln (tanya);
If upcase (tanya)=‘Y’ then goto comeback;
Readln;
End.
Elektronika Digital Nov 2005 52
Rangkaiannya
Elektronika Digital Nov 2005 53
Contoh percobaan5.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 54
• Dimana Control Word yang harus dikirim supaya 8255 dapat berfungsi adalah:
• Dimana, penulisan dalan softwarenya: MOV AL,10001001BMOV DX,303HOUT DX,ALKemudian program dapat dilanjutkan dengan melakukan penulisan
pada port A dan port B, yaitu:MOV DX,301hMOV AL,10101010bOUT DX,AL
dan pembacaan data pada Port C, adalah:MOV DX,302hIN AL,DX.
Elektronika Digital Nov 2005 55
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 Komputer4. Minta tugas pada asisten5. Lakukan percobaan.
Elektronika Digital Nov 2005 56
BAB 4
HUBUNGAN DENGAN PERALATAN ANALOG
Elektronika Digital Nov 2005 57
SISTEM ANALOG • Suatu sistem digital dengan masukan analog
dan keluaran analog
Elektronika Digital Nov 2005 58
PENGUBAH D/A• Diagram blok dari suatu pengubah D/A
Elektronika Digital Nov 2005 59
PENGUBAH D/A DASAR• Suatu rangkaian pengubah D/A
Elektronika Digital Nov 2005 60
Contoh Rangkaian DAC
Elektronika Digital Nov 2005 61
PENGUBAH A/D • Diagram blok pengubah A/D
Elektronika Digital Nov 2005 62
PENGUBAH A/D • Diagram blok dari suatu pengubah A/D jenis-
pencacah tanjakan
Elektronika Digital Nov 2005 63
Contoh Rangkaian ADC
Elektronika Digital Nov 2005 64
VOLTMETER DIGITAL DASAR
Diagram blok suatu voltmeter digital
Elektronika Digital Nov 2005 65
Diagram blok suatu voltmeter digital
Elektronika Digital Nov 2005 66
PENGUBAH A/D LAINDiagram blok pengubah A/D jenis tanjakan
Elektronika Digital Nov 2005 67
Diagram blok pengubah A/D jenis pendekatan urutan
Elektronika Digital Nov 2005 68
PENGUKUR CAHAYA DIGITAL • Diagram kawat untuk rangkaian pengukur
cahaya digital yang menggunakan keluaran biner
Elektronika Digital Nov 2005 69
PENGUKUR CAHAYA DIGITAL • Diagram kawat untuk rangkaian pengukur
cahaya digital yang menggunakan keluaran desimal
Elektronika Digital Nov 2005 70
BAB 5
PIC 8259(Programmable Interrupt
Controller)
Elektronika Digital Nov 2005 71
Ada 2 cara melayani sinyal trigger dari piranti luar:
InterupsiPolling
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 72
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 73
Tabel masukan interupsi 8259Request Interrupt Prioritas
IRQ 0 Type 8 Timer Tertinggi
IRQ 0 Type 9 Keyboard Ke-2
IRQ 0 Type A Kosong Cadang AT
IRQ 0 Type B Komunikasi serial ke-2
Ke-4
IRQ 0 Type C Komunikasi serial ke-1
Ke-5
IRQ 0 Type D Fixed Disk Ke-6
IRQ 0 Type E Disk Drive Ke-7
IRQ 0 Type F Printer Terendah
Elektronika Digital Nov 2005 74
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 75
Fungsi pin-pin PIC 8259:
D7 – D0 : data bus
RD : Proses pembacaan, Aktif low
WR : Proses penulisan, aktif low
A0 :
CS : chip select
CAS0-CAS2: perluasan PIC
A0 Address
0 20h
1 21h
Elektronika Digital Nov 2005 76
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 : alamat internal tujuan pengiriman ICW1
A0 D7 D6 D5 D4 D3 D2 D1 D0
0 A7 A6 A5 1 LTIM ADI SNGL IC4
Elektronika Digital Nov 2005 77
D7-D5: untuk sistem µP 8085D4: harus diberi logika 1D3 = 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 78
A0 D7 D6 D5 D4 D3 D2 D1 D0
1 T7 T6 T5 T4 T3 T2 T1 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 D6 D5 D4 D3 D2 D1 D0
1 0 0 0 SFNM BUF M/S AEOI μPM
Elektronika Digital Nov 2005 79
KONTROLER INTERUPSI DAPAT DIPROGRAM 8259AKONTROLER 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 bidireksionalIR7 – IR0 : input permintaan interrupt (interrupt request)WR : input writeRD : input readINT : output interruptINTA : Interrupt AcknowledgeA0 : input alamat A0CS : chip selectSP/EN : Slave program / enable bufferCAS2-CAS0 : jalur cascade
Elektronika Digital Nov 2005 80
Menghubungkan satu 8259A
Elektronika Digital Nov 2005 81
Cascading 8259A
Elektronika Digital Nov 2005 82
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 83
BAB 6
PIT 8253(Programmable Interrupt
Timer)
Elektronika Digital Nov 2005 84
Fungsi:
Pembagi frekuensiMonostabil Multivibrator
Memiliki:3 buah counter internal ynag
msing-masing, mempunyai: 1 buah input clock 1 gate pengendali sebuah output
Elektronika Digital Nov 2005 85
Fungsi pin-pin PIT 8253:
D7 – D0 : data bus
RD : Proses pembacaan, Aktif low
WR : Proses penulisan, aktif low
A0 – A1 :
CS : chip select
A0 A1
0 0 Access counter 0
0 1 Access counter 1
1 0 Access counter 2
1 1 Access reg. control
Elektronika Digital Nov 2005 86
Inisialisasi: 8-bit
Setiap counter harus diinisialisasi secara terpisahControl word
SC – Select Counter (D7-D6)
D7 D6 D5 D4 D3 D2 D1 D0
SC1 SC0 RW1 RW0 M2 M1 M0 BCD
SC1 SC0
0 0 Select Counter 0
0 1 Select Counter 1
1 0 Select Counter 2
1 1 Read Back
Elektronika Digital Nov 2005 87
Read Back:
melihat status counter setelah inisialisasi tapi hanya terdapat pada PIT 8254
RW – Read/Write (D5-D4):
Metoda pembacaan data oleh counter.
Counter latch:
digunakan bersamaan dengan fasilitas read back pada PIT 8254
RW1 RW0
0 0 Counter Latch
0 1 R/W LSB Only
1 0 R/W MSB Only
1 1 R/W LSB then MSB
Elektronika Digital Nov 2005 88
M – Mode (D3-D1):Mode 3 adalah:
• sebagai pembagi frekuensi terprogram.• Lebih sederhana dan memiliki penerapan yang luas.
M2 M1 M0
0 0 0 Mode 0 - Interrupt on terminal counter
0 0 1 Mode 1 – Hardware one shot
X 1 0 Mode 2 – Pulse Generator
X 1 1 Mode 3 – Square Wave Generator
1 0 0 Mode 4 – Software Triggered Strobe
1 0 1 Mode 5 – Hardware Triggered Strobe
Elektronika Digital Nov 2005 89
BCD (D0):
• 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
D0
0 Binary Counter : 00 s/d FF
1 Decimal Counter : 00 s/d 99
Elektronika Digital Nov 2005 90
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 91
Program inisialisasinya:
; mengirim control wordmov dx,address_register_kontrolmov al,1Fhout dx,al
; mengirim nilai pembagi frekuensi mov dx,address_counter_0
mov al,25hout dx,al
Setelah program di-execute maka counter 0 akan mengeluarkan clock dengan frekuensi 47,6 khz.
Elektronika Digital Nov 2005 92
APLIKASI Sampling Sinyal Suara
Elektronika Digital Nov 2005 93
Blok diagram sampling sinyal suara
Hardware
Elektronika Digital Nov 2005 94
Rangkaian PPI 8255
Elektronika Digital Nov 2005 95
Rangkaian Penguat mikropron dan filter
Elektronika Digital Nov 2005 96
Rangkaian ADC 0804
Elektronika Digital Nov 2005 97
Rangkaian DAC 0808
Elektronika Digital Nov 2005 98
Software
Konversi ADC
Elektronika Digital Nov 2005 99Flow Chart program
Elektronika Digital Nov 2005 100Flow Chart program(Lanjutan)
Elektronika Digital Nov 2005 101
Pengujian
Program untuk PPI 8255
Elektronika Digital Nov 2005 102Program untuk ADC
Elektronika Digital Nov 2005 103
Program untuk DAC
Elektronika Digital Nov 2005 104
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.