BT của mình là khi C0==1 thì 8led đơn của portD sáng đuổi . C1==1 thì portD sáng dần . Mình viết như thế này nhưng nó chỉ chạy dc nút C0 thui mà cũng ko có lặp vô hạn nữa ! Ai hướng dẫn dùm mình với !
#include <16f877.h>
#fuses nowdt,put
#use delay(clock=4000000)
#byte portd=0x08
#byte porta=0x05
#bit a0=porta.0
#bit a1=porta.1
#bit a2=porta.2
#bit a3=porta.3
int16 i;
int16 sangduoi[15]={128,64,32,16,8,4,2,1,2,4,8,16,32,64,128};
int16 sangdan[8]={192,224,240,248,252,254,255,127};
void main()
{
set_tris_a(0xff);
set_tris_d(0x00);
while(1)
{
if(a0==1)
{
for(i=0;i<15;i++)
{
portd=sangduoi[i];
delay_ms(20);
}
}
}
if(a1==1)
{
for(i=0;i<8;i++)
{
portd=sangdan[i];
delay_ms(20);
}
}
}
#include <16f877.h>
#fuses nowdt,put
#use delay(clock=4000000)
#byte portd=0x08
#byte porta=0x05
#bit a0=porta.0
#bit a1=porta.1
#bit a2=porta.2
#bit a3=porta.3
int16 i;
int16 sangduoi[15]={128,64,32,16,8,4,2,1,2,4,8,16,32,64,128};
int16 sangdan[8]={192,224,240,248,252,254,255,127};
void main()
{
set_tris_a(0xff);
set_tris_d(0x00);
while(1)
{
if(a0==1)
{
for(i=0;i<15;i++)
{
portd=sangduoi[i];
delay_ms(20);
}
}
}
if(a1==1)
{
for(i=0;i<8;i++)
{
portd=sangdan[i];
delay_ms(20);
}
}
}
Comment