Training Elektronika Industri

No HP : 082322992336

Trainer Microcontroller

No HP : 082322992336

team electronics indonesia

No HP : 082322992336

Interface Electric car

No HP : 082322992336

Altium designer

No HP : 082322992336

Minggu, 13 April 2014

percobaan Push Button AVR ATmega8535


  PERCOBAAN PUSH BUTTON
-          Percobaan 1 (Menyalakan LED dengan Push Button)
#include <mega8535.h>
#include <delay.h>
void main(void)
{
PORTB=0x00;
DDRB=0xff;
PORTD=0x00;
DDRD=0x00;
while (1)
      {
        PORTB=~PIND;
      }
}
-          Percobaan 2 (Geser Led ke kanan dengan push button)
#include <mega8535.h>
#include <delay.h>
void main(void)
{
int a,i;
PORTB=0x00;
DDRB=0xff;
PORTD=0x00;
DDRD=0x00;
while (1)
      {
        if(PIND.0==0)
        {
         a=0x01;
         for(i=7;i>=0;i--)
         {
          a=((a>>1)|(a<<7));
          PORTB=a;
          delay_ms(30);
         }
        }
        if(PIND.0==1)
        {
         PORTB=0x00;
        }                                                                     
      }
}
-          Percobaan 3 (Geser Led ke kiri dengan push button)
#include <mega8535.h>
#include <delay.h>
void main(void)
{
int a,i;
PORTB=0x00;
DDRB=0xff;
PORTD=0x00;
DDRD=0x00;
while (1)
      {
        if(PIND.0==0)
        {
         a=0x7f;
        for(i=0;i<=7;i++)
        {
         a=((a<<1)|(a>>7));
         PORTB=~a;
         delay_ms(30);
        }
        }
        if(PIND.0==1)
        {
         PORTB=0x00;
        }
      }
}
-          Percobaan 4 (Geser Led kanan kiri dengan push button)
#include <mega8535.h>
#include <delay.h>

void main(void)
{
int a,i;
PORTB=0x00;
DDRB=0xff;
PORTD=0x00;
DDRD=0x00;
while (1)
      {
       if(PIND.0==0)
        {
         a=0x01;
         for(i=7;i>=0;i--)
         {
          a=((a>>1)|(a<<7));
          PORTB=a;
          delay_ms(30);
         }
        }
        if(PIND.0==1)
        {
         PORTB=0x00;
        }
  
        if(PIND.1==0)
        {
         a=0x7f;
         for(i=0;i<=7;i++)
         {
          a=((a<<1)|(a>>7));
          PORTB=~a;
          delay_ms(30);
         }
        }
        if(PIND.1==1)
        {
         PORTB=0x00;
        }
      }
}

Pecobaan seven segment AVR ATmega8535







PERCOBAAN SEVEN SEGMENT
-          Percobaan 1 (Seven Segment Counter Up)
#include <mega8535.h>
#include <delay.h>
int baca_digit1(int data)
{              
       int digit1=data;
       //////////////////////////////////////status digit1//////////////////////////////////////
       if (digit1==0) {PORTE.0=0;PORTE.1=0;PORTE.2=0;PORTE.3=0; goto selesai;} //digit1 0
       if (digit1==1) {PORTE.0=0;PORTE.1=0;PORTE.2=0;PORTE.3=1; goto selesai;} //digit1 1
       if (digit1==2) {PORTE.0=0;PORTE.1=0;PORTE.2=1;PORTE.3=0; goto selesai;} //digit1 2
       if (digit1==3) {PORTE.0=0;PORTE.1=0;PORTE.2=1;PORTE.3=1; goto selesai;} //digit1 3
       if (digit1==4) {PORTE.0=0;PORTE.1=1;PORTE.2=0;PORTE.3=0; goto selesai;} //digit1 4
       if (digit1==5) {PORTE.0=0;PORTE.1=1;PORTE.2=0;PORTE.3=1; goto selesai;} //digit1 5
       if (digit1==6) {PORTE.0=0;PORTE.1=1;PORTE.2=1;PORTE.3=0; goto selesai;} //digit1 6
       if (digit1==7) {PORTE.0=0;PORTE.1=1;PORTE.2=1;PORTE.3=1; goto selesai;} //digit1 7
       if (digit1==8) {PORTE.0=1;PORTE.1=0;PORTE.2=0;PORTE.3=0; goto selesai;} //digit1 8
       if (digit1==9) {PORTE.0=1;PORTE.1=0;PORTE.2=0;PORTE.3=1; goto selesai;} //digit1 9
       selesai:                                                                
       /////////////////////////////////////////////////////////////////////////////////////////
}
int baca_digit2(int data)
{                
       int digit2=data;
       /////////////////////////////////////status digit1//////////////////////////////////////
       if (digit2==0) {PORTE.4=0;PORTE.5=0;PORTE.6=0;PORTE.7=0; goto end;} //digit2 0     
       if (digit2==1) {PORTE.4=0;PORTE.5=0;PORTE.6=0;PORTE.7=1; goto end;} //digit2 1
       if (digit2==2) {PORTE.4=0;PORTE.5=0;PORTE.6=1;PORTE.7=0; goto end;} //digit2 2
       if (digit2==3) {PORTE.4=0;PORTE.5=0;PORTE.6=1;PORTE.7=1; goto end;} //digit2 3
       if (digit2==4) {PORTE.4=0;PORTE.5=1;PORTE.6=0;PORTE.7=0; goto end;} //digit2 4
       if (digit2==5) {PORTE.4=0;PORTE.5=1;PORTE.6=0;PORTE.7=1; goto end;} //digit2 5
       if (digit2==6) {PORTE.4=0;PORTE.5=1;PORTE.6=1;PORTE.7=0; goto end;} //digit2 6
       if (digit2==7) {PORTE.4=0;PORTE.5=1;PORTE.6=1;PORTE.7=1; goto end;} //digit2 7
       if (digit2==8) {PORTE.4=1;PORTE.5=0;PORTE.6=0;PORTE.7=0; goto end;} //digit2 8
       if (digit2==9) {PORTE.4=1;PORTE.5=0;PORTE.6=0;PORTE.7=1; goto end;} //digit2 9    
       end:
       //////////////////////////////////////////////////////////////////////////////////////
}
void main(void)
{
int digit1, digit2;
int a,b;
PORTE=0x00;
DDRE=0xff;
while (1)
      {
        for(a=0;a<=9;a++)
        {
         baca_digit1(a);
         delay_ms(30);
         for(b=0;b<=9;b++)
        {
         baca_digit2(b);
         delay_ms(30);
        }
       }
      }  
 }
