PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) (http://www.picvietnam.com/forum/forumdisplay.php?f=12)
-   -   Quet bàn phím 4x3 hiển thị lcd (http://www.picvietnam.com/forum/showthread.php?t=6180)

lethanh27 19-04-2010 05:52 AM

Quet bàn phím 4x3 hiển thị lcd
 
1 Attachment(s)
Trích:

#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

1 Attachment(s)
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

1 Attachment(s)
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

Trích:

Nguyên văn bởi lethanh27 (Post 35344)
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ế


Múi giờ GMT. Hiện tại là 11:48 PM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam