mình tập viết C cho 8051, code sáng dồn mình nghỉ thế này là đúng nhưng khi mô phỏng nó không theo ý muốn, mình cho led sáng dồn nhưng khi sáng tới bit thứ 8 nó không lưu lại giá trị bít thứ 8 đó để thực hiện sáng dồn tiếp lần 2,3,4...bạn nào góp ý mình với. thank nhiều
#include <REGX51.H>
unsigned char a,b,c,d;
unsigned int i,j,k;
void delay(unsigned char time){
while(time--)
{
unsigned char j=121;
while(j--);
}
}
void main()
{
while(1)
{
k=9;P1=0x00;
for(i=0;i<8;i++)
{
k--;a=P1;c=0x01;
for(j=0;j<k;j++)
{
b=a;
a|=c;
P1=a;
delay(1000);
a=b;
c<<=1;
}
}
}
}
unsigned char a,b,c,d;
unsigned int i,j,k;
void delay(unsigned char time){
while(time--)
{
unsigned char j=121;
while(j--);
}
}
void main()
{
while(1)
{
k=9;P1=0x00;
for(i=0;i<8;i++)
{
k--;a=P1;c=0x01;
for(j=0;j<k;j++)
{
b=a;
a|=c;
P1=a;
delay(1000);
a=b;
c<<=1;
}
}
}
}
Comment