드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
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가 켜집니다.
근데 문제는!!! 스위치 버튼을 좀 길게 눌렀다가 떼면 토글 작동을 안하고
불이 꺼졌다가 다시 들어와버립니다. ㅠㅠ
무엇이 잘못된 것인가요?
댓글 분란 또는 분쟁 때문에
전체 댓글이 블라인드 처리되었습니다.
새로운 댓글이 없습니다.