mình mới học vi diều khiển . Mình muốn làm mạch đến số từ 1 đến 99 . nhưng mình ko biết muốn cho hiển thị trễ một giây,ví dụ hiển thị số 0 đến số 1 trễ với nhau là một giây thì ko biết phải dùng lệnh nào!!!hix Mong các bạn giúp mình với!!!
dưới đây là code của mình
#include <REGX52.H>
#include<stdio.h>
#include<math.h>
unsigned char M[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x90};
unsigned char donvi,chuc,so;
int j; int i;
void tre(void)
{
TMOD=0x02;
TH0=TL0-50;
TR0=1;
while(!TF0);
TF0=0;
TL0= 0;
}
void wait(void)
{
for(i=1;i<=10000;++i)
tre();
}
void main(void)
{
chuc=so/10;
donvi=so%10;
while(1)
{
for(so=0;so<=99;++so)
wait_a_second();
{
P1= 0xfd;
P2=M[donvi];
tre();
P1=0xfe;
P2=M[chuc];
tre();
}
}
}
nếu dùng code này thì mạch hiển thị sẽ chạy nhanh kinh khủng chả dõ gì luôn!!!!!!!!!! hix. các bạn giúp mình với!!!!! xin đa ta!!
dưới đây là code của mình
#include <REGX52.H>
#include<stdio.h>
#include<math.h>
unsigned char M[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x90};
unsigned char donvi,chuc,so;
int j; int i;
void tre(void)
{
TMOD=0x02;
TH0=TL0-50;
TR0=1;
while(!TF0);
TF0=0;
TL0= 0;
}
void wait(void)
{
for(i=1;i<=10000;++i)
tre();
}
void main(void)
{
chuc=so/10;
donvi=so%10;
while(1)
{
for(so=0;so<=99;++so)
wait_a_second();
{
P1= 0xfd;
P2=M[donvi];
tre();
P1=0xfe;
P2=M[chuc];
tre();
}
}
}
nếu dùng code này thì mạch hiển thị sẽ chạy nhanh kinh khủng chả dõ gì luôn!!!!!!!!!! hix. các bạn giúp mình với!!!!! xin đa ta!!
Comment