Trích:
Nguyên văn bởi friend_1990
sao cả buổi tối ngồi em đã tìm được cái sai của mình mong anh cho em hướng giải quyết ạk!!!!!!!!!!!!1
vấn đề sai ở chỗ là:
#INT_RDA
void ngat()
{
mang[dem]=getc();
if(mang[dem]=='#')
{
flag=1;//co ngat
dem=0;
}
else
dem++;
while(flag==1)
{
lay_font(mang);
}
}
khi em khai báo char mang[]=""; thì nó hiểu nhưng khi em khai báo mang[]=""; thì nó không hiểu để xuất ra led matran vậy mình nên khai báo như thế nào để cho nó hiểu mảng là char mang[]="" để lúc đó flag==1 thì nó sẽ xuất ra led ak
và giờ em muồn cho chữ cuộn tròn (dịch trái )thì mình nên thêm vòng lặp như thế nào anh nhỉ?
|
khai báo char mang[20]//khai báo như vậy là được .[20] có thể thay đổi nhưng <=96.
code dich trái:
khai báo lại mảng unsigned char hien_thi[96];
Code:
while(1)
{
int dich_chu=0,toc_do_chay=0;
for(dich_chu=0;dich_chu<=32;dich_chu++)//pic 16f877a không đủ ram nên chỉ dịch được 32 cột.
{
for(toc_do_chay=0;toc_do_chay<=2;toc_do_chay++)
{
b1=1;
b0=1;
b2=1;
b0=0;
b2=0;
for(m=0;m<=63;m++)
{
n=hien_thi[m+dich_chu];
n=~n;
xuat(n);
delay_us(1000);
dich();
}
}
}
}