Selasa, 04 Oktober 2016

Komponen Pendukung

Pada Mikroprosessor terdapat komponen utama dan komponen pendukung. Berikut adalah komponen pendukung mikroprosessor.

A. PPI 8255 (Programmable Peripheral Interface 8255)


PPI 8255 merupakan suatu IC yang digunakan untuk rangkaian interface. Rangkaian interface itu sendiri mempunyai 3 port dengan masing-masing berkapasitas 8-bit. Jika dalam merancang sistem minimum 8088 ternyata memerlukan interface lebih dari 3 port maka dapat ditambahkan IC PPI 8255 sesuai kebutuhan dengan menambahkan rangkaian decoder-nya seperti rangkaian decoder di bawah ini :
Gambar a. Contoh Rangkaian Decoder dengan IC PPI 8255

Gambar b. IC PPI 8255

Keterangan :
  1. Bus Alamat PA-PA0 & PB7 - PB0 & PC7 - PC0 adalah Terminal I/O port.
  2. Bus Data D7 - D0 adalah Data Bus
  3. Bus Kontrol: /CS, /WR, /RD dan RESET CS (Chip Select) adalah Jika CS di set "0" maka PPI akan bekerja. RD(Read) adalah Jika RD di set "0" maka CPU Komputer sedang membaca data dari PPI 8255. WR(Write) adalah jika diset "0" maka CPU Komputer sedang menulis data ke PPI 8255.
  4. A0 - A1 adalah Kombinasi mereka digunakan untuk memilih Port yang mana yang akan di gunakan.
  5. Vcc dan GND adalah Terminal Tegangan Suplai.

B. PIC 8259

IC PIC 8259 mempunyai 8 masukan interupsi yaitu IRQ0 sampai dengan IRQ7. PIC 8259 berfungsi untuk  menerima dan mengatur interupsi yang muncul dan mengarahkannya pada sistem penerima interupt  serta untuk mempercepat respon sistem (fungsi interupt)
berikut ini adalah gambar IC PIC 8259 pada Proteus

Gambar c. IC PIC 8259

Fungsi pin - pin PIC 8259 :

  • D7 –D0 : data bus
  • RD        : Proses pembacaan, Aktif low
  • WR       : Proses penulisan, aktif low
  • A0        : Pengalamatan
  • 0           : Address 20h
  • 1            : Address 21h
  • CS         : chip select
  • CAS0-CAS2 : perluasan PIC


 Analog to Digital Converter (ADC)

Rangkaian ADC adalah untuk merubah besaran analog menjadi besaran digital, misalnya masukan analog berupa besaran listrik hasil dari sensor suhu. Adapun rangkaian ADC seperti pada gambar :

AD/DA Converter (Analog to Digital / Digital to Analog Converter)

IC ADC 0804 dan IC DAC 0808 buatan Intel adalah IC yang digunakan untuk konversi besaran analog menjadi 8-bit digital dan sebaliknya, seperti tabel 10. Adapun contoh IC ADC yang lain adalah IC 0809 yang mempunyai 8 kanal input analog dan contoh DAC seperti 0830 buatan National Semiconductor Corporation. Data digital dari A/D Converter terhubung ke suatu port input, sedangkan input digital dari D/A Converter terhubung ke suatu port output. DAC 0808 tidak memerlukan sinyal control, sedangkan ADC 0804 membutuhkan sinyal control, seperti terlihat pada Tabel, suatu rancangan sinyal kontrol pada Port C.
Untuk ADC 0804 diperlukan sinyal ? untuk memulai konversi. Dan jika konversi telah dilakukan maka akan diberikan sinyal ? yang aktif low. Sinyal ini akan tetap low, sampai diberikan sinyal ? sebagai pertanda bahwa komputer hendak membaca hasil konversi tersebut. Setelah pembacaan dilakukan, maka sinyal ? dapat dikembalikan menjadi high dan ? akan segera menjadi high kembali, sehingga data menjadi invalid untuk dibaca. Diagram waktu untuk A/D Converter 0804

Digital to Analog (DAC)

Untuk D/A Converter ini tidak diperlukan sinyal latch sehingga outputanalog-nya langsung mengikuti perubahan input digital, contoh rangkaiannya seperti pada gambar 20. Rangkaian DAC dapat diaplikasikan untuk mengatur kecepatan motor DC.
Untuk D/A Converter ini tidak diperlukan sinyal latch sehingga output analog-nya langsung mengikuti perubahan input digital.

