http://itech-pbtemplate.blogspot.com/#

http://itech-pbtemplate.blogspot.com/#

Sabtu, 04 Januari 2014

TUGAS PRAKTIKUM MIKROPROSESOR TI11S

MAKALAH MIKROPORESOR

JAM DIGITAL PENUNJUK WAKTU SHOLAT DI MASJID

Nama :   Hastoro
NIM :    11.11.1940
TI 11 SORE

Link wajib Dosen

Aplikasi sistem mikroprosesor sudah meluas ke hampir seluruh bidang kehidupan manusia, Sistem-sistem tersebut antara lain: sistem analog hardware¸ sistem digital hardware dan sistem digital berbasis mikroprosesor. Sistem analog hardware adalah sistem yang menggunakan komponen-komponen analog

Pada kesempatan ini penulis tugas ingin berbagi pengetahuan tentang pemanfaatan Sistem digital yg sederhana dan dapat dimanfaatkan untuk kepentingan masyarakat secara bersama dan bermanfaat, salah satunya yaitu penggunaan Seven segmen pada " Jam Digital Penunjuk waktu solat"


Komponen-komponenya :
1. IC AT89S51 / AT89S52 / AT89S55
2. X-tal 12 Mhz
3. IC regulator 7805
4. Kapasitor 10uf/16V, 30 pf
5. Resistor 10 K,220 Ohm
6. 8×7 Segment Common Anoda
7. Transistor A733
8. Soket IC 40 Pin, soket IDC
9. Switsch push On

Software atawa Program :
MIDE 51
ISP programer

Hardware :
PC
Downloader, (aplikasi untuk mendonlodkan code ke modul)
Toolkit

Gambar & Skema :
Skema Display 8×7 segment, menggunakan seven segment common Anoda double dan transistor A733 sebagai drivernya



Skema PCB 



Source Kode-nya :


Sat_detik    equ    60h
Pul_detik    equ    61h
Sat_menit    equ    62h
Pul_menit    equ    63h
Sat_jam    equ    64h
Pul_jam    equ    65h
;
Buffer1        equ    66h
Buffer2        equ    67h
Buffer3        equ    68h
Buffer4        equ    69h
Buffer5        equ    6ah
Buffer6        equ    6bh
;
Cacah        equ    6ch
Info        equ    6dh
Waktu        equ    -50000
;
    org    0h
    ljmp    awal
;
    org    3h
    ljmp    ext_int0
;
    org    13h
    ljmp    ext_int1
;
    org    0bh
    ljmp    timer_int0
;
    org    30h
Awal:    mov    tmod,#1
    mov    th0,high waktu
    mov    tl0,low waktu
    mov    cacah,#20
    setb    ea
    setb    ex0
    setb    ex1
    setb    it0
    setb    it1
    setb    et0
    setb    tr0
    call    clear
    mov    dptr,#angka
;
Scan:    mov    a,sat_detik
    movc    a,@a+dptr
    mov    buffer1,a    
    mov    p0,buffer1
    mov    p1,#11111110b
    call    delay
;
    mov    a,pul_detik
    movc    a,@a+dptr
    mov    buffer2,a
    mov    p0,buffer2
    mov    p1,#11111101b
    call    delay
;
    mov    p0,#0fdh
    mov    p1,#11111011b
    call    delay
;
    mov    a,sat_menit
    movc    a,@a+dptr
    mov    buffer3,a
    mov    p0,buffer3
    mov    p1,#11110111b
    call    delay
;
    mov    a,pul_menit
    movc    a,@a+dptr
    mov    buffer4,a
    mov    p0,buffer4
    mov    p1,#11101111b
    call    delay
;
    mov    p0,#0fdh
    mov    p1,#11011111b
    call    delay
;
    mov    a,sat_jam
    movc    a,@a+dptr
    mov    buffer5,a
    mov    p0,buffer5
    mov    p1,#10111111b
    call    delay
;
    mov    a,pul_jam 
    movc    a,@a+dptr
    mov    buffer6,a
    mov    p0,buffer6
    mov    p1,#01111111b
    call    delay
;
    jmp    scan
;
Ext_int0:
    inc    sat_menit
    mov    a,sat_menit
    cjne    a,#10,back
    mov    sat_menit,#0
;
    inc    pul_menit
    mov    a,pul_menit
    cjne    a,#6,back
    mov    pul_menit,#0
Back:    call    debounce
    reti    
;
Ext_int1:
    inc    sat_jam
    mov    a,sat_jam
    cjne    a,#10,uji
    mov    sat_jam,#0
;
    inc    pul_jam
    mov    a,pul_jam
    cjne    a,#3,uji
    mov    pul_jam,#0
;
    jmp    back1
;
Uji:    mov    a,sat_jam
    cjne    a,#4,back1
    mov    a,pul_jam
    cjne    a,#2,back1
    call    clear
Back1:    call    debounce
    reti
;
Timer_int0:
    clr    tr0
    clr    tf0
    mov    th0,#high waktu
    mov    tl0,#low waktu
    djnz    cacah,selesai
    mov    cacah,#20
    call    proses
Selesai:
    setb    tr0
    reti
;
Proses:    mov    dptr,#angka
    inc    sat_detik
    mov    a,sat_detik
    cjne    a,#10,tamat
    mov    sat_detik,#0
;
    inc    pul_detik
    mov    a,pul_detik
    cjne    a,#6,tamat
    mov    pul_detik,#0
;
    inc    sat_menit
    mov    a,sat_menit
    cjne    a,#10,tamat
    mov    sat_menit,#0
;
    inc    pul_menit
    mov    a,pul_menit
    cjne    a,#6,tamat
    mov    pul_menit,#0
;
    inc    sat_jam
    mov    a,sat_jam
    cjne    a,#6,check
    mov    sat_jam,#0
;
    inc    pul_jam
    mov    a,pul_jam
    cjne    a,#2,check
    mov    pul_jam,#0
;
    jmp    tamat
;
Check:    mov    a,sat_jam
    cjne    a,#4,tamat
    mov    a,pul_jam
    call    clear
Tamat:    
    ret
;
Clear:    mov    sat_detik,#0
    mov    pul_detik,#0
    mov    sat_menit,#0
    mov    pul_menit,#0
    mov    sat_jam,#0
    mov    pul_jam,#0
    mov    buffer1,#22h
    mov    buffer2,#22h
    mov    buffer3,#22h
    mov    buffer4,#22h
    mov    buffer5,#22h
    mov    buffer6,#22h
    ret
;
Delay:
    mov    r0,#0
Loop:    djnz    r0,$
    mov    p0,#0ffh
    mov    p1,#0ffh
    ret
;
Debounce:
    mov    r1,#0
Tunggu:    djnz    r1,tunggu
    ret
;
Angka:
    db    22h,0fah,0a4h,25h,71h,29h,28h,67h,20h,21h,22h
End

Demikian Projek micro prosesor yg dapat saya sampaikan,, Selamat mencoba ...
^_^


0 komentar:

Posting Komentar