[8051] 8051 타이머/인터럽트 응용

등록일 2002.11.04 한글 (hwp) | 34페이지 | 가격 800원

소개글

^^

목차

없음

본문내용

[프로그램 1] 기본 주기와 샘플링 시간을 이용하여 샘플링 시간 사이에 카운터된 외부 클럭의 low와 high 의 카운터 값 검출하여 주기와 주파수 계산
//
// Lab 6.1 - Timer/Counter(Measuring Pulse Freq)
// : Counting No. of pulse in given period
//
#include <reg51.h> /* define 8051 registers */
#include <stdio.h>
#include <stdlib.h>
#include <intrins.h>
#include "lcd.h" // lcd funtion set
#define F_PERIOD 5 // Fundamenatal period(5msec)
#define SAMPLE_PERIOD 100 // 기본주기5msec로 잡고100msec동안 체크
#define CLOCK_FREQ 11.0592 // MHz

// initialize timer/counter 1
TMOD = (TMOD & 0x0F) | 0x50; // 0x50을 OR 함으로서 TMOD의 6번째 비트가 SET 되어 외부 클럭을 사용, GATE1 = 0, 모드 1로 초기화
TL1 = 0;
TH1 = 0; // 외부클럭은 0부터 카운터를 시작 하므로 TL1, TH1모두 0으로 초기화
counter1_on = 0; // counter1을 0으로 초기화
// Interrupt Set
EA = 1; // IE 레지스터의 EA 비트 셋
ET0 = 1; // 타이머 0 인터럽트 사용

// measuring No. of pulse at every SAMPLE_PERIOD
period_count = (SAMPLE_PERIOD/F_PERIOD);

TR0 = 1; // 타이머 0 시작

while(1) // infinite loop
{
// Read Number of Pulse
ET0 =0; // Disable Timer 0 interrupt
lth1 = th1;
ltl1 = tl1;
ET0 = 1; // Enable Timer 0 interrupt

참고 자료

8051을 이용하여 타이머 인터럽트를 이용하여
PWM 을 만들거나 제어 합니다.
      최근 구매한 회원 학교정보 보기
      1. 최근 2주간 다운받은 회원수와 학교정보이며
         구매한 본인의 구매정보도 함께 표시됩니다.
      2. 매시 정각마다 업데이트 됩니다. (02:00 ~ 21:00)
      3. 구매자의 학교정보가 없는 경우 기타로 표시됩니다.
      최근 본 자료더보기
      추천도서