스위치 누를 때마다 1 증가하는 카운터

 

스위치를 누를때마다 1씩 증가하는 카운터입니다.

 

 

 

 

 

 

 

 

전체 소스 Codevision 용

 

 

   

 /*********************************************

버튼 누를 때마다 카운터 1 증가

PORTA ==> FND1 에 출력

 

PORTB.0 스위치 입력

 

Tools : Codevision

http://watsim.tistory.com

*********************************************/

 

 

#include <mega128.h>

 

void FndDisplay1(char byteData);

void FndDisplay1(char byteData){

 

    switch( byteData){

    case 0: PORTA = 0b10001000; break;

    case 1: PORTA = 0b11101011; break;

    case 2: PORTA = 0b01001100; break;

    case 3: PORTA = 0b01001001; break;

    case 4: PORTA = 0b00101011; break;

    case 5: PORTA = 0b00011001; break;

    case 6: PORTA = 0b00011000; break;

    case 7: PORTA = 0b11001011; break;

    case 8: PORTA = 0x00| 0x08; break;

    case 9: PORTA = 0x01|0x08; break;

    default : PORTA = 0b11111000; break;

    }

 

}

 

void main(void)

{

    unsigned char chLastPinB=0;

    char byteA=0;

 

    DDRA=0xFF;

    DDRB=0x00;

 

    while (1)

    {

        // 키가 눌러지면

        if(0x01 != (PINB & 0x01) )

        {

             if( 0x01 != (chLastPinB & 0x01) )

             {

                  byteA ++ ;

          }

          chLastPinB = 1;

        }

        else

        {

          chLastPinB = 0;

        }

 

        FndDisplay1(byteA%10);

}

}

 

 

 

 

 

 

주요 부품

ATMEGA128

TACT SWITCH

 

 

Posted by WhiteAT
,