bab17 - mcs51 - aplikasi adc - led

Upload: cakmad69

Post on 13-Apr-2018

230 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/26/2019 BAB17 - MCS51 - Aplikasi ADC - LED

    1/5

    MikrokontrolerMCS51 132

    17. Aplikasi multiplekser analog dan ADC dengan tampilan

    deret LED

    gambar 17. Multiplekser, ADC

    Perhatikan gambar 10 di atas.

    Multiplekser analog 4051

    IC ini digunakan untuk memasukkan input analog ke ADC secara

    bergantian dengan mengatur sinyal kontrol A, B dan C. IC ini akan bekerja

    sesuai dengan tabel kebenaran berikut:

    INH C B A X

    1 X X X -

    0 0 0 0 X0

    0 0 0 1 X1

    0 0 1 0 X20 0 1 1 X30 1 0 0 X4

    0 1 0 1 X5

    0 1 1 0 X60 1 1 1 X7

  • 7/26/2019 BAB17 - MCS51 - Aplikasi ADC - LED

    2/5

    MikrokontrolerMCS51 133

    ADC0804

    IC ini berfungsi untuk mengubah besaran analog menjadi digital 8

    bit. Mode kerja IC ini ada beberapa macam diantaranya adalah mode WR-RD,

    yaitu :

    WR = 1, RD = 1

    WR = 0, RD = 1

    WR = 1, RD = 1

    Apakah INT = 0, jika tidak tunggu dan jika ya ambil datanya

    dengan memberi WR = 1, RD = 0

    WR = 1, RD = 1

    Input analog ( 0 - 7 ) dipilih melalui multiplekser analog yang dikontrol

    melalui P1.0, P1.1 dan P1.2. Input 0 dan 7 dihubungkan ke sumber tegangan

    analog yang diberikan oleh potensiometer. Output multiplekser analog

    dihubungkan ke ADC. ADC dikontrol oleh mikrokontroler melalui :WR : P3.6

    RD : P3.7

    dan sinyal interupsi dipilih melalui INT0 atau INT1.

    Output data digital hasil konversi dihubungkan ke port 0 dan ditampilkan ke

    deretan LED melalui port 2.

    Prosedur pengambilan data ADC adalah sbb:

    ;---------------------------------------------------; P0.5 : A; P0.6 : B; P0.7 : C; P3.6 : WR; P3.7 : RD;---------------------------------------------------

  • 7/26/2019 BAB17 - MCS51 - Aplikasi ADC - LED

    3/5

    MikrokontrolerMCS51 134

    READ_ADC:SETB P3.6 ; WR = 1SETB P3.7 ; RD = 1

    ACALL DELAY

    CLR P3.6 ; WR = 0ACALL DELAYSETB P3.6 ; WR = 1JB P3.2,$

    ACALL DELAYCLR P3.7 ; RD = 0MOV A,P1MOV DATAADC,ASETB P3.7 ; RD = 1RET

    Sedangkan program utamanya adalah sbb :

    MAIN:ACALL CHANNEL_0ACALL READ_ADCMOV A,DATAADCMOV P2,ASJMP MAIN

    Multiplekser bekerja pada kanal 0, kemudian data diambil dari ADC dan

    disimpan di variabel DATAADC dan selanjutnya dikeluarkan ke LED

    Untuk melakukan percobaan ini, lakukan langkah-langkah sebagai berikut:

    1. Hubungkan modul MICROTRAINER dengan memasang kabel DB25

    dengan LPT1 pada PC. Mode printer adalah SPP atau output only.

    2. Ketikkan di sembarang editor yang anda miliki listingprogram berikut:

    ; PROG10.ASM DIGUNAKAN UNTUK MENGAMBIL DATA DARI ADC; DAN DITAMPILKAN KE DERETAN LED; JUMPER OUTPUT : DI LED POSISI '0'

    ORG 00HSJMP MAIN

    DATAADC EQU 60H

    ;-------------------------------------; MAIN PROGRAM;-------------------------------------MAIN:

    ACALL CHANNEL_0ACALL READ_ADC

  • 7/26/2019 BAB17 - MCS51 - Aplikasi ADC - LED

    4/5

    MikrokontrolerMCS51 135

    MOV A,DATAADCMOV P2,ASJMP MAIN

    CHANNEL_0:CLR P0.5CLR P0.6CLR P0.7RET

    CHANNEL_7:SETB P0.5SETB P0.6SETB P0.7RET

    ;--------------------------------------------------; PENAMBILAN DATA DARI ADC

    ; P0.5 : A; P0.6 : B; P0.7 : C; P3.6 : WR; P3.7 : RD;---------------------------------------------------READ_ADC:

    SETB P3.6 ; WR = 1SETB P3.7 ; RD = 1

    ACALL DELAYCLR P3.6 ; WR = 0

    ACALL DELAYSETB P3.6 ; WR = 1

    JB P3.2,$ACALL DELAYCLR P3.7 ; RD = 0MOV A,P1MOV DATAADC,ASETB P3.7 ; RD = 1RET

    ; DELAY 1 mSDELAY:

    MOV R1,#100LOOP1:

    NOP

    NOPNOPNOPNOPNOPNOPNOPNOPDJNZ R1,LOOP1RET

  • 7/26/2019 BAB17 - MCS51 - Aplikasi ADC - LED

    5/5

    MikrokontrolerMCS51 136

    3. Simpanlah program yang anda ketik dan beri nama prog10.asm

    4. Kemudian keluarlah ke DOS prompt dan ketikkan

    A PROG10

    Jika tidak ada kesalahan, tekan

    5. Anda akan langsung masuk ke program AEC_ISP, kemudian pilihlah option

    A. Load HEX File to flash buffer,

    kemudian ketik PROG10.HEX dan tekan

    sebarang tombol

    6. Pilih E.Program dan tunggu sebentar sampai ada indikator 100% dan tekan sebarang tombol

    7. Pilih I. Reset dan Jelaskan apa yang terjadi pada deretan LED jika

    potensiometer input 0 diputar-putar! Isilah tabel di bawah

    Untuk mengisi tabel di bawah , tegangan referensi di titik REF harus =

    2.55 volt, jika belum sama aturlah multiturntegak yang berwarna biru

    IN0 (VOLT) D7 D6 D5 D4 D3 D2 D1 D0

    0.020.5

    1.01.5

    2.0

    2.53.0

    3.5

    4.0

    4.55.0

    Buatlah tabel yang lain untuk tegangan referensi selain 2.55 volt.

    8. Kesimpulan apa yang bisa anda tarik ?