Anda di halaman 1dari 12

TUGAS UAS SISTEM MIKROPROSESOR

Nama /NRP Dosen

: Akbar Wildan Laili/11-2007-075 : Bpk. Aam Muharam, S.

JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNOLOGI INDUSTRI INSTITUT TEKNOLOGI NASIONAL BANDUNG 2010

1.

Jelaskan dan apa fungsinya dalam sistem mikroprosesor, komponen berikut ini : a. Analog to Digital Converter (ADC), b. Digital to Analog Converter (DAC)? c. Register TMOD? d. DPTR?

Jawab : a. Analog to Digital Converter (ADC) ` ` ` Analog-to-Digital Converter adalah sebuah peralatan yang paling sering digunakan untuk melakukan pencuplikan data (data acquisition). Komputer Digital selalu menggunakan nilai-nilai biner (discrete), tapi dalam dunia nyata semua adalah analog (continuous). Suhu, tekanan (gas atau cair), kelembaban, dan kebisingan adalah beberapa contoh dari nilai-nilai fisika yang akrab dengan kita. Nilai fisika tersebut harus dikonversi menjadi nilai listrik dengan alat yang digolongkan sebagai tranduser. Tranduser kadang-kadang juga disebut sebagai sensor. ` Masing-masing sensor misalnya Suhu, Velocity, Tekanan, Cahaya, dan yang lainnya, memiliki output besaran listrik. Dan kita butuh sebuah konverter analog-ke-digital untuk mengartikan besaran besaran listrik tersebut menjadi besaran-besaran angka digital yang dimengerti komputer. ` Contoh ADC, jenis ADC 804 :

Rangkaian Interface :

b. Digital to Analog Converter ` ` DAC adalah sebuah peralatan yang dikenal luas untuk mengkonversi bilangan atau nilai-nilai digital menjadi sebuah sinyal analog. Merujuk pada sebuah buku tentang elektronika digital anda, terdapat 2 metode untuk membuat DAC, yakni pemberatan bilangan biner (binary weigthed) dan penjummlah resistor R/2R (R/2R adder). ` ` ` DAC yang umum dipasaran saat ini termasuk MC1408 (DAC808) juga menggunakan metode R/2R. Hal ini karena metode ini memmiliki derajat yang lebih teliti. Kreteria pertama saat memilih DAC adalah resolusi, yang mana berarti jumlah dari input binernya. Kebanyakan adalah 8, 10 dan 12 bit. Jumlah input data bit tersebut menentukan resolusi dari DAC, mengingat jumlah dari input data bit tesebut adalah setara dengan 2 exp N, yang mana N adalah jumlah dari input data bit. ` Sehingga jika DAC 8-bit seperti DAC8051, maka dia berarti memiliki resolusi sebesar 256 perbedaan level tegangan (atau arus). Termasuk juga DAC 12-bit akan memiliki perbedaan tegangan sebesar 4096. Dan juga DAC 16-bit yang harganya lebih mahal. DAC yang sangat mahal memiliki resolusi 24-bit dengan bit rate 192 kbps, yang digunakan untuk Audio professional. ` Rangkaian Interface DAC 0808

