BASIC4MCU | 8051/PIC | DT-516 강좌 | 사용자 헤더 파일을 추가
페이지 정보
작성자 키트 작성일2017-08-22 14:10 조회1,558회 댓글0건첨부파일
본문
메인 함수가 지저분해서 사용자 헤더 파일을 만들었습니다.
압축 파일을 다시 첨부 합니다.
예제는 분초가 나오는 시계입니다.
DT-516(82G516-EV) (2).zip
타이머 인터럽트를 사용한 딜레이 함수의 이름은 t_delay_ms()로 변경 했습니다.
인터럽트 함수들도 함께 넣어 뒀습니다. (함수만 만들어두고 사용하지 않아도 됩니다.)
//-------------------------------------------------------------
// 82G516 E/V BOARD ( DT-516 )
//-------------------------------------------------------------
// XTAL : 22.1184Hz
//-------------------------------------------------------------
// filename: DT516-025.c
// 13비트 타이머 인터럽트를 사용한 시계(분초)
//-------------------------------------------------------------
#include <REG_MPC82G516.H>
//
#include "DT516-main.h"
//
//
void Timer_0_Interrupt(void) interrupt 1{ // 225Hz주기
P4=0xFF; // FND OFF
//
if(Tcnt0<113)H_SecFlg=1;
else H_SecFlg=0;
//
if(++Tcnt0>=225){ Tcnt0=0; Sec++;
if(Sec >=60){ Sec=0; Min++; }
if(Min >=60){ Min=0; Hour++; }
if(Hour>=24){ Hour=0; }
}
//
switch(FND_CNT){
case 0: P0=Seg_Data[Min/10]; FND_COM1=0; break;
case 1: P0=Seg_Data[Min%10]; if(H_SecFlg)P07=0; FND_COM2=0; break;
case 2: P0=Seg_Data[Sec/10]; FND_COM3=0; break;
case 3: P0=Seg_Data[Sec%10]; FND_COM4=0; break;
}
if(++FND_CNT>3)FND_CNT=0;
//
if(delay_buf){ if(--delay_buf==0)delay_flg=1; }
}
//
void main(){
ET0=1; TR0=1; EA=1;
while(1){}
}
//-------------------------------------------------------------
#include로 추가한 사용자 헤더파일은 왼쪽 프로젝트 파일에 포함시키지 않습니다.
작업 폴더에 함께 넣어두면 됩니다.
댓글 0
조회수 1,558등록된 댓글이 없습니다.