타이머 기능, 스톱워치 기능, 알람기능 클럭 분주 회로 구성을 위한 기본 지식 7-Segment 출력부 구성을 위한 기본 지식 알람 기능을 위한 클럭 분주 회로 구성 기본 지식 입력 버튼 제어부 구성 부가기능(Dot-matrix 기능 및 LED 제어) Dot-matrix 구동 방법 기본지식 LED 애니메이션 구현에 관한 기본지식Simulation구현은 가능하나, Hardware 구현 작동오류 발생 전체적인 segment com 신호가 1-bit shift 반복문에 break가 걸리지 않아 밀리 초 구간을 반복 Solution com신호를 전체적으로 1-bit씩 시프트(이동) 전반적인 프로그램 부문 수정텀 프로젝트 주제 선정디지털 시계 구현 주요 기능 설정타이머 기능스톱워치알람기능(고려 후 결정) 부가 기능 설정Dot-matrix를 이용한 그림 메시지 표현LED를 이용한 MODE 표시 타이머 기능, 스톱워치 기능, 알람기능클럭 분주 회로 구성을 위한 기본 지식7-Segment 출력부 구성을 위한 기본 지식알람기능을 위한 클럭을 분주 회로 구성 기본 지식입력 버튼 제어부 구성부가기능(Dot-matrix 기능 및 LED 제어)Dot-matrix 구동 방법 기본지식LED 애니메이션 구현에 관한 기본지식
*과제 동작(Push S/W)1번 S/W – (문 바깥쪽)진입2번 S/W – (문 안쪽)열림3번 S/W – (문 안쪽)닫힘4번 S/W – Password 설정5번 S/W – Password 보여주기과제 동작(전체 동작①)1번(Enter) S/W 입력시LCD 출력부 – “Enter The Password”키패드 입력 - 1번째 키, …, 4번째 키 입력입력된 키가 맞으면,LCD 출력부 – “Correct!” → “Open The Door”알림음 출력모터가 오른쪽으로 0.5초간 회전입력된 키가 맞지 않으면,LCD 출력부 – “Wrong Password”2번의 추가 입력 기회 부여3번 모두 안 맞으면, 경보음 10초간 출력완전 초기 상태로 복귀
주요 기능a. 키친타이머는 처음 OFF(SLEEP MODE)의 상태이며, 여기서 키를 1번 누를 때마다 LED가 하나씩 꺼지며, 가장 마지막 LED는 Toggling 상태이다.b. 키친타이머의 실제 카운트 시간은 각 표시 숫자×10sec이다.c. 키친타이머의 입력을 통해 설정한 시간이 지난 뒤, LED와 부저 출력이 끝나고 나면 1번과 2번 LED가 교대로 깜빡거리며 MELODY(학교 종)가 호출된 뒤, 모든 LED는 off된다.d. 키친타이머 작동 중에 키를 길게 약 2초 간 누르면, 키친타이머는 BEEP음을 내며 SLEEP MODE로 돌아간다.e. 입력에 따른 LED 동작 상태는 다음과 같다. 3. SubRoutine 설명1)LOOKUP TABLE- 원래 LOOKUP TABLE을 제일 위가 아닌 아랫 부분으로 보낼려고 했었지만, PIC16F84자체의 특성 때문에 LOOKUP TABLE이 0~255번째 줄 사이에 위치하여야 하므로, 가장 위쪽에 위치시켰다. 또한 각 LOOKUP TABLE의 기능은 ① LED_COUNT를 가져다 TIME_COUNT로 변할 수 있도록 하기 위한 TABLE 1개, ② ①의 기능을 역으로 변환시키는 TABLE 1개 ③ 단 하나의 LED_COUNT 변수를 통해 전체 LED를 제어할 수 있도록 하기 위한 TABLE 4개로 이루어져 있으며, ③은 LED_COUNT의 값에 따라 전체가 연동될 수 있도록 설계하였다.① LED_COUNT2TIME_COUNT MOVF LED_COUNT,W ADDWF PCL,F RETLW .0 RETLW .1 RETLW .2 RETLW .3 RETLW .4 RETLW .5 RETLW .6 RETLW .7 RETLW .8 RETLW .9 RETLW .10 RETLW .15 RETLW .20 RETLW .25 RETLW .30 RETLW .45 RETLW .60⇒ 이 TABLE은 LED_COUNT = 0~16까지일 때, 각 LED_COUNT에 맞도록 TIME_COUNT를 주기 위한 TABLE이다.