마이크로프로세서 8051을 이용한 led제어 및 키보드 명령어 출력
- 최초 등록일
- 2010.04.07
- 최종 저작일
- 2009.10
- 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;
참고 자료
없음