c. Register TMOD ` Register TMOD dipakai untuk mengatur mode kerja Timer 0 dan Timer 1, lewat register ini masingmasing timer bisa diatur menjadi timer 16-bit, timer 13-bit, timer 8-bit yang bisa isi ulang secara otomatis, atau 2 buah timer 8 bit yang terpisah. Di samping itu bisa diatur agar proses proses pencacahan timer bisa dikendalikan lewat sinyal dari luar IC, atau timer dipakai untuk mencacah sinyal-sinyal dari luar IC. ` ` Timer 1 juga memiliki register selebar 16-bit yang dibagi menjadi 2-byte, yang dinamakan sebagai TL1 (Timer-1 low byte) dan TH1 (Timer-1 high byte). Register- register ini dapat diakses seperti juga register Timer-0.

` ` ` `

Di luar itu, masing-masing Timer-0 dan Timer-1 menggunakan satu register yang sama, yang disebut TMOD, Digunakan untuk mengatur beragam mode operasi dari Timer tersebut. TMOD adalah register 8-bit yang mana 4-bit terbawah digunakan oleh Timer-0 dan 4-bit lainnya digunakan oleh Timer-1. Pada masing-masing 4-bit tersebut 2-bit terbawah adalah penentu mode operasi.

` `

GATE

Pengontrol Gate jika tinggi. Timer/Counter bisa jalan, hanya jika port pin INTx tinggi dan Adalah pemilih fungsi Timer/Counter. Jika C/T = 0, maka Timer/Counter akan berfungsi

bit control TRx juga tinggi. Saat GATE rendah, Timer/Counter bisa jalan hanya melalui TRx tinggi. C/T sebagai menghasil tundaan waktu (Timer), namun jika C/T = 1, maka Timer/Counter akan menjadi pencacah hitungan (Counter). ` ` M1 Mode bit 1 M0 Mode bit 0

M1

M0

Mode

Mode Operasi

Mode Timer 13-bit. Timer/Counter 8-bit pada TH dengan TL sbg 5-bit prescalar

Mode Timer 16-bit. Timer/Counter 16-bit, TH dan TL sejajar. Tanpa prescalar.

Mode Timer 8-bit. Timer/Counter auto reload 8-bit. TH adalah menyimpan nilai yang nantinya akan disalin ke TL setiap terjadi overflows.

Mode Timer Terbelah.

d. DPTR Adalah Data Pointer Register, yang berguna untuk menunjuk suatu data. Digunakan oleh sejumlah instruksi yang membuat mikroprosesor dapat mengakses eksternal memori, pada saat mikro mengakses eksternal memori, mikroprosesor itu menunjuk kepada alamat yang ditunjukkan oleh perintah DPTR.

2.

Dengan menganggap R3 = 5K dan Iref = 2 mS, kalkulasikan Vout yang dihasilkan DAC untuk input biner berikut ini. a. 00111011b (3Bh) b. 11110100b (0F4h) c. 00000101b (5H) Jawab : a. 00111011 b = Iout Vout       = 0.230

= 0.230 x (2x10-3) = 0.46 mA. = (0.46 x 10-3) (5x103) = 2.305 V.     

b. 11110100 b =

Iout = 0.923 x (2x10-3) = 1.906 mA Vout = (1.906x10-3)(5x103) = 9.53 V. c. 00000101 b =   

Iout = 0.019 x (2x10-3) = 3.8 x 10-5 Vout = (3.8 x 10-5)( 5x103) = 0.19 V.

3.

Berikut merupakan teknik tundaan yang ada dalam sistem mikroprosesor, berikan penjelasan, contoh dan kelebihan-kekurangan dari masing-masing teknik tundaan: a. NOP b. Register Decrement c. Timer

Jawab a. NOP Suatu Instruksi untuk menambah / membuart tundaan selama 1 s, dan akan terus berulang sebanyak perintah NOP dituliskan. b. Register Decrement Decrement adalah suatu perintah program yang digunakan untuk mengurangi nilai register sebanyak 1 bit desimal dalam satu perintah

c. Timer Teknik tundaan menggunakan timer adalah memanfaatkan kerja timer pada mikrokontroler untuk menghasilkan tundaan. Kelebihan dari teknik ini adalah hasil tundaan yang lebih akurat dibanding 2 metode sebelumnya. Mode kerja timer ada 4: Mode Nama Timer 13-bit Timer 16-bit Isi-ulang 8-bit Timer Spilt, gabungan Tundaan Maks

0 1 2 3

8.192 detik 65.536 detik 256 detik TL0 : 256 detik TH0 : 256 detik

Untuk memperoleh tundaan 1 detik, maka dapat diperoleh dengan perhitungan: ` ` ` 4. Mode 0: 5.000 detik x 200 pengulangan = 1 x 106 detik Mode 1: 50.000 detik x 20 pengulangan = 1 x 106 detik Mode 2: 250 detik x 4000 pengulangan = 1 x 106 detik

Jelaskan mode mana dan Timer yang mana yang diplih dari inisialisasi berikut ini. a. MOV TMOD,#21h b. MOV TMOD,#10h c. MOV TMOD,#02h Jawab a. MOV TMOD, #21h 21h = 001000012. Dipilih Timer 0 Mode 1, dan Timer 1 Mode 2. b. MOV TMOD, #10h 10h = 000010102. Dipilih Timer o Mode 2. Gate tinggi, maka C/T berfungsi. Dimana fungsi C/T sebagai tundaan atau timer. c. MOV TMOD, #02h 02h = 000000102. Dipilih Timer 0, Mode 2.

5.

Sebutkan dan Jelaskan vektor interupsi dalam mikrokontroler AT89S51! Jelaskan pula urutan prioritas yang diberikan oleh mikrokontroler dalam menanggulangi interupsi bila semuanya aktif. Jawab Program yang sedang dijalankan oleh mikrokontroler AT89S51/52 dapat dihentikan untuk sementara yang dikenal dengan instilah interupsi. Jika AT89S51/52 mendapat permintaan interupsi maka program counter (PC) akan diisi alamat dari vector interupsi, kemudian AT89S51/52 melaksanakan rutin pelayanan interupsi mulai dari alamat tersebut setelah selesai maka AT89S51/52 akan kembali ke pelaksanaan program utama yang ditinggalkan. Mikrokontroler AT89S51/52 menyediakan 6 sumber interupsi yaitu 2 buah interupsi eksternal (INT 0 dan INT 1), 3 buah interupsi timer (Timer 0, Timer 1, dan Timer 2), dan sebuah interupsi port serial. Interupsi ialah suatu sela yang terjadi pada saat program sedang berjalan. Mirip halnya dengan interupsi yang terjadi pada saat rapat yang sedang berlangsung. Interupsi berguna jika terdapat suatu rutin yang dijalankan hanya pada waktu tertentu yang bersifat asinkron. Berikut Interrupt Enable pada MCS-51:

