BASIC4MCU | 질문게시판 | 스위치를 이용한 LED의 순차점등
페이지 정보
작성자 소리에게돈 작성일2020-06-03 21:22 조회10,823회 댓글0건본문
먼저 풀업저항으로 스위치를 PD2에 연결하였습니다. 8개의 LED를 PC0~7까지 연결했습니다.
0번 LED는 처음부터 켜져있고 스위치를 누를때마다 한칸씩 쉬프트하여 7번led까지 점등
그후에 스위치를 누를때마다 한칸씩 반대로 0번까지 쉬프트 이과정을 반복하도록 프로그램을
작성하는데 7번led 점등후에 반대로 쉬프트가 되지 않습니다. 어느 부분이 잘못 된걸까요?
#include <mega128.h>
#include <delay.h>
void main(void)
{
char key,led;
DDRD=0b00000000;
DDRC=0b11111111;
led=0b11111110;
PORTC=led;
while(1){
delay_ms(200);
key=PIND&0b00000100; //스위치 비트 마스킹
if (key==0){ //스위치 눌렸을때
PORTC=led;
led=(led<<1)|0x01; //왼쪽 쉬프트 순차 점멸
if(led==0b11111111){
if (key==0){ //스위치 눌렸을때(?)
led=(led>>1)|0b10000000; //오른쪽 쉬프트 순차 점멸
PORTC=led;
}
}
}
}
}
댓글 0
조회수 10,823등록된 댓글이 없습니다.