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