Tabel 4.4 Interrupt Enable Bit IE.7 IE.4 IE.3 IE.2 IE.1 IE.0 Alamat bit 0AFH 0ACH 0ABH 0AAH 0A9H 0A8H Simbol EA ES ET1 EX1 ET0 EX0 Penjelasan Enable All Reserved Reserved Serial Interrupt Enable Bit Timer/Counter 1 Enable bit External Interrupt 1 enable Bit Timer /Counter 0 Enable Bit External Interrupt 0 Enable Bit

Jika terjadi interupsi, maka interrupt flag akan bernilai 1 pada bit yang menunjukkan sumber interrupt. Jika CPU menemukan adanya interrupt pada saat sampling, proses selanjutnya ialah CPU akan menjalankan instruksi LCALL yang akan menyimpan Program Counter (PC) ke stack dengan urutan 8 bit terendah terlebih dahulu. Jika sumber interupsi berasal dari Timer/Counter atau External interrupt, interrupt flag yang bersangkutan akan dibersihkan. Pastikan juga user mengamankan nilai register dengan menggunakan PSW, ACC, B, R0-R7 dan DPTR. Selain itu, register yang di-PUSH pertama harus di-POP terakhir. Selain itu, gunakan RETI agar fungsi kembali ke alamat semula.

6.

Hitung seberapa banyak waktu tundaan dalam subrutin DELAY yang dihasilkan dari Timer. Anggaplah XTAL = 11.0592 MHz

Jawab f= T=   
 

  

0FF h = 25510 0F2 h = 24210 Roll over = (FFFFh FFF2h) + 1 = 0Eh = 1410 Untuk 1 bagian gelombang balok (1/2 gelombang), dimana T (setengah gelombang) =14 x 1.085 s = 15.19 s Maka untuk T (gelombang penuh) = 2 xT = 2 x 15.19 s = 30.08 s

7.

Anggaplah XTAL = 11.0592 MHz. Berapa nilai yang dibutuhkan untuk diisikan pada register-register Timer jika kita menginginkan untuk membuat tundaan waktu 4 mS (miliDetik)? > Tuliskan kode untuk Timer-0 untuk membuat pulsa 4 mS pada P2.3. Jawab f= T=   
 

  

XTAL = 11.0592 MHz, T = 4 s Clock = 4 ms / T crystal =


 

TH dan TL = 65536 3686 = 61850 = F19A16 TH = F1h TL = 9Ah Program CLR P2.3 Mulai: MOV TL0,#9Ah ;Clear P2.3 ;TL0=0, low byte ;Set P2.3 ;jalankan Timer ;Monitor Timer Flag ;Matikan Timer ;Reset TF MOV TMOD,#01 ;Timer-0 Mode-1 (16-bit) MOV TH0,#F1h ;TH0=EEh, high byte SETB P2.3 SETB TR0 ULANG: JNB TF0,ULANG CLR TR0 CLR TF0

8.

Tulislah program pada 8051 untuk mengirimkan pesan NIM_ANDA" secara serial pada baud 9600, 8-bit data, 1 stop bit. Terus menerus. Jawab MOV TMOD,#20h MOV TH1,#-3 MOV SCON,#50h SetB TR1 LAGI: MOV A,#N ACALL TRANS MOV A,#I ACALL TRANS ;kirim "I" ;Timer-1, Mode-2 (autoreload) ;baud rate 9600 ;8-bit, 1-stop, ren = 1 ;jalankan Timer-1 ;kirim "N"

MOV A,#M ACALL TRANS MOV A,#_ ACALL TRANS MOV A,#A ACALL TRANS MOV A,#N ACALL TRANS MOV A,#D ACALL TRANS MOV A,#A ACALL TRANS SJmp LAGI TRANS: MOV SBUF,A ULANG: JNB TI,ULANG Clr TI RET

;kirim "M" ;kirim "_" ;kirim "A" ;kirim "N" ;kirim "D" ;kirim "A" ;Ulangi lagi ;subrutin pengiriman data serial ;Isikan dari A ;Tunggu sampai TI = 1 ;reset TI

9. Rancanglah sebuah sistem kendali tungku agar suhu tetap terjaga pada (70C). Spesifikasi sistem sebagai berikut: y P1.7 digunakan untuk menghidupkan dan mematikan HEATER (pemanas) dengan logika:

a. 1 untuk HEATER ON. b. 0 untuk HEATER OFF. y Sensor temperatur terhubung ke rangkaian comparator. Keluaran comparator dihubung ke INT0 dan INT1, dengan ketentuan: c. INT0 (Panas) = 0 jika T > 71. d. INT1 (Dingin) = 0 jika T < 69. ` ` ` Buat blok diagram sistem kendali tungku. Buat alur diagram (flow chart) sistem kendali. Buat program yang mampu menghidupkan tungku saat suhu <69 dan mematikan saat T>71.

Jawab ` Blok Diagram

` `

Flow Chart Program

Anda mungkin juga menyukai