검색어 입력폼

마이크로프로세서 8051을 이용한 led제어 및 키보드 명령어 출력

저작시기 2009.10 |등록일 2010.04.07 한글파일한글 (hwp) | 6페이지 | 가격 1,500원

소개글

과제1) <①스위치에 따른 led shift속도 변화>
<②스위치의 on/off 텀에 따른 시간표현>

과제2) 키보드 명령어에 따른 출력문장 및 led 숫자 표현


과제3) 7segment 에 스위치의 눌린 횟수를 표현

목차

1>‥‥‥‥‥서론 및 소감
2>‥‥‥‥‥프로그램 소스
과제1) <①스위치에 따른 led shift속도 변화>
<②스위치의 on/off 텀에 따른 시간표현>

과제2) 키보드 명령어에 따른 출력문장 및 led 숫자 표현

과제3) 7segment 에 스위치의 눌린 횟수를 표현

본문내용

2>프로그램 소스
과제1)
① led 4개를 갖고, 켜진 led가 rotate 될 수 있도록 프로그램 작성
led에 불이 shift 되는 간격은 switch 4개를 조작하여 다르게 함

#include <REG51.H>
void init_T0(void)
{
TF0 = 0;
TMOD = 0x01;
TH0 = 0xDB;
TL0 = 0xFE;
}

void timer_5m(void)
{
int count;
unsigned char in;

count = 0;
in = ~(P1 & 0xf0);
in = (in >> 4);

do
{ if(TF0)
{
count++;
TH0 = 0xDB;
TL0 = 0xFE;
TF0 = 0;

}
} while(count < (50 * in));

}

void main(void)
{
init_T0();
TR0 = 1;

while(1)
{
P1 = 0xfe;
timer_5m();

P1 = 0xfd;
timer_5m();

P1 = 0xfb;
timer_5m();

P1 = 0xf7;
timer_5m();
}
}
과제1)
② switch 1개가 on되기 시작하여 off 되는 순간 까지 시간을 sec단위로
4개의 led에 표시
<switch를 on시키면 led 4개가 0.5초 간격으로 모두 꺼졌다 켜졌다를 반복하다가 switch가 off 되는 순간까지 그때까지의 시간을 sec단위로 지속적으로 다시 switch를 on 시킬 때까지 유지>

#include <REG51.H>
int second;

void timer_500msec(void)
{
int count;
count=0;
다운로드 맨위로