====SELAMAT DATANG====

Jumat, 28 November 2014

Posted by melawan rindu |
Halo gan apa kabar? pasti baik bukan. Kali ini ane mau berbagi ilmu tentang menyalakan LED dengan PB. Sismin yang ane pakai menggunakan ATMega16 dan kristal 12 MHz, jadi jika berbeda bisa kok diatur lewat pengaturan awal di CodeVision AVR nya. Jadi gini ceritanya....

Buka CodeVision AVR klik file - new - project. Klik OK. Muncul kayak gini gan


Sesuaikan dengan IC dan kristal yang agan pakai. Setelah itu klik Ports. Kita atur disini untuk input dan output nya. Ane menggunakan PORT D sebagai input yaitu push button dan PORT C sebagai output yaitu LED. Atur seperti gambar berikut.



Setelah itu klik generate program save and exit. Beri nama file yang sama, klik save. Agan akan dibawa ke lembar kerja bahasa pemograman C yang penampakannya seperti ini.

/*******************************************************
This program was created by the
CodeWizardAVR V3.15 Evaluation
Automatic Program Generator
© Copyright 1998-2014 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project : 
Version : 
Date    : 28/11/2014
Author  : 
Company : 
Comments: 


Chip type               : ATmega16
Program type            : Application
AVR Core Clock frequency: 12,000000 MHz
Memory model            : Small
External RAM size       : 0
Data Stack size         : 256
*******************************************************/

#include <mega16.h>
#include <delay.h>

// Declare your global variables here

void main(void)
{
..............

Untuk penulisan bahasa C nya sebagai berikut :

while (1)
      {
      // Place your code here
if(PIND.3==0) // push button dihubungkan pada PORTD.3
{
// variasi nyala LED. tambahkan #include (delay.h) jika menggunakan perintah delay
      PORTC=0b00000000;delay_ms (500);
      PORTC=0b00000001;delay_ms (100);
      PORTC=0b00000101;delay_ms (100); 
      PORTC=0b00010101;delay_ms (100); 
      PORTC=0b01010101;delay_ms (100); 
      PORTC=0b11010101;delay_ms (100); 
      PORTC=0b11110101;delay_ms (100);  
      PORTC=0b11111101;delay_ms (100);  
      PORTC=0b11111111;delay_ms (500);
      
      PORTC=0b11111101;delay_ms (100);
      PORTC=0b11110101;delay_ms (100);
      PORTC=0b11010101;delay_ms (100);
      PORTC=0b01010101;delay_ms (100); 
      PORTC=0b00010101;delay_ms (100);
      PORTC=0b00000101;delay_ms (100);
      PORTC=0b00000001;delay_ms (100);
      PORTC=0b00000000;delay_ms (500);
}
if(PIND.2==0) // push button dihubungkan pada PORTD.2
      {
      PORTC=0xff; // untuk mematikan LED
      }
      
      }
}

Sekian terimakasih, semoga bermanfaat. Bila ada kesulitan atau masalah comment saja gan. Ane siap membantu, hehehe :v




3 komentar: