실험4 AVR 타이머와 카운터
- 최초 등록일
- 2014.09.09
- 최종 저작일
- 2012.09
- 3페이지/
한컴오피스
- 가격 1,000원
![할인쿠폰받기](/images/v4/document/ico_det_coupon.gif)
목차
1. 실습7 : 타이머로 LED 점멸
2. 실험8 : 타이머를 이용한 디지털 시계
본문내용
#include<avr/io.h>
#include<avr/interrupt.h>
AVR 입출력에 대한 헤더 파일과 인터럽트를 사용하기 위한 헤더파일을 선언한다.
unsigned char LED_Data = 0x00;
unsigned char timer0Cnt=0;
LED 사용과 타이머 사용을 위한 변수를 선언한다.
SIGNAL(SIG_OVERFLOW0); //Timer0 Overflow0 ISP
Timer0 Overflow 서비스 루틴을 선언한다.
int main(){
DDRE = 0xFF;
PORT E의 0~7까지를 LED 모듈로 들어가는 출력으로 설정한다.
TCCR0 = 0x07;
0~2까지의 레지스터를 사용하여 출력한다. 이것은 타이머/카운터에 사용할 클럭과 프리스케일러를 선택하는 것이다. CS02~CS00이 모두 1로 설정되도록 하였으므로 이 출력으로 1024분주를 나타낸다.
<중 략>
#include<avr/io.h>
#include<avr/interrupt.h>
#include<util/delay.h>
AVR 입출력에 대한 헤더 파일과 인터럽트를 사용하기 위한 헤더파일과 그 외 헤더파일을 선언한다.
enum{C0,C1,C2,C3};
unsigned char FND_DATA_TBL[]={0x3F,0X06,0X5B,0X4F,0X66,0X6D,0X7C,0X07,0X7F,0X67,0X77,0X7C,0X39,0X5E,0X79,0X71,0X08,0X80};
unsigned char time_s=0, time_m=0,timer0Cnt=0;
표시문자에 대한 FND 문자표를 선언한다. 또한 타이머 사용을 위한 변수를 선언하고 초기값으로 0을 지정한다.
void print_FND(unsigned charselx, unsigned char data);
원하는 FND 포트에 데이터를 출력한다.
참고 자료
없음