Sensor Suhu LM 35

LM 35 adalah sensor temperatur sederhana yang banyak digunakan untuk aplikasi kontrol suhu karena selain harganya cukup murah, linearitasnya cukup bagus. LM35 tidak membutuhkan kalibrasi eksternal yang menyediakan akurasi ±¼°C pada temperatur ruangan dan ±¾°C pada kisaran -55 to +150°C. LM35 dioperasikan pada -55° hingga +150°C, sedangkan LM35C pada -40°C hingga +110°C, dan LM35D pada kisaran 0-100°C. Sensor LM35 bekerja secara linear dimana kenaikan tegangan sebesar 10mV untuk setiap kenaikansuhu 1°C (300mV pada 30 °C). Untuk menggunakan LM35, cukup menhubungkan keluaran dari pin Vout untuk dapat dihubungkan langsung ke ADC(misal ADC 0804 8 bit) seperti gambar :

Dot Matrik

Dot matrik 5 x7 adalahsatu dot matrik yang berukuran 5 kolom x 7 baris susunan LED. Jadi 1 dot matrik terdapat 35 buah LED seperti gambar 22.Dengan dot matrik 5 x 7 dapat ditampilkan berbagai macam karakter angka, husuf maupun simbol. Prinsip kerja dot matrik disini menggunakan proses scanning kolom. Scanning kolom adalah mengaktifkansetiap kolom secara bergantian. Proses pergantianpengaktifan kolom dari kolom 1 sampai kolom 5 begitu cepat dan berulang-ulang sehinggamisalkan huruf "A" yang terdiri dari 5 kolom tampak nyala secara bersamaan. Apabila proses scanning kolom dipelankan maka akan terlihat pergeseran penyalaan kolom perkolom.

LCD (Liquid Crystal Display)

Untuk aplikasi display selain 7-segment dapat menggunakan LCD. LCD mempunyai RAM sehingga data yang sudah dikirim pada suatu address baris dan kolom tertentu maka dapat dibaca kembali data yang dikirim pada address tersebut dengan mengirim sinyal kontrol RW (pin R/-W) untuk address tersebut. LCD yang digunakan disini adalah display 2 baris 16 kolom karakter yang contoh rangkaiannya adalah seperti gambar :
LCD adalah display 2 baris 16 kolom karakter yang contoh rangkaiannya adalah seperti gambar :


Keypad

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7thkUzNz8JLDHZzfa6QUbnObsAnxXLo9IEp1KU-WSKdoU6BBkWHKZopXLwtlUTcrOHjxv6I6s-11s_eUKIGJ7iLcIuZhpRyrPfJPSYICM4qlaCAd2q0tPVym2siW83y_47TVvcQmI4m61/s1600/image-022-copied.PNG

Proses pembacaan input dari keypad adalah dengan melakukan proses scanning pada setiap kolom. Cara scanningadalah memberikan logika 0 pada satu kolom dan kolom yang lain berlogika 1 seperti pada gambar.

Jika keadaan keypad seperti gambar 9 diatas maka akan dapat diketahui apakah tombol 1, 4, 7 atau tombol * yang ditekan dengan mengetahui keluaran dari logika baris. Misalkan, jika tombol 1 ditekan maka baris pertama yang berlogika 0 karena secara rangkaian tombol akan membuat hubungan kolom dan baris dihubung singkat. Kemudian untuk proses scanning yang kedua sama seperti proses scan yang pertama hanya saja dilakukan pada kolom dua. dengan kondisi seperti diatas maka dapat diketahui apakah tombol 2, 5, 8 atau tobol 0 yang sedang ditekan. Dan selanjutnya untuk proses scanning yang ketiga sama seperti proses scan yang pertama dan kedua hanya saja dilakukan pada kolom ketiga. Dalam kondisi ini maka dapat diketahui apakah tombol 3, 6, 9 atau tombol # yang ditekan. Ketiga proses scanning tersebut harus dilakukan secara cepat dengan proses looping atau dengan mempertimbangkan kecepatan menekan tombol oleh tangan.

Download di sini

PERANCANGAN SISTEM

 Mikroprosesor sebagai suatu sistim arsitekturnya dapat digambarkan seperti gambar berikut. Masing-masing komponen dari sistim dihubungkan satu sama lain melalui tiga saluran bus.

