Thursday, December 12, 2013

Seven Segment Kendali Push Button

kali ini ane mau share coding mikrokontroller sederhana yaitu menampilkan angka pada seven segment dengan pengendali push button. ane jelasin sekilas prinsip kerjanya. push button di port B, seven segment di port D.
seven segment yang digunakan adalah tipe common anoda (CA). setting awal ketika rangkaian dinyalakan akan menampilkan angka 0 (0xc0) lalu ketika button ditekan, button akan men-short PINB ke ground dan akan mengirimkan logika low(0) ke sismin. sismin akan mengolah data sesuai dengan instruksi masukan tersebut dan akan mengirimkan output ke seven segment. ketika reset pada sismin ditekan maka akan kembali ke setting awal yaitu angka 0. 

screenshoot proteus (rangkaiannya bikin sendiri yah, belajar mandiri. piss ^^V) 


neh codingnya pake codevision avr 

 /***************************************************** 
This program was produced by the CodeWizardAVR V2.04.4a 
Advanced Automatic Program Generator 
© Copyright 1998-2009 Pavel Haiduc, HP InfoTech s.r.l. 
http://www.hpinfotech.com 

Project : Push Button Seven Segment CA 
Version : 1.1 Date : 12/8/2013 
Author : thebigfakesmile 
Company : Art-Ryodan 
Comments: thebigfakesmile.blogspot.com 

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>
void main(void) 
 PORTB=0xFF; 
 DDRB=0xFF; 
 PORTD=0xC0; 
 DDRD=0xFF; 
 while (1) 
 { 
 if(PINB.0==0) 
 { PORTD=0xF9; } 
 else if(PINB.1==0) 
 { PORTD=0xA4; } 
 else if(PINB.2==0) 
 { PORTD=0xB0; } 
 else if(PINB.3==0) 
 { PORTD=0x99; } 
 else if(PINB.4==0) 
 { PORTD=0x92; } 
 else if(PINB.5==0) 
 { PORTD=0x82; } 
 else if(PINB.6==0)
 { PORTD=0xf8; } 
 else if(PINB.7==0) 
 { PORTD=0x80; } 
 }; 
}

0 comments:

Post a Comment