Senin, 19 Desember 2016

UAS

no 2.Rancang rangakaian dan program dengan mikrokontroler ATMega
Rancang Bangun Sistem Peringatan Dini Banjir Mikrokontroler AT89S52 Dengan Sensor Ultrasonik.
1. buat rangkaian ini dalam proteus

2. lalu buat program yang akan diinputkan kedalam mcs 51, lalu di kompiling

3. setelah selesai dikompiling dan tidak ada eror masukkan file kedalam mikrokontroler

4. selesai (data tidak keluar karena rangkaian yang dibuat adalah rancangannya dan untuk hasilnya dapat dilihat pada data)
rangkaian download disini
video download disini

Senin, 05 Desember 2016

UTS

Rancanglah rangkaian dan program sistem minimum 8086 untuk aplikasi kontrol suhu ruangan dengan display LCD
rangakaian download :disini
listing program download:disini
video download : disini
 

BAB 1 (Pendahuluan)


MICROPROCESSOR 8088

Referensi :
Mikroprosessor 8088 oleh Rachmad Setiawan dan The Intel Microprosessor 6th. Barry B Brey 2015
Pendahuluan :
Tujuan dari pembahasan ini adalah untuk memperkenalkan mikroprosesor intel 8086 dan 8088, dan bagaimana mikroprosesor berkembang.
Selain itu, setiap instruksi pada uP 8088 dapat dilaksanakan pada 8086 dan sampai mikroprosesor saat ini yang banyak dipakai di PC yang berstandardkan prosesor Intel tanpa ada perubahan sama sekali
Mikroprosesor 8088 memiliki 3 sitem bus yaitu :
  • address bus
  • data bus
  • control bus.
Minimum Sistem 8088 terdiri dari 3 bagian utama yaitu :
  • Unit Pengolah Pusat(CPU)
  • Unit Memori
  • Unit Input Output
1. Unit CPU ( Central Processing Unit ) yaitu tempat pengolahan data berupa operasi logika maupun operasi arithmatik yang dilakukan dalam register-register 16 bit, antara lain register dasar AX,B X, CX, DX; register Pinter dan Index SI, DI, SP,BP; Register Segment CS, DS, SE, SS dan Register Flag IP.
. Rangkaian mikroprosesor 8088 dilengkapi dengan:
  • IC 8284 yang merupakan Generator Sinyal Persegi dan rangkaian kristal serta rangkaian Reset.
  • Rangkaian Buffer menggunakan IC 74LS240
  • Rangkaian Latch menggunakan IC 74LS373
  • Rangkaian dekoder untuk sinyal kontrol RD & WR menggunakan IC 74LS138 
2. Unit Memori (RAM dan ROM) yaitu ROM 2716, 2732, 2764 atau 27128 digunakan sebagai tempat penyimpanan data / program secara permanen dan RAM 6116 6232, 6264, atau 62128 digunakan sebagai tempat penyimpanan data sementara selama CPU tidak diReset atau tegangan supply tidak putus. Untuk saat ini, ROM bersifat EEPROM yaitu data / program dapat ditulis dan dihapus dengan memberikan suatu tegangan tertentu ke IC tersebut. Unit memori dilengkapi dengan rangkaian dekoder IC 74LS139 atau 74LS138 untuk menghasilkan sinyal kontrol CS (chip select) bagi RAM dan ROM.
3. Unit Input Output (PPI 8255, PIT 8253, PIC 8259 maupun AD/DA Converter) yaitu digunakan mikroprosesor untuk dapat berhubungan dengan peripheral luar seperti switch, keypad, 7-segment, Dot-matrik, LCD, motor DC dan lain-lain. Unit I-O dilengkapi dengan rangkaian dekoder IC 74LS139 atau 74LS138 untuk menghasilkan sinyal kontrol CS (chip select) I/O.
Mikroprosesor PENTIUM
  • Struktur cache yang lebih kompleks untuk cache data dan intruksi lain
  • Prosesor integer dual lebih akurat yang dapat melakukan dua instruksi per clock (secara bersamaan)
  • Bus data yang lebih lebar, dimana ditambah dari 32 bit menjadi 64 bit. Sehingga instruksi akan lebih besar kemungkinan untuk melakukan dalam waktu yang bersamaan.
  • Koprosesor numerik yang lebih cepat yang beroperasi sekitar lima kali lipat lebih cepat dari koprosesor numerik 80486 atau mikroprosesor versi sebelumnya.
  • Logika prediksi percabangan yang dapat memungkinkan program bercabang dieksekusi dengan lebih efisien.
  • Tehnologi MMX (Multimedia Extention) yang dirancang untuk mengeksekusi instruksi dengan kecepatan tinggi dan hanya di khususkan untuk device (peralatan) multimedia.
