N
neillsun
Guest
Tôi kéo tóc của tôi ra với một trong ...
Tôi có một ma trận 4x4 ketpad kết nối với pins RC0 qua RC7 (RC0-RC3 là cột và RC4 qua RC7 là các hàng).
Tôi đã kết nối RC4-7 xuống đất qua điện trở 10k, và tôi đang sử dụng đoạn mã sau (PICCLite trong MPLAB IDE) mà tôi nhận được từ http://www.rs232pro.com/keypad_hardware.htm, tôi cũng đã sao chép mạch cơ bản, nhưng tôi dựa vào các OSC internat, do đó, tôi đã không được gửi các XTAL:
Mã số:
# include <pic.h>
# include "delay.h"# define INPUT 1
# define OUTPUT 0void main ()
(const unsigned char bàn phím [] = (0x11, 0x21, 0x41, 0x81, 0x12, 0x22, 0x42, 0x82, 0x14, 0x24, 0x44, 0x84, 0x18, 0x28, 0x48, 0x88);
const unsigned char character [] = ('1 ', '2', '3 ',' A ', '4', '5 ', '6', 'B', '7 ', '8', '9 ',' C','*',' 0','#',' D ');
unsigned char i, ii;TRISA3 = OUTPUT;
TRISC = 0xFF;
PORTC = 0xF0;RA3 = 1;trong khi (1)
(
PORTC = 0x0F; / * init / re-init port * /
trong khi (PORTC == 0x0F); / * chờ bấm phím * /
DelayUs (10);
nếu (PORTC = 0x0F!)
(
for (i = 0; i <4; i )
(
PORTC = 1 <<i;
for (ii = 0; ii <16; ii )
(
nếu (PORTC == bàn phím [ii])
(
RA3 = 0; / * dẫn * /
DelayUs (200);
DelayUs (200);
RA3 = 1;
i = 4;
break;
)
)
)
)
)
)
Tôi có một ma trận 4x4 ketpad kết nối với pins RC0 qua RC7 (RC0-RC3 là cột và RC4 qua RC7 là các hàng).
Tôi đã kết nối RC4-7 xuống đất qua điện trở 10k, và tôi đang sử dụng đoạn mã sau (PICCLite trong MPLAB IDE) mà tôi nhận được từ http://www.rs232pro.com/keypad_hardware.htm, tôi cũng đã sao chép mạch cơ bản, nhưng tôi dựa vào các OSC internat, do đó, tôi đã không được gửi các XTAL:
Mã số:
# include <pic.h>
# include "delay.h"# define INPUT 1
# define OUTPUT 0void main ()
(const unsigned char bàn phím [] = (0x11, 0x21, 0x41, 0x81, 0x12, 0x22, 0x42, 0x82, 0x14, 0x24, 0x44, 0x84, 0x18, 0x28, 0x48, 0x88);
const unsigned char character [] = ('1 ', '2', '3 ',' A ', '4', '5 ', '6', 'B', '7 ', '8', '9 ',' C','*',' 0','#',' D ');
unsigned char i, ii;TRISA3 = OUTPUT;
TRISC = 0xFF;
PORTC = 0xF0;RA3 = 1;trong khi (1)
(
PORTC = 0x0F; / * init / re-init port * /
trong khi (PORTC == 0x0F); / * chờ bấm phím * /
DelayUs (10);
nếu (PORTC = 0x0F!)
(
for (i = 0; i <4; i )
(
PORTC = 1 <<i;
for (ii = 0; ii <16; ii )
(
nếu (PORTC == bàn phím [ii])
(
RA3 = 0; / * dẫn * /
DelayUs (200);
DelayUs (200);
RA3 = 1;
i = 4;
break;
)
)
)
)
)
)