Pengembangan sistim mikroprosesor membutuhkan adanya dua perangkat pembentuk sistim mikroprosesor yaitu perangkat keras dan perangkat lunak. Sebagai suatu sistim perangkat keras dan perangkat lunak sama-sama pentingnya. Dalam perencanaan dan pengembangan sistim kedua perangkat ini harus dirancang dan dikembangkan secara bersama-sama.

Perancangan perangkat keras terdiri dari perencanaan penggunaan bus data dan perencanaan penggunaan sistim bus alamat. Untuk perancangan penggunaan sistim bus data sangat mudah karena semua jalur bus data mikroprosesor dapat dihubungkan langsung dengan bus data memori dan bus data I/O jika semua komponen pembangun sistim mempunyai luasan bus data yang sama. Yang harus diperhatikan adalah jumlah memori dan jumlah I/O yang diinstalasikan jangan sampai melebihi kemampuan Fan Out (jumlah gerbang yang dapat ditangani) dari data bus Mikroprosesor yang digunakan. Jika melebihi maka harus dikuatkan menggunakan buffer. Pengawatan rancangan sistim bus alamat dan bus kendali sedikit lebih sukar. Kendati demikian pemahaman akan fungsi bus secara keseluruhan akan membantu mudahnya perakitan mikroprosesor. Untuk mempermudah Untuk mempermudah pengawatan bus alamat dan bus kendali diperlukan beberapa langkah yaitu: 1. Pembuatan Peta Memori 2. Pembuatan Peta I/O 3. Daftar Memori 4. Daftar Port I/O 5. Dekoder Alamat


  •  Pembuatan peta memori

Peta memori adalah suatu peta yang menunjukkan lokasi alamat suatu unit memori. Peta ini sangat penting artinya bagi CPU dalam mengenali lokasi-Iokasi suatu unit memori. • Dirancang sistem minimum yang menggunakan 2 RAM dan 1 ROM yaitu RAM6116 (2KB) dan RAM 6264 (8 KB) dan ROM 27128 (16KB) • Untuk dapat mengakses address dari RAM-0 6116 (2KB) menggunakan pin A0 sampai dengan pin A10 • Untuk RAM-1 6264 (8 KB) menggunakan pin A0 s/d A12 • Untuk ROM27128 (16KB) menggunakan pin A0 s/d A13.

Peta memori menunjukkan : a. Bagian dari memori yang dapat digunakan untuk program b. Bagian memori Read Only c. Bagian memori Read Write d. Program pengendalian sistim e. Tempat dimana memori diinstalasi f. Daftar alamat piranti memori g. Daerah memori yang masih kosong (jika ada). Pemetaan memori menunjukkan rancangan penempatan memori RWM dan ROM sesuai dengan alamat yang dikehendaki. Satu chip merupakan satu blok memori. Satu blok satu chip memori menempati lokasi alamat berurutan. Khusus untuk ROM program monitor harus diletakkan pada alamat sesuai dengan arah vector reset dari CPU.
Kapasitas sebuah chip memori ditentukan oleh jumlah bit addres bus. Kapasistas sebuah chip memori berdasarkan jumlah addres bus adalah sebagai berikut:
 Luasan daerah alamat suatu memori menentukan kapasitas memorinya. EPROM2532 berada pada alamat 0000h – 0FFFh memiliki kapasitas 4 Kbyte. Kapasitas ini dicari dengan mengurangkan bit alamat akhir terhadap bit alamat awal. Kemudian dihitung jumlah bit (n) yang menunjukkan angka biner 1. Kapasitas memori suatu memori sama dengan dua pangkat n.
Pada gambar terlihat disebelah kiri peta ada angka-angka yang menunjukkan alamat memori. EPROM2532 berada pada alamat 0000h -0FFFh. RAM 6116 berada pada alamat 1800h - 1FFFh. EPROM 2732 berada pada alamat 2000h - 2FFFh.


  •  Pembuatan peta input output

Peta I/O menunjukkan jumlah, jenis I/O, dan alamat I/O yang diinstalasikan dalam sebuah sistim mikroprosesor. Peta I/O sangat membantu dalam pengembangan program khususnya dalam membangun proses dan akses I/O.
Dirancang sistem minimum yang menggunakan 4 komponen I-O yaitu PPI-0 8255 dan PPI-1 8255, PIT 8253 serta PIC 8259. Untuk PPI 8255 masing-masing membutuhkan 4 kombinasi address (A1 A0 yaitu 0 s/d 3 Byte), PIT 8253 membutuhkan 4 kombinasi address yaitu A1A0 serta PIC 8259 membutuhkan 2 kombinasi address yaitu A0.

  • Pemilihan chip komponen

Masing-masing komponen pada sistim mikroprosesor biasanya dilengkapi minimal dengan satu pin untuk pemilihan chip. Pin ini biasanya disebut chip select (CS) atau juga dikenal dengan chip enable (CE). CS (tanpa tanda slash ) artinya sebuah chip akan aktif jika pin itu berlogika tinggi (1). Sedangkan CS (dengan tanda slash) menunjukkan sebuah chip akan berkeadaan aktif apabila pada pin CS diberi keadaan logika rendah (0).

  • Pembufferan bus

Tiap masukan sebuah alat merupakan beban pada keluaran yang menggerakkannya. Sebagian besar komponen menggerakkan mulai dari satu sampai dua puluh komponen lainnya. Setiap komponen harus diperiksa karakteristik penggerakan serta pembebanan masukan keluarannya. Bus mikroprosesor harus berhubungan dengan setiap chip masukan keluaran peripheral dan memori sistim. Semua mikroprosesor MOS kurang kemampuan penggerakkan keluarannya yang diperlukan dalam sistim besar. Karena itu dipakai buffer atau penggerak untuk menaikkan daya penggerakan bus. Ada pengirim bus untuk menggerakkan bus dan ada penerima bus untuk menerima bus dan menggerakkan rnikroprosesor.
Pada gambar pembufferan saluran alamat dan saluran pengendali diatas, melukiskan penggunaan pengirim untuk pembufferan bus pengendali dan bus alamat. Saluran-saluran pada bus pengendali bersifat satu arah.
Pada gambar diatas ditunjukkan cara pembufferan bus data. Data harus lewat pada dua arah, jadi dipakai baik sebagai pengirim maupun sebagai penerima.

  • Menghubungkan memori input dan output

Sebagai bagian dari suatu sistim mikroprosesor, memori dan I/O merupakan komponen pokok. Perakitan memori dan I/O mengacu pada rancangan sistim berupa pengembangan peta memori dan peta I/O. Dirancang sistem minimum yangmenggunakan 2 RAM dan 1 ROMyaitu RAM 6116 (2KB) dan RAM 6264 (8 KB) dan ROM 27128 (16KB) serta 4 komponen I-O yaitu PPI-0 8255 dan PPI-1 8255, PIT 8253 serta PIC 8259 •Untuk dapat mengakses addressmemori dari RAM-0 6116 (2KB) menggunakan pin A0 sampai dengan pin A10 • RAM-1 6264 (8 KB) menggunakan pin A0 s/d A12 • untuk ROM27128 (16KB) menggunakan pin A0 s/d A13. • untuk mengakses address I-O dari PPI-0 8255 (4 B), PPI-1 8255 (4 B), PIT 8253 (4 B) menggunakan pin A1A0 dan PIC 8259 (2 B) menggunakan pin A0
Dalam membedakan alamat dari 3 komponen memori dan 4 komponen I-O tersebut dapat menggunakan address A14 s/d A19. • Untuk RAM-0 semua berlogika 0 (A14 s/d A19), • RAM-1 hanya A17 yang berlogika 1 dan selain itu berlogika 0 (A14 s/d A19), • ROM semua berlogika 1 (A14 s/d A19), • PPI-0 hanya A16 yang berlogika 1 dan selain itu berlogika 0 (A14 s/d A19), • PPI-1 hanya A17A16 yang berlogika 1 dan selain itu berlogika 0 (A14 s/d A19), • PIT hanya A18 yang berlogika 1 dan selain itu berlogika 0 (A14 s/d A19), • PIC hanya A18A16 yang berlogika 1 dan selain itu berlogika 0 (A14 s/d A19).


Tabel a. kebenaran peta memori input output

   

Aplikasi Kontrol Suhu (Sistem Minimum 8088)






Aplikasi kontrol sunu ini menggunakan sistem minimum 8088 dengan input berupa keypad dan output berupa 7-segment.
Untuk menjalankan program ini, dibutuhkan aplikasi Emu8088 dan Proteus 8. 
Adapun program yang digunakan adalah sebagai berikut :
; PROGGRAM11.ASM DIGUNAKAN UNTUK INPUT KEYPAD 
; DITAMPILKAN KE DISPLAY 7-SEGMENT
CODE_SEG SEGMENT   
        ASSUME CS:CODE_SEG,DS:CODE_SEG,SS:CODE_SEG
        ORG 100H   
