em chưa rành về web này lắm. có đăng bài sai chỗ các bác bỏ qua cho. tình hình là em định viết code cho 4 con led 7 đoạn đếm giảm dần theo kỉu tương tự đèn giao thông
nhưng mà đếm bị sai. bác nào cao tay chỉ em cái này với ạ. em mới học nên chưa rành lắm
code:
#include <16f877a.h>
#fuses XT,HS,NOWDT,PUT
#use delay(clock=4000000)
#use fast_IO(a)
#use fast_IO(d)
#byte portd=0x08
#bit RA0=0x05.0
#bit RA1=0x05.1
#bit RA2=0x05.2
#bit RA3=0x05.3
int u[10]={0b11000000,0b11111001,0b10100100,0b10110000,0b10 011001,0b10010010,0b10000010,0b11111000,0b10000000 ,0b10010000};
signed int x,i,y;
int chuc1,donvi1,chuc2,donvi2;
void main()
{
set_tris_a(0b0000);
set_tris_d(0);
while(1)
{ x=50;
y=45;
while(x>0 && y>0)
{
chuc1=x/10;
donvi1=x%10;
chuc2=y/10;
donvi2=y%10;
for(i=0;i<50;i++)
{
portd=u[chuc1];
RA0=0;
delay_ms(5);
RA0=1;
portd=u[donvi1];
RA1=0;
delay_ms(5);
RA1=1;
portd=u[chuc2];
RA2=0;
delay_ms(5);
RA2=1;
portd=u[donvi2];
RA3=0;
delay_ms(5);
RA3=1;
}
x--;
y--;
}
}
}
nhưng mà đếm bị sai. bác nào cao tay chỉ em cái này với ạ. em mới học nên chưa rành lắm
code:
#include <16f877a.h>
#fuses XT,HS,NOWDT,PUT
#use delay(clock=4000000)
#use fast_IO(a)
#use fast_IO(d)
#byte portd=0x08
#bit RA0=0x05.0
#bit RA1=0x05.1
#bit RA2=0x05.2
#bit RA3=0x05.3
int u[10]={0b11000000,0b11111001,0b10100100,0b10110000,0b10 011001,0b10010010,0b10000010,0b11111000,0b10000000 ,0b10010000};
signed int x,i,y;
int chuc1,donvi1,chuc2,donvi2;
void main()
{
set_tris_a(0b0000);
set_tris_d(0);
while(1)
{ x=50;
y=45;
while(x>0 && y>0)
{
chuc1=x/10;
donvi1=x%10;
chuc2=y/10;
donvi2=y%10;
for(i=0;i<50;i++)
{
portd=u[chuc1];
RA0=0;
delay_ms(5);
RA0=1;
portd=u[donvi1];
RA1=0;
delay_ms(5);
RA1=1;
portd=u[chuc2];
RA2=0;
delay_ms(5);
RA2=1;
portd=u[donvi2];
RA3=0;
delay_ms(5);
RA3=1;
}
x--;
y--;
}
}
}
Comment