8051/PIC > DT516-081.c Key value display

인기검색어 > 아두이노 센서 ATMEGA128

최신글 질문게시판 동영상강좌 가입하기

▼ BASIC4MCU 후원업체 신제품 정보 ▼

▲ BASIC4MCU 후원업체 신제품 정보 ▲

BASIC4MCU > 8051/PIC

DT-516 강좌 | DT516-081.c Key value display

페이지 정보

작성자 키트 작성일17-08-23 13:27 조회285회 댓글0건

첨부파일

본문

//------------------------------------------------------------- 

// 82G516 E/V BOARD ( DT-516 )
//-------------------------------------------------------------
// XTAL : 22.1184Hz
//-------------------------------------------------------------
// filename: DT516-081.c
// Key value display
//-------------------------------------------------------------
#include <REG_MPC82G516.H>
//
#include "DT516-main.h"
//
//
U_C key_buf=0;
bit PushFlg=0;
U_C FND_BUF[4]={16,16,16,16};
//
void Timer_0_Interrupt(void) interrupt 1{ // 7200Hz=138.89us 주기
    P4=0xFF; // FND OFF
    switch(FND_CNT){
        case 0: P0=Seg_Data[FND_BUF[3]]; FND_COM1=0; break;
        case 1: P0=Seg_Data[FND_BUF[2]]; FND_COM2=0; break;
        case 2: P0=Seg_Data[FND_BUF[1]]; FND_COM3=0; break;
        case 3: P0=Seg_Data[FND_BUF[0]]; FND_COM4=0; break;
    }
    if(++FND_CNT>3)FND_CNT=0;
    //
    if(delay_buf){ if(--delay_buf==0)delay_flg=1; }
}
//
void key_chk(void){
    U_C tp=0;
    if(!P20)tp=0x30;
    if(!P21)tp=0x31;
    if(!P22)tp=0x32;
    if(!P23)tp=0x33;
    if(!P24)tp=0x34;
    if(!P25)tp=0x35;
    if(!P26)tp=0x36;
    if(!P27)tp=0x37;
    //
    if(!P30)tp=0x38;
    if(!P31)tp=0x39;
    if(!P32)tp=0x3A;
    if(!P33)tp=0x3B;
    if(!P34)tp=0x3C;
    if(!P35)tp=0x3D;
    if(!P36)tp=0x3E;
    if(!P37)tp=0x3F;
    //
    if(tp!=0){
        if(!PushFlg){
            PushFlg=1;
            if(key_buf!=tp){ key_buf=tp; FND_BUF[0]=key_buf&0x0F; }
        }
    }
    else PushFlg=0;
}
//
void main(){
    TMOD=2; ET0=1; TR0=1; EA=1;
    while(1){
        key_chk();
    }
}
//-------------------------------------------------------------


//-------------------------------------------------------------

"DT516-main.h" 헤더파일에서

CU_C Seg_Data[]={
    0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xFF //0123456789AbcdEF
};
제일 뒤에 ,0xFF 추가 합니다.

 

댓글 : 0

조회수 : 285

등록된 댓글이 없습니다.

게시물 검색

8051/PIC 목록

게시물 검색


Privacy Policy
MCU BASIC ⓒ 2017
PC버전