start: jmp mulai   
porta equ 00h     
portb equ 01h     
portc equ 02h     
cw equ 03h
port1a equ 10h          
port1b equ 11h          
port1c equ 12h          
cw1 equ 13h
angka0 equ 00100000B
angka1 equ 01111100B
angka2 equ 00001010B
angka3 equ 01001000B
angka4 equ 01010100B
angka5 equ 01000001B
angka6 equ 00000001B
angka7 equ 01111000B
angka8 equ 00000000B
angka9 equ 01000000B
bintang equ 01011111B
pagar equ 00010010B
awal db ?
kolom db ?
data db ?
data_teks db ?
data_keypad1 db ?
data_keypad2 db ?
data_keypad3 db ?
ratusan db ?
puluhan db ?
satuan  db ?
keypad_ke db ?
status db ?
data_setting db ?
dataADC db ?
dataDAC db ?
akhir   db ?
mulai:
        Mov AX, CS   
        Mov DS, AX          
        Xor AX, AX  
        Mov ES, AX 
        Mov SS, AX 
        Lea SI, Awal
        Lea CX, Akhir    
        Mov DI, SI       
        Sub CX, SI       
        Cld                  
        Rep Movsb  
        Mov SP,800h     
        Xor AX,AX    
        Mov DS,AX  
        mov al,82h ; Port A dan Port C = 
; output dan Port B = input
        mov dx,cw
        out dx,al
mov al,82h ;Port A dan Port C = output dan Port B 
; = input
 mov dx,cw1
      out dx,al
call 7-mati
balik:
mov dx,portb
in al,dx
and al,128
cmp al,128
je balik
in al,dx
and al,00001111B
call konversi_keypad_to_bin
call konversi
call display
tunggu:
mov dx,portb
in al,dx
and al,128
cmp al,0
je tunggu
jmp balik
display proc near
mov dx,porta
out dx,al
call pulse
ret
display endp
konversi_keypad_to_bin proc near
cmp al,4
jne keypad1
mov al,1
ret
keypad1:
cmp al,8
jne keypad2
mov al,2
ret
keypad2:
cmp al,12
jne keypad3
mov al,3
ret
keypad3:
cmp al,1
jne keypad4
mov al,4
ret
keypad4:
cmp al,4
jne keypad5
mov al,4
ret
keypad5:
cmp al,5
jne keypad6
mov al,5
ret
keypad6:
cmp al,9
jne keypad7
mov al,6
ret
keypad7:
cmp al,13
jne keypad8
mov al,7
ret
keypad8:
cmp al,2
jne keypad9
mov al,8
ret
keypad9:
cmp al,6
jne keypad0
mov al,9
ret
keypad0:
cmp al,10
jne bintang
mov al,0
ret
bintang:
cmp al,14
jne pagar
mov al,bintang
ret
pagar:
cmp al,3
jne keluar
mov al,pagar
ret
keluar:
ret
konversi_keypad_to_bin endp
konversi proc near
cmp al,0
jne p1
mov al,angka0
ret
p1:
cmp al,1
jne p2
mov al,angka1
ret
p2:
cmp al,2
jne p3
mov al,angka2
ret
p3:
cmp al,3
jne p4
mov al,angka3
ret
p4:
cmp al,4
jne p5
mov al,angka4
ret
p5:
cmp al,5
jne p6
mov al,angka5
ret
p6:
cmp al,6
jne p7
mov al,angka6
ret
p7:
cmp al,7
jne p8
mov al,angka7
ret
p8:
cmp al,8
jne p9
mov al,angka8
ret
p9:
cmp al,9
jne out
mov al,angka9
ret
out:
ret
konversi endp
7-mati proc near
mov cx,8
off:
mov al,01111111B
mov dx,porta
out dx,al
call pulse
loop off
ret
7-mati endp
delay proc near               
push cx
        mov cx,07fffh       
        loop $              
        pop cx              
        ret                 
delay endp                  
pulse proc near
or al,128
out dx,al
ret
pulse endp
        ORG 40F0H   

        DB 0EAH     

        DW 0100H    
        DW 0FBF0H   
CODE_SEG ENDS       

        END START