질문게시판 > 답변3 : 안녕하세요 4*3 키매트릭스와 Fnd array를 이용한 회로 질문드립니다.

TODAY787 TOTAL2,325,657
사이트 이용안내
Login▼/회원가입
최신글보기 질문게시판 기술자료 동영상강좌

아두이노 센서 ATMEGA128 PWM LED 초음파 AVR 블루투스 LCD UART 모터 적외선


BASIC4MCU | 질문게시판 | 답변3 : 안녕하세요 4*3 키매트릭스와 Fnd array를 이용한 회로 질문드립니다.

페이지 정보

작성자 master 작성일2018-04-27 00:15 조회7,528회 댓글2건

본문

	

 

// DateTime : 2018-04-27 오전 12:16:15
// by Ok-Hyun Park
//=====================================================================//
#include <mega128.h>
#include <delay.h>
//=====================================================================//
char fnd[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E}; //애노드
char buf[4]={0};
//
void disp(){
  PORTA=fnd[buf[0]];      PORTB=1delay_ms(1); PORTB=0;
  PORTA=fnd[buf[1]];      PORTB=2delay_ms(1); PORTB=0;
  PORTA=fnd[buf[2]]&0x7FPORTB=4delay_ms(1); PORTB=0;
  PORTA=fnd[buf[3]];      PORTB=8delay_ms(1); PORTB=0;
}
//
char KeyScan(void){
  char KeyBuf=0xFF;
  DDRC=0PORTC=~0;
  DDRC=0x08PORTC.3=0delay_us(1); if(!PINC.0)KeyBuf1if(!PINC.1)KeyBuf=2if(!PINC.2)KeyBuf3DDRC=0PORTC=~0;
  DDRC=0x10PORTC.4=0delay_us(1); if(!PINC.0)KeyBuf4if(!PINC.1)KeyBuf=5if(!PINC.2)KeyBuf6DDRC=0PORTC=~0;
  DDRC=0x20PORTC.5=0delay_us(1); if(!PINC.0)KeyBuf7if(!PINC.1)KeyBuf=8if(!PINC.2)KeyBuf9DDRC=0PORTC=~0;
  DDRC=0x40PORTC.6=0delay_us(1); if(!PINC.0)KeyBuf=10if(!PINC.1)KeyBuf=0if(!PINC.2)KeyBuf=11DDRC=0PORTC=~0;
  return KeyBuf// Key 없으면 0xFF 리턴
}
//=====================================================================//
void main(void){
    char i,key,old;
    DDRA=0xFFDDRB=0x0F;
    old=KeyScan();                                // 무한루프 들어가기 전에 키값을 저장해 두고
    while(1){
        key=KeyScan();                            // 키를 입력받아서
        if(old!=key){                             // 저장된 값과 다르면 (새로운 키가 눌렸으면)
            if((key>=0)&&(key<=11)){              // 키값의 범위를 체크하고
                for(i=2;i>=0;i--)buf[i+1]=buf[i]; // 버퍼를 시프트 시킨 후
                buf[0]=key;                       // 버퍼0에 키값을 저장
            }
            old=key// 현재 키값을 저장
        }
        disp();
    }
}

 

FND 4x3 키 매트릭스 & FND(4자리) 프로테우스 ( 코드비전 & AVRstudio)  

https://www.basic4mcu.com/bbs/board.php?bo_table=gesiyo10&wr_id=191 

이 소스를 수정해서 인터럽트 대신 폴링 방식으로 수정했습니다.

 

  • BASIC4MCU 작성글 SNS에 공유하기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기

댓글 2

조회수 7,528

27315co님의 댓글

27315co 작성일

정말 감사드립니다. 어떻게 감사의 말씀을 표현드려야할지 모르겠습니다. 열심히 배우고 노력해서 저도 지식을 나눌수있는 단계까지 오르도록 노력하겠습니다.

27315co님의 댓글

27315co 작성일

제가 코드를 보면서 궁금한사항이 생겼는데요 disp 함수에서왜 fnd[buf[2]] 에만  &0x7f 를 해주고
Keyscan 함수에서는 DDRC 를 왜 PORT.C 에 맞춰서 선언해주신거죠??

