게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
c언어를 사용한 8051에서 LED 토글 프로그램 질문드립니다.
게시물ID : jisik_75249짧은주소 복사하기
작성자 : 토해
추천 : 1
조회수 : 3450회
댓글수 : 4개
등록시간 : 2010/04/18 22:04:15
#include "io51.h"

void delay_msec(unsigned int time)
{
     int i;
for (i=0;i<time*10;i++) {};
}

void main (void)
{
 unsigned char key5=0, key6=0, key7=0;
 for (;;)
 {
  if (P1.5!=key5)
  { 
   delay_msec(1000);
             P1.0=~P1.0;    
                key5=P1.5;
  }
        if (P1.6!=key6)
  { 
   delay_msec(1000);
    P1.1=~P1.1;
    key6=P1.6;
  }
  if (P1.7!=key7)
        { 
   delay_msec(1000);
                P1.2=~P1.2;
    key7=P1.7;
  }
  
 }
}

 

 

이게 제가 짠 프로그램입니다.

작동은 됩니다...

처음엔 모두 3개의 LED가 불이 들어와있는데 3개의 버튼중 한개를 눌렀다가 떼면

그 버튼에 해당하는 LED가 꺼집니다. 다시 그 버튼을 누르면 LED가 켜집니다.

근데 문제는!!! 스위치 버튼을 좀 길게 눌렀다가 떼면 토글 작동을 안하고

불이 꺼졌다가 다시 들어와버립니다. ㅠㅠ

무엇이 잘못된 것인가요?
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호