회원가입 ID/PW 찾기
AA

#include <AT89x51.h>
unsigned char KEY;
unsigned char KEY2;
unsigned char FLAG;

code unsigned char SEGMENT[16] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; //세그먼트 숫자지정
code unsigned char KCODE[16] = {0x00,0x04,0x08,0x0c,0x01,0x05,0x09,0x0d,0x02,0x06,0x0a,0x0e,0x03,0x07,0x0b,0x0f}; //0-F키 내부 코드

void delay(unsigned int i)
{
 while(i--);
}

void SCAN1(void)
{
 unsigned char i,temp,key1;
 KEY=key1=0;
 FLAG=1;
 P0=0xf0;
 temp=P0;
 temp=(temp>>4)|0xf0;
 for(i=0;i<4;i++){
  if(!(temp&0x0f)){
   key1=KEY;
   FLAG=0;
  }
  temp>>=1;
  KEY++;
 }
 KEY=key1&0x0f;
}

void SCAN(void)
{
 unsigned char i;
 for(i=0;i<4;i++){
  do{
   SCAN1();
  }while(FLAG==0);
 }
 do{
  SCAN1();
 }while(!(FLAG==0));
 KEY2=KCODE[KEY];
}


void main(void)
{
 //변수선언

 P2=P1=0xff;
 do{
  SCAN();
  P1=SEGMENT[KEY2];
  P2=0xef;
 }while(1);
}

원문소스입니다만 이렇게 하니까 c 8 4 0 밖에 출력이 되지 않네요
0~f까지 있지만 다른키가 출력이 안됩니다

c d e f
8 9 a b
4 5 6 7
0 1 2 3   이런 현식의 키매트릭스입니다.
밑에 비슷한 글의 질문이 있었는데 답변이 없더라구요. 답변부탁드립니다.

댓글 0

하드웨어 설계 및 개발에 대하여 개발자들이 자유롭게 토론하는 공간입니다.
- Q&A, 자유주재 토론, 관련 정보 공유
- 분야 : 마이크로프로세서 응용, 전기/전자(아날로그/디지털) 회로 설계, C/C++ 프로그래밍, 펌웨어,
         PCB Artwork, 트러블슈팅 등 하드웨어 설계에 관한 전반인 내용
※ 게시글에 맞는 분류를 선택하여 글을 작성해 주시면 쾌적한 사이트 운영에 많은 도움이 됩니다.
※ 하드웨어 인사이트는 회원들간의 거래정보를 게재할 뿐이지, 그 어떤 책임과 의무도 가지지 않습니다.

search
번호 분류 제목 글쓴이 조회 수 날짜
133 전기전자 아무거나 HOT어셈블리어...작품1 아기사자 760 2009.12.16
132 전기전자 아무거나 HOTATmega 128키트에 대해서... 궁금한게 있습니다.1 아기사자 1076 2009.12.15
131 전기전자 아무거나 HOT제가 요즘 공부의 방향을 잡으려는데...1 사막의삭풍 829 2009.12.15
130 전기전자 아무거나 HOT간단한 방전회로 구할수 있을까요??10 pilsu-ni 2461 2009.12.15
129 전기전자 아무거나 HOT여쭤 볼게있어요.1 추현민 849 2009.12.05
128 전기전자 아무거나 HOT전공기초에 대한 질문 입니다!5 다시시작 930 2009.12.05
127 전기전자 아무거나 HOTPSPICE에 TDA2009랑 레귤레이터 어떻게 해야하는거죠?1 티제이 1855 2009.12.03
126 전기전자 아무거나 HOTAVR 블루투스 관련입니다.2 샤방아아아 1905 2009.12.03
125 전기전자 아무거나 HOT마이컴 AVR MCU질문이요1 기꾸닝 1004 2009.12.02
124 전기전자 아무거나 HOTAVR에 대해.... 붸붸 819 2009.12.01
123 전기전자 아무거나 HOTAVR 포트 설정이 전혀 감이 잡히지를 않네요^^4 욱** 1485 2009.12.01
122 전기전자 아무거나 HOT현재 8051을 많이 쓰나요? 아님 ATMEGA128을 많이 쓰나요?9 월간낚시 1129 2009.11.30
121 전기전자 아무거나 HOT다중출력 SMPS 설계 조언바랍니다2 기술자 1247 2009.11.26
120 전기전자 아무거나 HOT리튬이온 핸드폰 배터리 충전기 설계4 단공 2480 2009.11.23
전기전자 아무거나 HOT키보드매트릭에서 대해서 질문합니다. 시즈마루 879 2009.11.21
118 전기전자 아무거나 HOTSMPS 회로 설계쪽으로 공부하고 있는데 도움을 청합니다.2 피곤한동이 2139 2009.11.19
117 전기전자 아무거나 HOT혹시 LED Driver IC에 대해서 잘 아시는분ㅠ_ㅠ6 피곤한동이 3046 2009.11.19
116 전기전자 아무거나 HOT8051로 작품을 만들려는데...2 faust101 863 2009.11.13
115 전기전자 아무거나 HOT아래 [서보제어관련 공부중인대요 질문드립니다] 글에 대한 답변입니다 ^^ 빈스리 805 2009.11.11
114 전기전자 아무거나 HOT8051을 사용하고자 하는데.1 초보자님 912 2009.11.11
Prev 1 ... 14 15 16 17 18 19 20 21 22 23 ... 25 Next
  • 교양 교육의 기본목표는 인간을 자유롭게 하여, 그들의 잠재능력을 최대한으로 발휘하게 하는 것이다.
    - 화이트
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.