전자공학/마이크로프로세서
2024.2 마이크로프로세서 실험 시험 복기
TSpoons
2024. 12. 27. 16:40
1. reset 시 led_pattern, fnd 값
led_write(led_pattern);
fnd_write_numbers(fnd_num);
2. 터미널에 알파벳 대문자만 입력으로 받아 출력하고, 엔터키 기능 구현
3. m이나 M을 누르게 되면 speaker 동작
4. 다시 입력 시 음악 중단
5. SW2를 누르면 led_pattern 0.5초마다 toggle
6. SW2를 다시 누르면 그 상태 그대로 정지
7. SW3를 누르면 fnd 값 2초마다 1씩 증가
8. SW3를 다시 누르면 fnd 값 정지
정확한 시간? -> Timer 사용 (delay X), CTC mode 설정
2초, 0.5초 주기가 정수배인 신호를 생성해야 하므로 같은 Timer에서 생성할 수 있을 것 같다.
try 1) CTC mode로 mode 4 설정, TOP값이 OCRnA이므로 OCRnA, OCRnB를 이용하여 2초, 0.5초 제어
-> 동작 X
try 2) CTC mode로 mode 12 설정, TOP값이 ICR기준으로 OCRnA, OCRnB 를 0.5, 2초 제어
- > 0.5초 간격으로 OCR5A , OCR5B 둘 다 작동
Sol) CTC 모드 (소프트웨어 카운터 사용) : 분주비 극복 가능
★ timer 설정 시 주의 사항 ★
1. 원하는 주기? prescaler 판단
https://studyhoons.tistory.com/124]
AVR 타이머/카운터와 Prescaler(분주비) 완벽 가이드
안녕하세요! 오늘은 AVR 마이크로컨트롤러의 타이머/카운터 설정에서 가장 헷갈리는 부분인 분주비(Prescaler) 선택에 대해 알아보겠습니다. 특히 16MHz에서 주로 사용되는 타이머 설정을 자세히 살
studyhoons.tistory.com
2. compare match register 값 설정
- f: 원하는 신호의 주파수