질문게시판HOME > 질문게시판 목록

MCU, AVR, 아두이노 등 전자공학에 관련된 질문을 무료회원가입 후 작성해주시면 전문가가 답변해드립니다.
ATMEGA128PWMLED초음파
아두이노AVR블루투스LCD
UART모터적외선ATMEGA
전체 스위치 센서
질문게시판 목록
제목 작성자 작성일 조회
질문 귀찮게 해서 죄송합니다,댓글[2] Songyoun 18-05-08 8585
질문 max9814 감도 어느정도인가요!!!댓글[2] 이미지첨부파일 길넴 18-05-08 9336
질문 안녕하세요댓글[2] Songyoun 18-05-08 8425
질문 아두이노 코딩 질문..댓글[2] 이미지첨부파일 sg2p1o 18-05-07 8119
답변 답변글 답변 : 터치센서 HIGH/LOW 변할 때마다 네오픽셀 색상 변경 master 18-05-07 6633
답변 답변글 답변 2: 포텐션미터 실시간 네오픽셀 밝기 변경 master 18-05-07 6261
답변 답변글 답변 3: 조도센서 네오픽셀 색상변경 master 18-05-07 6559
답변 답변글 답변 4: 조도센서 히스테리시스 master 18-05-07 6212
답변 답변글 답변 5: 조도센서 칼라변경 RGBR->GBRG->BRGB-> master 18-05-07 5878
질문 안녕하세요,댓글[5] Songyoun 18-05-07 13845
질문 초음파센서 2개로 거리측정 이미지첨부파일 hdki 18-05-07 12088
답변 답변글 답변 : 초음파센서 2개로 거리측정 master 18-05-07 6581
질문 적외선 센서2개로 상호간격측정 문의드립니다.댓글[3] hdki 18-05-07 10703
질문 출력이 이와같이 나옵니다.댓글[3] 이미지첨부파일 키츠네유즈 18-05-07 10294
답변 답변글 답변 : RSSI 히스테리시스 master 18-05-07 6039
질문 무게센서 추가질문 슈돌 18-05-07 6686
답변 답변글 답변 : 무게센서 추가질문댓글[2] master 18-05-07 9933
질문 블루투스 신호 서보모터제어관련 키츠네유즈 18-05-07 6880
답변 답변글 답변 : 블루투스 신호 서보모터제어관련댓글[3] master 18-05-07 11319
질문 FND를 활용해서 덧셈결과를 출력하는 코드에대해서 질문드립니다. 이미지첨부파일 27315co 18-05-06 6729
답변 답변글 답변 : FND를 활용해서 덧셈결과를 출력하는 코드에대해서 질문드립니다.댓글[5] master 18-05-07 17531
답변 답변글 답변 2: FND를 활용해서 덧셈결과를 출력하는 코드에대해서 질문드립니다.댓글[2] master 18-05-07 7715
답변 답변글 답변 : 답변 2: FND를 활용해서 덧셈결과를 출력하는 코드에대해서 질문드립니다. 첨부파일 27315co 18-05-07 5863
질문 오렌지 보드 BLE 앱인벤터2 블루투스 질문입니다.댓글[1] 이미지 문화시민 18-05-06 11191
질문 PID 제어 코드 관련3댓글[5] 첨부파일 서씨 18-05-05 19983
질문 PID제어 코드 관련 2댓글[4] 서씨 18-05-05 12984
질문 세개의 아두이노 코딩을 하나로 통합하는법 비공개 18-05-05 6632
답변 답변글 답변 : 세개의 아두이노 코딩을 하나로 통합하는법댓글[6] master 18-05-05 20189
질문 아두이노 버튼 인식 질문 드립니다 ㅠ댓글[2] hdki 18-05-04 8261
질문 PID제어 코드 관련 서씨 18-05-04 6236
게시물 검색

2022년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2021년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2020년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2019년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2018년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
Privacy Policy
MCU BASIC ⓒ 2020
모바일버전으로보기