OKe sobat engineer, kali ini saya mencoba memberikan sesuatu yang mungkin akan anda butuhkan kelak.. hehehehehe..
dan kali ini sesuai judul di atas, membuat system minimum Counter UP Down dengan Microcontroller ATmega16, adapun kalau sobat ingin menggunakan Chip ATmega8 juga bisa, hanya saja sobat Engineer harus mengubah Source atau Program yang sudah saya sediakan..
ini sob cuplikan Gambarnya dengan proteus..
Nah di atas adalah contoh rangkaiannya sob, nanti kapaan kapan aku kasih lihat yang nyata..
dan ini listing programnya..
#include <mega16.h>
#include <stdlib.h>
#include <delay.h>
// Alphanumeric LCD functions
#include <alcd.h>
// Declare your global variables here
//eeprom
int data=0;
unsigned char temp[6];
bit Nilai_awal=0000, Nilai_Akhir=0000;
#define Atas PINB.1
#define Bawah PINB.0
#define reset PIND.0
#define on 1
#define off 0
void main(void)
{
PORTA=0x00;
DDRA=0x00;
PORTB=0x00;
DDRB=0xff;
PORTC=0x00;
DDRC=0x00;
PORTD=0x07;
DDRD=0x00;
ACSR=0x80;
SFIOR=0x00;
ADCSRA=0x00;
SPCR=0x00;
TWCR=0x00;
lcd_init(16);
lcd_clear();
lcd_gotoxy(0,0);
lcd_putsf("INSTRON 1122");
lcd_gotoxy(0,1);
lcd_putsf("Counter");
delay_ms(500);
lcd_clear();
while (1)
{
// Place your code here
if (Atas==off) Nilai_awal=on;
if ((Atas==on)&(Nilai_awal==on))
{ data++;
if (data>=9999){ data=1;}
Nilai_awal=off;
lcd_clear();
}
if (Bawah==off) Nilai_Akhir=on;
if ((Bawah==on)&(Nilai_Akhir==on))
{data--;
if (data<=1){ data=9999;}
Nilai_Akhir=off;
lcd_clear();
}
if (reset==0)
{ data=0000;
lcd_clear();
}
lcd_gotoxy(0,0);
lcd_putsf("Counter Data");
lcd_gotoxy(0,1);
lcd_putsf("DATA:");
itoa(data,temp);
lcd_gotoxy(9,1);
lcd_puts(temp);
}
}
Oke sob.. semoga membantu..
Sabtu, 27 September 2014
Langganan:
Posting Komentar (Atom)
0 komentar:
Posting Komentar