회원가입 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
번호 분류 제목 글쓴이 조회 수 날짜
176 전기전자 아무거나 HOT리튬이온 핸드폰 배터리 충전기 설계4 단공 2478 2009.11.23
전기전자 아무거나 HOT키보드매트릭에서 대해서 질문합니다. 시즈마루 877 2009.11.21
174 전기전자 아무거나 HOTSMPS 회로 설계쪽으로 공부하고 있는데 도움을 청합니다.2 피곤한동이 2138 2009.11.19
173 전기전자 아무거나 HOT혹시 LED Driver IC에 대해서 잘 아시는분ㅠ_ㅠ6 피곤한동이 3045 2009.11.19
172 드론/로봇/라인트레이서 HOT라인트레이서 어셈블러 소스 바램 2897 2009.11.17
171 전기전자 아무거나 HOT8051로 작품을 만들려는데...2 faust101 860 2009.11.13
170 전기전자 아무거나 HOT아래 [서보제어관련 공부중인대요 질문드립니다] 글에 대한 답변입니다 ^^ 빈스리 805 2009.11.11
169 전기전자 아무거나 HOT8051을 사용하고자 하는데.1 초보자님 912 2009.11.11
168 전기전자 아무거나 HOT서보제어관련 공부중인대요 질문드립니다.3 우가우가 1111 2009.11.10
167 전기전자 아무거나 HOT아래글 [임베디드를 공부하려면...]에 대한 답변입니다 ^^4 빈스리 1144 2009.11.09
166 전기전자 아무거나 HOT임베디드를 공부하려면 어떤 식으로 공부해야 하는지 궁금합니다.4 다시시작 1073 2009.11.02
165 전기전자 아무거나 HOT가입하고 잊어 버리고 있다가 다시 찾게 었습니다.2 procyon 752 2009.10.29
164 전기전자 아무거나 HOTMCU에 대해서 자세히 공부하려면 어떤기초부터 쌓아야하나요?11 씨크릿가든 1168 2009.10.22
163 전기전자 아무거나 HOT처음갑했습니다.1 히야신스83 755 2009.10.22
162 전기전자 아무거나 HOTA 1.5V, 1.5GHz CMOS Low Noise Amplifier1 깝채 1012 2009.10.12
161 전기전자 아무거나 HOT전류제어에 관한 질문입니다.6 두건이 2796 2009.10.09
160 전기전자 아무거나 HOT온도에따라 fan속도를 제어할려고 합니다.5 soo 1440 2009.10.08
159 전기전자 아무거나 HOTtestbench budumok 824 2009.10.06
158 전기전자 아무거나 HOT랩뷰를 배우고 싶습니다.5 JHOO 1526 2009.09.25
157 전기전자 아무거나 HOT온도센스에 관한 질문입니다.9 두건이 1521 2009.09.24
Prev 1 ... 26 27 28 29 30 31 32 33 34 35 ... 39 Next
  • 인생의 최고 불행은 인간이면서 인간을 모르는 것이다.
    - 파스칼
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.