Minggu, 06 Mei 2018

Tugas Perancangan Sistem Tertanam

Pengaplikasian Jam Digital pada 7 Segment
Menggunakan Minimum System AT89C51
by: Deri


1. Komponen
  • Minimumsystem AT89C51
Komponen ini digunakan sebagai pengendali dari tampilan seven segment. AT89C51 ini memiliki osilator crystal sebesar 12 MHz yang dapat digunakan sebagai penentu ketukan detik yang akan di tampilkan jam digital. alasan lain dalam menggunakan AT89C51 untuk membuat jam digital ini adalah karena pin yang mencukupi untuk menampilkan 6 buah seven segment.

  •  Resistor Pack 8

Berfungsi untuk mengaktifkan seven segment pada bagian jam, dimana ketika pada bagian menit telah menampilkan angka 5 dan 9 maka seven segment pada bagian jam digit pertama akan tiba - tiba mati. dan resistor pack ini akan mengaktifkan dan menahan nilai yang ditampilkan oleh seven segment di bagian jam. seven segment di bagian jam akan memunculkan angka 1 pada saat bagian menit telah menunjukkan angka 5 dan 9.
  • Seven Segment yang telah ditanamkan decoder
Berfungsi sebagai penampil angka jam, menit dan detik pada jam digital yang akan dibuat. seven segment ini sudah ditanamkan decoder didalamnya sehingga seven segment ini hanya memiliki 4 kaki saja.

2. Algoritma program
  1. Mulai
  2. Output bagian telah detik 5 dan 9 ?
  3. Tampilkan angka 1 pada digit pertama menit .
  4. Output pada bagian menit telah 5 dan 9?
  5. Tampilkan angka 1 pada bagian jam digit pertama.
  6. Output pada bagian jam telah 2 dan 3 ?
  7. Tampilan jam kembali ke 0 dan 0 .
  8. Kembali ke step 2
  9. Selesai
3. List program

List program pada jam digital ini di buat dengan menggunakan bahasa c. berikut adalah list programnya :

//digital clock simulation keil proteus simulation
#include<reg51.h>

void main()
{
int t,i,j,k,a,b,c,d,e;
e=0;
P3=0x00;
P2=0x00;
P0=0x00;
while(1)
{ P0=0x00;
for(c=0;c<3;c++)
{
for(d=0;d<10;d++)
{
for(a=0;a<6;a++)
{
for(b=0;b<10;b++)
{
for(t=0;t<6;t++)
{
for(i=0;i<10;i++)
{
for(k=0;k<1000;k++)
for(j=0;j<142;j++);
P3++;
}
P3=P3+0x06;
}
P3=0x00;
P2++;
}
P2=P2+0x06;
}
P2=0x00;
P0++;
if(P0==0x24){
P0=0x00;
e=1;}
if(e==1)
break;
}
if(e==1){
e=0;
break;}
P0=P0+0x06;
}
}
}

4. Penjelasan Program
  • int c,d,a,b,t,i penginisialisasian Seven segment. j dan k inisialisasi kondisi - P3, P2 dan P0 adalah inisialisasi dari pin mikrokontroler AT89C51 yang digunakan.
  • e adalah inisialisa dari clock
5. Output