*Pentium Pro
  • Arsitektur internal dapat menjadwalkan sampai lima instruksi untuk eksekusi dan unit floting point yang masih lebih cepat lagi.
  • Cache untuk tingkat 2 adalah 256 Kbyte / 512 Kbyte. Dan cache tingkat satu adalah 16 Kbyte.
  • Terdapat bus alamat 36 bit, yang memungkinkan akses ke memori sampai dengan 64 Gbyte.
  • Catu daya +3,3 Volt dengan arus maksimum 9,9 mA untuk 150 MHz Pentium Pro untuk masukan, dan Arus 48 mA pada tingkat logika 0 untuk keluaran (output).
*Pentium II
Cache pada Pentium pro tidak ditemukan lagi, karena mikroprosesor pentium II di kemas dalam bentuk papan rangkaian yang tercetak yang berbeda dari bentuk sebelumnya.
*Pentium III
  • Sistem bus antara 133 MHz atau 100 MHz
  • Terdapatnya Advanced Tranfer Cache sebesar 256 Kbyte dalam kemasan Level 2 (L2) dengan Error Correcting Code (ECC).
  • Terdapat Data Prefetch Logic (DPL) sebagai antisipasi jika membutuhkan data
*Pentium IV
  • Terdapat mPGA-487
  • Support pada intel 850 dan 845 family.
  • Terdapat cache 12 K micro-op trace cache dan 8 Kbyte L1 data cache pada addition ke L2 cache memori.

BAB 2 (Memory dan I-O)



MEMORY dan INPUT/OUTPUT RAM (Random Acces Memory)

RAM merupakan memori tempat penyimpanan data dan program untuk sementara waktu.
Apabila diperlukan memori RAM yang cukup kecil seperti dalam rangkaian sistem minimum  maka pemakaian RAM statis akan lebih menguntungkan karena tanpa menggunakan RAM Controller seperti pada RAM Dinamis. Untuk selanjutnya RAM statis disebut saja dengan RAM.
RAM 6116 yang dipakai didalam sistem minimum mempunyai pin CS (Chip Select) untuk mengaktifkan IC tersebut, pin OE (Output Enable) sebagai pin sinyal kontrol RD untuk membaca data dan pin WE (Write Enable) sebagai pin sinyal kontrol WR untuk menulis data seperti gambar 2. Selain itu,  terdapat pin-pin untuk addresing A0-A10, pin data D0-D7 untuk masukan dan keluaran data 8 bit. Sisa bus address mulai A11-A19 dipergunakan untuk rangkaian decoding bagi RAM yang bersangkutan.

Kombinasi dari ketiga pin-pin

-CS
-OE
-WE
Mode
Pin–pin I-O
1
X
X
Non aktif
High Z
0
0
1
Read
Out
0
1
0
Write
In

Tabel 1 Fungsi pin-pin CS, OE dan WE pada RAM 6116

ROM (Read OnIy Memory)
ROM
  
salah satu jenis memori yang hanya dapat dibaca saja isinya dengan instruksi-instruksi bahasa mesin.

Perbedaan utama ROM dengan RAM adalah bahwa data di ROM tidak akan terhapus walaupun tegangan supply terputus dari rangkaian.

Saat ini sudah banyak ROM yang memanfaatkan IC EEPROM yang bisa ditulis dan dihapus datanya dengan memberikan tegangan tententu. 
ROM jenis EPROM seperti 27128

Tabel Fungsi pin-pin CE, OE, PGM dan VPP pada ROM 27128

-CE
-OE
PGM
VPP
Mode
Pin-pin
I-O
0
0
1
Vcc
Read
D-out
1
X
X
Vcc
Program
High Z
0
X
0
Vpp
Program Verify
D-in
1
X
X
Vpp
Program Inhibit
High Z

Input-Output (I/O)

          Penjelasan IC I/O seperti PPI 8255, PIT 8253, PIC 8259 dan AD/DA Converter dapat dilihat pada buku teknik Interface. 




Hubungan antara Microprossesor 8088 dengan memori atau input output dilakukan dengan menggunakan fungsi read and write

BAB 3 (Mikroprosesor)


MIKROPROSESOR 8088
             Adapun konfigurasi pin-pin IC mikroprosesor 8088 adalah seperti
 gambar 11.



 Fungsi masing-masing pin dari mikroposessor 8088 adalah:
1.    AD0 – AD7 adalah Bus address - data
Jalur yang dimultipleks untuk menyalurkan data pada saat ALE aktif (1) atau byte rendah address pada saat ALE tidak aktif (0)
2.    A8 – A15 adalah Bus address
Bit – bit dimana  A8 – A15 ada selama siklus bus
3.    A19/S6,  A18/S5,  A17/S4, A16/S3 adalah Address / Status
Kaki – kaki yang multiplek yang digunakan untuk bus address bit A16 – A19 pada saat ALE berlevel logika 1 dan untuk sisa silkus bus lainnya digunakan bit – bit status S3 – S6. Bit status S6 selalu berlogika 0, bit S5 menandakan kondisi dari bit flag I dan bit S3 san S4 yang mendakan segmen yang diakses selama siklus bus yang sedang berlangsung.
Gambar 11 Konfigurasi pin-pin IC mikroprosesor 8088
4.    RD adalah Read
Sinyal kontrol yang akan berlevel logika 0 pada saat data bus siap menerima data dari memori atau I/O yang diteruskan ke mikroprosesor.
5.    WR adalah Read
Sinyal kontrol yang akan berlevel logika 0 pada saat data bus siap menerima data dari mikroprosesor yang diteruskan ke memori atau I/O
6.    READY adalah Ready
Input ini diperiksa oleh 8088 pada akhir dari siklus T2. Jika dalam kondisi logika 0, maka siklus pembacaan atau penulisan data akan diperpanjang sampai input ini kembali ke logika 1.
7.    INTR adalah Interrup Request
Satu dari dua kali yang digunakan untuk menerima interupt hard-ware. Jika INTR diberi logika 1 pada saat flag 1 set, 8088 masuk ke siklus interupt acknowledge (INTA aktif) setelah intruksi yang sedang berlangsung selesai.
8.    TEST adalah Test
Diperiksa oleh intruksi WAIT. Jika TEST berlogika 0, maka instruksi WAIT akan meneruskan ke instruksi selanjutnya, jika TEST ‘1’, WAIT akan menunggu sampai TEST ‘0’.
9.    NMI adalah Nonmaskable Interrupt
Input yang mengaktifkan interrupt tipe 2 pada akhir dari instruksi yang sedang dilaksanakan.
10. RESET adalah Reset
Kaki yang jika diberi level logika 1 untuk minimum 4 clock, akan mereset 8088. Pada saat 8088 reset, 8088 mulai melaksanakan instruksi pada address memori FFFF0H. Dan menon-aktifkan interupsi dengan mereset flag 1.
11. CLK adalah Clok
Sebuah input yang menyediakan pewaktu dasar untuk 8088. Clok ini terus ber-duty-cycle 33 persen untuk memberikan  pewaktu yang benar ke 8088.
12. VCC adalah Vcc
Input tegangan pencatu +5V
13. GND adalah Ground
Hubungan ke ground
14. MN/-MX adalah Mode Minimum / Maksimun 
Pin yang digunakan untuk memilih mode operasi minimum jika dihubungkan ke +5V dan mode maksimum jika dihubungkan ke ground.
15. IO/-M adalah Input/Output atau Memori
Pin yang menunjukkan isi dari bus address adalah informasi pengaddress memori atau I/O
16. INTA adalah Interrupt Acknowledge
Respon untuk INTR. Selama permintaan interupsi, pin INTA akan berlogika 0 untuk menunjukkan bahwa bus 8088 menunggu vector-number.
17. ALE adalah Addres Latch Enable
Pin yang digunakan untuk menunjukkan bahwa bus address berisi address memori atau alamat port I/O
18. DT/-R adalah Transmite/ - Receive
Pin yang digunakan untuk mengendalikan arah aliran data melewati buffer data.
19. –DEN adalah Data Bus Enable
Pin yang aktif bila bus data telah berisi data.
Mikroprosesor 8088 diset pada mode minimum dengan memberi logika HIGH pada pin 33 dan logika LOW jika difungsikan dalam mode maksimum. Untuk pengaddressan memori, mikroprosesor 8088 menyediakan 20 bit address yang 8 diantaranya dimultipleks dengan data yaitu AD0-AD7. Sedangkan A16-A19 dimultipleks dengan sinyal kontrol S3-S6.
Untuk pengaddressan I/O port dan memori, 8088 menggunakan pin 28, jika pin 28 dalam kondisi HIGH maka address yang dikirim adalah address untuk I/O port dan jika dalam kondisi LOW maka address yang difungsikan adalah address dari memori. Selain itu 8088 juga dapat mengirimkan sinyal RD dan WR (keduanya aktif low) yang bertujuan untuk membaca dan menulis di memori atau I/O Port.
Misalkan sistem minimum menggunakan dua buah macam memori yaitu EPROM 27128 berkapasitas 16 K Bytes dan RAM statis 6116 yang berkapasitas 2 K Bytes. Setelah tombol RESET ditekan maka mikroprosesor akan menunjuk pertama kali pada address FFFF0h sehingga address tersebut harus sudah ada instruksi lompat ke awal program. Oleh karena itu EPROM diletakkan pada bagian terakhir memori sedangkan RAM diletakkan pada bagian awal memori karena untuk penggunaan interrupt, 8088 memakai address 00000h-003FFh sebagai tabel vector interrupt.
Mikroprosessor 8088 memiliki empat kelompok register 16-bit, yaitu :
Ø Data Register
Ø Pointer dan Index Register
Ø Flag Register dan Instruction Pointer
Ø Segment Register

BAB 4(Perancangan Sistem)


Perancangan Sistem


            Mikroprocessor 8088 memiliki perancangan sistem minimumnya. Perancangan sistem minimum disini adalah perancangan peta memory dan peta I/O nya. Pada sistem minimum mikroprocessor ini, pemetaan memori dan I/O nya dapat digabung maupun terpisah


1. Peta Terpisah untuk Memory dan I/O
          Seperti namanya, antara rangkaian memory dan I/O nya terpisah, untuk lebih jelas dapat dilihat pada gambar dibawah

                    



                           Rangkaian I/O dan Decoder

                         Rangkaian Memory dan Decoder
2. Peta Gabungan Memory dan I/O
            Antara rangkaian memory dan I/O nya bergabung dalam satu rangkaian, untuk lebih jelas dapat dilihat pada gambar dibawah
                        Rangkaian Memory, I/O dan Decoder
Untuk penjelasan lebih lengkap, rangkaian dan cara merangkaianya dapat mendownload link dibawah ini : 

BAB 5 (Komponen Pendukung Mikroprosessor)


Komponen Pendukung Mikroprosessor
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 : Contoh Rangkaian Decoder dengan IC PPI 8255
Gambar : 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 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
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 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.