Sunday 7 June 2009

Up Counter Dari 00 s/d 99 Dengan ATmega16

Seven segment yang nyala tergantung pada output dari PORTD.6 dan PORTD.7 yang dihubungkan dengan ATmega16, yang sedang mengeluarkan logika low “0”, sehingga dari dua buah display tersebut, selalu hanya satu display yang akan dinyalakan. Agar seven segment tersebut tampak ngala secara bersamaan maka kedua seven segment tersebuat harus dihidupkan secara bergantian dengan waktu tunda tertentu. Pada gambar di bawah ini seven segment common anoda dikendalikan, dengan
menggunakan transistor PNP melalui PORTD.6 dan PORTD.7, apabila ada logika sebaliknya akan padam. Untuk menghidupkan sebuah segment, harus dikirimkan logika low ‘0’ dan sebaliknya untuk mematikan segment, harus dikirimkan logika high ‘1’ seperti yang terlihat pada tabel 1.Konfigurasi ATmega16 adalah sebagai berikut: (klik gambar untuk diperbesar)








LIST PROGRAM
#include //masukkan definisi register I/O dan vector pada ATmega 16
#include // memasukkan fungsi-fungsi delay pada library delay.h

void main (void) // program utama
{
int kiri, kanan, i; //variable lokal
DDRC = 0xFF; // portc sebagai output
DDRD = 0xFF; //portd sebagai output

while (1)
  {
  kiri = 0;
  kanan = 0;
  for (kiri=0;kiri<10;kiri++) kanan="0;kanan<10;kanan++)" i="0;i<100;i++)" 7 =" 0;" 6 =" 1;" portc =" bil" 7 =" 1;" 6 =" 0;" portc =" bil">

Image and video hosting by TinyPic

0 comments:

:)) :)] ;)) ;;) :D ;) :p :(( :) :( :X =(( :-o :-/ :-* :| 8-} ~x( :-t b-( :-L x( =))

Post a Comment

BlogBookmarks

oggix.com : Free Shoutbox & Complete Blog Tools

  • Web
  • SuPpLY-ElektRoN