4x4 matriks tombol dengan 16f690

N

neillsun

Guest
Aku menarik rambut saya dengan yang satu ini ...

Aku punya ketpad matriks 4x4 terhubung ke pin RC0 melalui Rc7 (RC0-RC3 adalah kolom dan RC4 melalui Rc7 adalah baris).

Saya telah menghubungkan RC4-7 ke tanah melalui resistor 10k, dan saya menggunakan kode berikut (PICCLite di MPLAB IDE) yang saya dapatkan dari http://www.rs232pro.com/keypad_hardware.htm, saya juga menyalin rangkaian dasar, tapi aku mengandalkan Internat OSC, jadi saya belum menambahkan XTAL:

Kode:

# include <pic.h>

# include "delay.h"# define INPUT 1

# define OUTPUT 0void main ()

(const unsigned char tombol [] = (0x11, 0x21, 0x41, 0x81, 0x12, 0x22, 0x42, 0x82, 0x14, 0x24, 0x44, 0x84, 0x18, 0x28, 0x48, 0x88);

const unsigned char karakter [] = ('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;while (1)

(

PORTC = 0x0f; / * init / re-init port * /

while (PORTC == 0x0f); / * menunggu tombol tekan * /

DelayUs (10);

if (PORTC! = 0x0f)

(

for (i = 0; i <4; i )

(

PORTC = 1 <<i;

for (ii = 0; ii <16; ii )

(

if (tombol == PORTC [ii])

(

Ra3 = 0; / * dipimpin * /

DelayUs (200);

DelayUs (200);

Ra3 = 1;

i = 4;

break;

)

)

)

)

)

)
 
Anda mengacaukan pengaturan TRISC.Lihatlah kode asli lagi Sir ...

 
Mike, K8LH wrote:

Anda mengacaukan pengaturan TRISC.
Lihatlah kode asli lagi Sir ...
 
Hai,
Saya pikir Anda memiliki masalah persis di sini:"tapi aku mengandalkan Internat OSC, jadi saya belum menambahkan XTAL"cukup tambahkan XTAL, masalah akan menghilang,
salam

 
mungkin u harus bermain LED berkedip dengan mengarah pada Ra3 untuk menyesuaikan diri bahwa chip dapat bekerja tanpa Xtal

 

Welcome to EDABoard.com

Sponsor

Back
Top