홍익대학교 실험4 마이크로프로세서 실험 프로젝트
- 최초 등록일
- 2020.01.06
- 최종 저작일
- 2019.12
- 9페이지/ 어도비 PDF
- 가격 6,000원
* 본 문서는 PDF문서형식으로 복사 및 편집이 불가합니다.
소개글
2019 2학기 실험4 프로젝트 보고서입니다.
벽돌이었지만 A0학점을 받았습니다.
프로젝트 코드에대한 주석을 한줄한줄 달았고 text lcd를 이용한 추가코드또한 작성하였습니다.
목차
1. 실험 목적
2. 기능
3. 목표
4. 코드분석
5. 고찰
6. 참고문헌
본문내용
실험 목적
-Microprocessor 실험 및 설계 과목에서 배운 내용들을 활용하여 AVR Processor 기반
Microcontroller Unit인 ATMEGA 128 라이트 모듈로 Digital Clock, Stop Watch, Alarm, Down Count Timer를 구현하고 그 동작 및 기능을 분석하고 이해한다.
기능
- 총 4가지 Mode가 존재하며, Button 1을 이용하여 Mode를 변경할 수 있다.
Mode 0 : Digital Clock
가장 기본적인기능으로써 Timer를 이용한 디지털 시계이다.
Mode 1 : Stop Watch
Time을 기록하는 기능으로 Lap_time을 기록하는 기능을 포함한다.
Mode 2 : Alarm
Digital Clock의 알람을 설정하는 기능이다.
Mode 3 : Down Count Timer
설정한 시간부터 0까지 Down Count하는 Timer이다.
목표
-주어진 코드를 분석하여 사용된 기능들과 동작 방식을 이해하고 Mode 0 ~ Mode 3의 동작을 설명할 수 있어야 한다. 추가 기능을 구현하고 이를 설명할 수 있어야 한다.
<중 략>
고찰
카운터와 인터럽트를 사용하여 디지털 시계를 만들고 스톱워치, 알람, 카운트 다운의 기능이 구현되었다. 버튼을 통한 인터럽트를 이용해 모드를 바꾸거나 LAP_TIME을 기록하고 알람 시간을 설정할 수 있다. 시간의 변화는 타이머의 오버플로우 인터럽트를 통하여 이루어 진다. 타이머를 normal mode동작으로 하고 적절히 분주를 설정하고 tcnt값을 주면 시간에 맞게 초가 증가하는 시계가 된다. 스톱워치나 카운트다운과 같은 다른 모드들 또한 이러한 동작을 기반으로 하고 있다. 내부적으로 만들어진 값을 출력할 때는 print_FND_2bit함수를 사용한다. Time_type의 구분으로 값이 출력될 포트를 결정하고 7447 ic에 binary형태로 값을 입력하기 위해 해당 값에 대한 이진수값을 FND_BCD_TBL에서 읽게 된다. 8비트짜리 하나의 포트에 대하여 십의 자리와 일의 자리가 나뉘어져 있기 때문에 FND_BCD_TBL_H의 경우 FND_BCD_TBL에서 4비트씩 왼쪽으로 이동되어 있다.
참고 자료
홍익대학교, 『마이크로컨트롤러』