PDA

View Full Version : Quet bàn phím 4x3 hiển thị lcd


lethanh27
19-04-2010, 05:52 AM
#include<16f877a.h>
#include<def_877a.h>
#fuses XT, NOWDT, NOPROTECT, BROWNOUT, PUT, NOLVP
#use delay(clock = 2000000)
#include "lcd_do_an.c"
#use fast_io(a)
#use fast_io(d)
#byte porta = 0x05
#byte portd = 0x07
#bit RA0 = 0x05.0
#bit RA1 = 0x05.1
#bit RA2 = 0x05.2
#bit RA3 = 0x05.3
#bit RA4 = 0x05.4
#bit RA5 = 0x05.5
#bit D7=PORTD.7
int8 a;
void phim_init()
{
TRISA=0Xf0;
D7=0;
if((!RA0)||(!RA1)||(!RA2)||(!RA3))
{
if(RA0==0)
{
RA4=1;
RA5=1;
D7=1;
RA0=0;
if(!RA4) a=1;
if(!RA5) a=2;
if(!D7) a=3;
}
if(RA1==0)
{
RA4=1;
RA5=1;
D7=1;
RA1=0;
if(!RA4) a=4;
if(!RA5) a=5;
if(!D7) a=6;
}
if(RA2==0)
{
RA4=1;
RA5=1;
D7=1;
RA2=0;
if(!RA4) a=7;
if(!RA5) a=8;
if(!D7) a=9;
}
if(RA3==0)
{
RA4=1;
RA5=1;
D7=1;
RA3=0;
if(!RA4) a=10;
if(!RA5) a=0;
if(!D7) a=30;
}
}

}
void main()
{
enable_interrupts(global);
//enable_interrupts(int_Ra);
ext_int_edge(H_to_L);
TRISA=0Xff;
D7=1;
lcd_init();
lcd_putc(f);
while(1)
{
phim_init();
printf(lcd_putc,"%u",a);
}
}

Nhưng sao no vẫn không quet hàm phim_init() ma khi mổ nó hiển thi luôn số 30 cho du minh chưa làm gì.mọi người xem dùm mình với thank nhiều

lethanh27
20-04-2010, 10:30 PM
Mãi mà chẳng thấy ai giúp quả nhưng không sao mình đã tự làm được rồi đem pos lên đây cho những ai gà như mình cần thì lấy vậy dù sao cũng cảm ơn mọi người vào đọc nhưng chẳng nói gì

quangvt07
21-04-2010, 12:12 PM
hic quet hien thi lcd cung khó nhung minh co ý tuong de hon hien thi ra ha lae 7 ban nao co y thi lien he minh

hungcan87vn
29-04-2010, 05:35 AM
Bạn ơi sao trong file tot.rar của bạn mình down về nhưng không có phần code quét bàn phím giống như trên? bạn sửa lai như thế nào cho mình xin với? minh code giống như bạn ở trên cũng bị lỗi chỉ hiển thị mỗi 30 không quét được bàn phím. Mình đang rất cần file quét bàn phím bạn up lên cho minh xin với nha? Thanks!

lethanh27
30-04-2010, 03:42 AM
ah cái tốt là tớ lợi dụng trong thư viện của ccs có mà áp dụng để làm thôi ! nhưng sau khi ghép vào bài khác để làm thì thấy nó hay bị lỗi nên tớ lại quay và làm theo phương pháp trên và đã chạy ngon lành cầu dùng thì tải về nghiên cứu nhé phát hiện ra được cái gì thì cho mình biết với vì mình cũng mới bắt đầu với pic mà

manhdktd
16-07-2010, 08:28 PM
Mãi mà chẳng thấy ai giúp quả nhưng không sao mình đã tự làm được rồi đem pos lên đây cho những ai gà như mình cần thì lấy vậy dù sao cũng cảm ơn mọi người vào đọc nhưng chẳng nói gì
Bỏ câu lệnh TRISA=0xf0 trong hàn quét phím,thay câu lệnh TRISA=0xff trong void main thành TRISA=0xf0.thế là ok
lỗi không chạy là do khai báo cấu hình lung tung.

duykhanhuctdt4
10-02-2014, 12:39 AM
bạn ơi cái file lcd_do_an.c ở đâu ra thế