-          Percobaan 2 (Seven Segment Counter Down)
#include <mega8535.h>
#include <delay.h>
int baca_digit1(int data)
{              
       int digit1=data;
       //////////////////////////////////////status digit1//////////////////////////////////////
       if (digit1==0) {PORTE.0=0;PORTE.1=0;PORTE.2=0;PORTE.3=0; goto selesai;} //digit1 0
       if (digit1==1) {PORTE.0=0;PORTE.1=0;PORTE.2=0;PORTE.3=1; goto selesai;} //digit1 1
       if (digit1==2) {PORTE.0=0;PORTE.1=0;PORTE.2=1;PORTE.3=0; goto selesai;} //digit1 2
       if (digit1==3) {PORTE.0=0;PORTE.1=0;PORTE.2=1;PORTE.3=1; goto selesai;} //digit1 3
       if (digit1==4) {PORTE.0=0;PORTE.1=1;PORTE.2=0;PORTE.3=0; goto selesai;} //digit1 4
       if (digit1==5) {PORTE.0=0;PORTE.1=1;PORTE.2=0;PORTE.3=1; goto selesai;} //digit1 5
       if (digit1==6) {PORTE.0=0;PORTE.1=1;PORTE.2=1;PORTE.3=0; goto selesai;} //digit1 6
       if (digit1==7) {PORTE.0=0;PORTE.1=1;PORTE.2=1;PORTE.3=1; goto selesai;} //digit1 7
       if (digit1==8) {PORTE.0=1;PORTE.1=0;PORTE.2=0;PORTE.3=0; goto selesai;} //digit1 8
       if (digit1==9) {PORTE.0=1;PORTE.1=0;PORTE.2=0;PORTE.3=1; goto selesai;} //digit1 9
       selesai:                                                                
       /////////////////////////////////////////////////////////////////////////////////////////
}
int baca_digit2(int data)
{                
       int digit2=data;
       ////////////////////////////////////status digit1//////////////////////////////////////
       if (digit2==0) {PORTE.4=0;PORTE.5=0;PORTE.6=0;PORTE.7=0; goto end;} //digit2 0     
       if (digit2==1) {PORTE.4=0;PORTE.5=0;PORTE.6=0;PORTE.7=1; goto end;} //digit2 1
       if (digit2==2) {PORTE.4=0;PORTE.5=0;PORTE.6=1;PORTE.7=0; goto end;} //digit2 2
       if (digit2==3) {PORTE.4=0;PORTE.5=0;PORTE.6=1;PORTE.7=1; goto end;} //digit2 3
       if (digit2==4) {PORTE.4=0;PORTE.5=1;PORTE.6=0;PORTE.7=0; goto end;} //digit2 4
       if (digit2==5) {PORTE.4=0;PORTE.5=1;PORTE.6=0;PORTE.7=1; goto end;} //digit2 5
       if (digit2==6) {PORTE.4=0;PORTE.5=1;PORTE.6=1;PORTE.7=0; goto end;} //digit2 6
       if (digit2==7) {PORTE.4=0;PORTE.5=1;PORTE.6=1;PORTE.7=1; goto end;} //digit2 7
       if (digit2==8) {PORTE.4=1;PORTE.5=0;PORTE.6=0;PORTE.7=0; goto end;} //digit2 8
       if (digit2==9) {PORTE.4=1;PORTE.5=0;PORTE.6=0;PORTE.7=1; goto end;} //digit2 9    
       end:
       ////////////////////////////////////////////////////////////////////////////////////////
}
void main(void)
{
int digit1, digit2;
int a,b;
PORTE=0x00;
DDRE=0xff;




while (1)
      {
        for(a=9;a>0;a--)
        {
         baca_digit1(a);
         for(b=9;b>=0;b--)
         {
         baca_digit2(b);
         delay_ms(30);
         }
       }
      }  
}

up down AVR ATmega16


 



#include <mega16.h>
#include <delay.h>
#define UP PIND.4
#define DOWN PIND.5
#define RESET PIND.6
// Declare your global variables here
char a=0;
//b=0;
void main(void)
{
// Declare your local variables here

PORTA=0x00;
DDRA=0x00;

PORTB=0x00;
DDRB=0xFF;

PORTC=0x00;
DDRC=0xFF;


PORTD=0xFF;
DDRD=0x00;   

a=9;
PORTB=a;       
while (1)
      {
      // Place your code here
      if (UP==0){
         if (a<9){
         a++;  
         PORTB=a;
         delay_ms(500);
         }
      }   
     
      if (DOWN==0){     
      a--;   
          if (a==255){
          a=0;
          }
      PORTB=a;
      delay_ms(500);
      }
     
      if (RESET==0){
      a=0;  
      PORTB=a;
      PORTC=a;
      delay_ms(500);
      } 

      }
}