마이크로 응용설계- 도서관 좌석 시스템
본 자료는 4페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
해당 자료는 4페이지 까지만 미리보기를 제공합니다.
4페이지 이후부터 다운로드 후 확인할 수 있습니다.

목차

1. 설계 목표

2. 좌석 시스템 예시

3. Flow Chart

4. 제작 과정

5. 완성사진

6. Trouble Shooting

7. 소스 코드 및 주석

본문내용

==0x36 ){ REVALUE=36; }
if(VALUE ==0x37 ){ REVALUE=37; }
if(VALUE ==0x38 ){ REVALUE=38; }
if(VALUE ==0x39 ){ REVALUE=39; }
if(VALUE ==0x40 ){ REVALUE=40; }
if(VALUE ==0x41 ){ REVALUE=41; }
if(VALUE ==0x42 ){ REVALUE=42; }
if(VALUE ==0x43 ){ REVALUE=43; }
if(VALUE ==0x44 ){ REVALUE=44; }
if(VALUE ==0x45 ){ REVALUE=45; }
if(VALUE ==0x46 ){ REVALUE=46; }
if(VALUE ==0x47 ){ REVALUE=47; }
if(VALUE ==0x48 ){ REVALUE=48; }
if(VALUE ==0x49 ){ REVALUE=49; }
if(VALUE ==0x50 ){ REVALUE=50; }
if(VALUE ==0x51 ){ REVALUE=51; }
if(VALUE ==0x52 ){ REVALUE=52; }
if(VALUE ==0x53 ){ REVALUE=53; }
if(VALUE ==0x54 ){ REVALUE=54; }
if(VALUE ==0x55 ){ REVALUE=55; }
if(VALUE ==0x56 ){ REVALUE=56; }
if(VALUE ==0x57 ){ REVALUE=57; }
if(VALUE ==0x58 ){ REVALUE=58; }
if(VALUE ==0x59 ){ REVALUE=59; }
if(VALUE ==0x60 ){ REVALUE=60; }
if(VALUE ==0x61 ){ REVALUE=61; }
if(VALUE ==0x62 ){ REVALUE=62; }
if(VALUE ==0x63 ){ REVALUE=63; }
if(VALUE ==0x64 ){ REVALUE=64; }
}
if ((Inputed_key[1]==10) &&(VALUE<=0X64)) // 64 이하의 키 입력만을 위한 조건
{
PORTE=0X00;
chair[REVALUE]=GREENT; // 해당 좌석에 시간(녹색) 부여
Inputed_key[1]=0x00; // 현재 스캔 값 초기화
}
if((Inputed_key[1]==10) && (VALUE>0X64)) // 64 초과 입력에 대한 에러 처리
{
PORTE=0X88; // 세그먼트에 88이 표시된 후 00으로 초기화
delay_ms(500);
PORTE=0X00;
Inputed_key[1]=0x00;
}
if (Inputed_key[1]==12) // # 키를 이용한 로그아웃 설정
{
PORTE=0X00;
chair[REVALUE]=0X00;
Inputed_key[1]=0x00;
}
i+=3;
}
//T = 1Sec 1F00
//T = 10mSec FDC0
TCNT1H=0xFD;
TCNT1L=0xC0; // 10 ms 의 인터럽트 주기 완성
#asm("sei")
}
// Declare your global variables here
void main(void)
{ // 메인 초기화 부분
unsigned char tmpcnt=0;
PORTA=0x00;
DDRA=0xFF;
PORTB=0x00;
DDRB=0x00;
PORTC=0x00;
DDRC=0xff;
PORTD=0X00;
DDRD=0xFF;
PORTE=0x00;
DDRE=0xFF;
PORTF=0x00;
DDRF=0xff;
PORTG=0x00;
DDRG=0x00;
ASSR=0x00;
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;
TCCR1A=0x00;
TCCR1B=0x04;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
OCR1CH=0x00;
OCR1CL=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
TCCR3A=0x00;
TCCR3B=0x00;
TCNT3H=0x00;
TCNT3L=0x00;
ICR3H=0x00;
ICR3L=0x00;
OCR3AH=0x00;
OCR3AL=0x00;
OCR3BH=0x00;
OCR3BL=0x00;
OCR3CH=0x00;
OCR3CL=0x00;
EICRA=0x00;
EICRB=0x00;
EIMSK=0x00;
TIMSK=0x04;
ETIMSK=0x00;
ACSR=0x80;
SFIOR=0x00;
#asm("sei")
while (1)
{
for(tmpcnt=1;tmpcnt<65;tmpcnt++)
{
if(chair[tmpcnt] == 0) // 아무 좌석이 사용되지 않고 있을 때
{
PORTC=0x00;
PORTA=0x00;
PORTF=0XFF;
}
else if(chair[tmpcnt]<=REDT && chair[tmpcnt]>0) // 64개의 좌석에 대한 시간 체크 (적색 LED)
{
PORTA=(0x80>>((unsigned char)((tmpcnt-1)%8))); // 좌석 (세로) 에 대한 간단화 코드
PORTC=0x00;
PORTF=0XFF-(1<<((unsigned char)((tmpcnt-1)/8))); // 좌석 (가로) 에 대한 간단화 코드
chair[tmpcnt]--; // 시간 감소
}
else if(chair[tmpcnt]>REDT && chair[tmpcnt] <= GREENT) // 64개의 좌석에 대한 시간 체크 (녹색 LED)
{
PORTC=(0x80>>((unsigned char)((tmpcnt-1)%8))); // 좌석 (세로) 에 대한 간단화 코드
PORTA=0x00;
PORTF=0XFF-(1<<((unsigned char)((tmpcnt-1)/8))); // 좌석 (가로) 에 대한 간단화 코드
chair[tmpcnt]--; //시간 감소
}
delay(20,1);
}
};
}
void delay(int d1, int d2)
{
int i, j;
for(i=0;i for(j=0;j }
}

키워드

  • 가격2,000
  • 페이지수12페이지
  • 등록일2011.05.13
  • 저작시기2011.4
  • 파일형식한글(hwp)
  • 자료번호#860079
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니