컨트롤러"4x4

N

nuarizzah

Guest
1.내가 PIC16F877와 함께 LCD 화면에 나타나는 키패드를 4x4 (PIC는 C 컴파일러)하지만 문제는 문자를 입력하십시오 did'nt 내가 프로그래밍하고있어.또한 LCD는 몇 가지 문제가있어 ...뿐만 아니라 때로는 그것의 기능을하지만, 프로그램 몇 분 후에 그 이상한 문자가 나타나 ... 사람이 ??... 대해 얼마나 알고 있나

2.그럼, 난 chganged있어 프로그램과 키패드에 대한 헤더 파일 (kbd.h와 함께 하나의 사용).하지만이 헤더 파일을 실현 4x3 키패드를 ..위한 것입니다하지만 난 이것에 대해 확실하지 않아서?? ..누구도 않는 생각 있어요??하지만 여전히 아무것도 키패드를 happpened.!도와 줘요!

thankz ..... 아주 많이 ...

 
안녕!
하면 불러 의견을 통해 UR 그런 다음 코드는 우리가 도울 수있는 더 나은 위치에있을 것입니다.
어떤 컴파일러를 사용하는 방법으로, PICC byCCSC 것 같아요?
안부.

 
만약 당신이, 그것 키를 인코더를 사용하여 키패드 probs있다.여기에 회로를 참조하십시오 74922 단 하나가 필요합니다
http://booksbybibin.14.forumer.com/viewtopic.php?t=11

만약 당신이 아무 probs 디바운싱 관련 핵심 열쇠가 발생할 것입니다 인코더를 사용하여

bibin 존
www.bibinjohn.tk

 
때문에 잘못된 데이터 및 제어 신호를 가지고 LCD를 쓰레기 값으로 표시됩니다.그것은 여러 가지로 발생할 수있습니다.foolowing를 확인하시기 바랍니다 :

1.U LCD는 인터페이스의 연결 상태를 확인 했나요?가끔은 땜납 연결이나 데이터를 느슨하게 문의 / 제어 핀이 느슨하게 때문일 수있습니다.

2.귀하의 회로에 다른 작업을하는거야? 쓰레기 값을 어떤 특정 수술 후 올인가요? 그것은 귀하의 LCD는 여러분의 시스템에서 다른 회로의 스위칭에 의해 트리거됩니다 발생할 수있습니다.이런 경우에는 외부의 간섭으로부터 LCD를 보호하기 위해 필요한 조치를 취해야했다.

이 시점에서 3.Is 귀하의 마이크로 컨트롤러를 받고 재설정 하시겠습니까?4.당신이 포트를 어디 액정 / 키보드 일부 다른 응용 프로그램에 대한 연결을 사용하고 계십니까?

5.포트를 내부 풀다운 팝업가 있나요?가끔 키보드 올려 외부가 필요합니다.

 
난 이미 당신의 문제에 대한 실제 입력을하지 않으면 배선도 및 코드 또는 Prajit "에서
설명한대로 자세한 내용을 공유할 수있는"생각하지
말아
5 월, 그리고 다른 명령 LCD는 취소 명령을 발행하지 않습니다됩니다

 
여기에 코드 및 회로 ... ','끔찍한 죄송오고있습니다 ...
날 위해 확인하시기 바랍니다.TQ ....!!!

/ / 사용 PORTB LCD 용,
/ / 사용 PORTA (A0, A1에 대답, 대답) 키패드 용
/ / 사용 PORTC (c0,를 C1, C2, C3에) 키패드 아웃

# 포함 "16f877a.h"
#를 사용하여 지연 (24 시간 = 20,000,000)
# HS, nowdt, nolvp noprotect 퓨즈

# 바이트 간이 = 5
# 바이트 portb = 6
# 바이트 portc = 7

# TRUE로 정의 use_portb_lcd
# 포함 <lcd.c>

int indata;/ / 행 탐지 모듈
무효 getkey ()
(
indata = 0;
만약 (입력 (PIN_C0) == 0)
(
indata = 0;
)
다른 경우 (입력 (PIN_C1) == 0)
(
indata = 1;
)
다른 경우 (입력 (PIN_C2) == 0)
(
indata = 2;
)

다른 경우 (입력 (PIN_C3) == 0)
(
indata = 3;
)
)

메인 무효 ()

(
int mysta;
바이트 난;
바이트 케이;

setup_port_a (NO_ANALOGS);
set_tris_a (0x00);
set_tris_c (0x8F);

lcd_init ();

lcd_putc ( "\ fTRIAL1 ...!!! \ n");
delay_ms (1000);

하다
(
mysta = 0;

/ / ENABLE 1ST COLUMN
간이 = 0xF7; / / 11110111
getkey ();

(indata == 0)
(
케이 = 1;
mysta = 1;
)

다른 경우 (indata == 1)
(
케이 = 4;
mysta = 1;
)

다른 경우 (indata == 2)
(
케이 = 7;
mysta = 1;
)

다른 경우 (indata == 3)
(
케이 ='*';
mysta = 1;
)

만약 (mysta == 1)
(
lcd_putc 조 (k '0 ');
delay_ms (500);
mysta = 0;
)

/ / ENABLE 2 열
간이 = 0xFB; / / 11111011
getkey ();

(indata == 0)
(
케이 = 2;
mysta = 1;
)

다른 경우 (indata == 1)
(
케이 = 5;
mysta = 1;
)

다른 경우 (indata == 2)
(
케이 = 8;
mysta = 1;
)

다른 경우 (indata == 3)
(
케이 = 0;
mysta = 1;
)

만약 (mysta == 1)
(
lcd_putc 조 (k '0 ');
delay_ms (500);
mysta = 0;
)

/ / ENABLE 3 열
간이 = 0xFD; / / 11111101
getkey ();

(indata == 0)
(
케이 = 3;
mysta = 1;
)

다른 경우 (indata == 1)
(
케이 = 6;
mysta = 1;
)

다른 경우 (indata == 2)
(
케이 = 9;
mysta = 1;
)

다른 경우 (indata == 3)
(
케이 ='#';
mysta = 1;
)

만약 (mysta == 1)
(
lcd_putc 조 (k '0 ');
delay_ms (500);
mysta = 0;
)

/ / ENABLE 4 COLUMN
간이 = 0xFE; / / 11111110
getkey ();

(indata == 0)
(
케이 = '';
mysta = 1;
)

다른 경우 (indata == 1)
(
케이 = 'B 조';
mysta = 1;
)

다른 경우 (indata == 2)
(
케이 = 'C'로;
mysta = 1;
)

다른 경우 (indata == 3)
(
케이 = 'D 조';
mysta = 1;
)

만약 (mysta == 1)
(
lcd_putc 조 (k '0 ');
delay_ms (500);
mysta = 0;
)) 동안 (1);
)
<img src="http://images.elektroda.net/54_1174463826_thumb.jpg" border="0" alt="keypad 4x4 &lcd probs!!" title="4x4 키패드 및 LCD를 probs!"/>
 

Welcome to EDABoard.com

Sponsor

Back
Top