Jam Digital Menggunakan AT89S52

Bagaimana membuat Jam Digital dengan seven segment menggunakan Mikrokontroler AT89S52. 


Berikut bahan-bahannya:


  • Seven segment                                             = 4 buah
  • Transistor 2N2222                                       = 4 buah
  • Mikrokontroler AT89S52 + Soket                = 1 buah
  • Saklar Push Button                                       = 3 buah
  • Crystall 11,0                                                 = 1 buah
  • Capasitor keramik 30 pF                              = 2 buah
  • Capasitor Polar (Elco)    10 μF 16 V            = 1 buah
  • Konector putih 2 pin                                     = 1 buah
  • Resistor 1 kΩ                                               = 8 buah
  • Resistor 330 Ω                                             = 4 buah
  • Resistor 8,2 kΩ                                            = 1 buah
  • Resistor 100 Ω                                             = 1 buah
  • IC Regulator 7805 + pendingin Alumunium    = 1 buah
  • Soket Baterai                                                = 1 buah
  • Speser + mur                                                = 4 buah










Buat program untuk mikronya dapat Anda lihat :

$regfile = "8052.dat"
$crystal = 12000000
' ------------------------------------------alokasi memori-----------------------------------------'
Dim Menit_sat As Byte
Dim Menit_Pul As Byte
Dim Jam_sat As Byte
Dim Jam_pul As Byte
Dim 50ms As word
Dim Detik As Byte
'-----------------------------------Konfigurasi interupsi------------------------------------------'
Config Timer1 = Timer , Gate = Internal , Mode = 2
Enable Interrupts
Enable Timer1
Enable Int0
Enable Int1
On Int0 Menit
On Int1 Jam
On Timer1 waktu
Set Tcon.0
Set Tcon.2
'----------------------------------Program utama----------------------------------------------------'
Load Timer1 , 250
Start Timer1
Main:
Gosub Hitung
Gosub Tampil
Goto Main
'---------------------------------------Sub Program--------------------------------------------------'
Hitung:
If    Detik = 60 Then
    Detik = 0
    Incr Menit_sat
End If
If    Menit_sat = 10 Then
    Menit_sat = 0
    Incr Menit_pul
End If
If    Menit_pul = 6 Then
    Menit_pul = 0
    Incr Jam_sat
End If
If    Jam_sat = 10 Then
    Jam_sat = 0
    Incr Jam_pul
End If
If    Jam_pul = 2 And Jam_sat = 4 Then
    Jam_sat = 0
    Jam_pul = 0
End If
Return
Tampil :
P0 = Lookup (menit_sat , 7_seg)
    P2 = &HF1
    Waitms 1
P0 = Lookup (menit_pul , 7_seg)
P2 = &HF2
    Waitms 1
P0 = Lookup (jam_sat , 7_seg)
    P2 = &HF4
    Waitms 1
P0 = Lookup (jam_pul , 7_seg)
    P2 = &HF8
Waitms 1
Return
'--------------------------------------Data 7-segment-----------------------------------------
7_seg:
Data &HA0 , &HF9 , &HA4 , &HB0 , &H99
Data &H92 , &H82 , &HF8 , &H80 , &H90
'-----------------------------------------Interupt-----------------------------------------------
Waktu:
Incr 50ms
If    50ms = 4000 Then
    50ms = 0
    Incr Detik
End If
Return
Menit:
Incr Menit_sat
Return
Jam:
Incr Jam_sat
Return
   
O ya ini file Bin dan Hex bagi yang kesulitan compile file source codenya.

Semoga bermanfaat

7 comments:

  1. Apa masih ada kehidupan disini ....????

    ReplyDelete
  2. Mas imam ko ada yg error pas konfigurasi interrupsi yaitu pas Gate=internal, mode=2
    Dan kalau di bascom gk ad $regfile"8052.dat" atw$regfile"89s52.dat" bagaimana cara mengatasi nya mohon bantuan nya mas

    ReplyDelete
    Replies
    1. Kalau kesulitan bisa klik link Bin dan Hex itu file tinggal programkan ke ic mikrokontrollernya

      Delete
  3. Itu programnya pakai bahasa C atau bahasa Assembler?

    ReplyDelete
  4. Maaf Mas mau tanya, itu 7 segment nya pake anoda/katoda ?

    ReplyDelete

//