Mình mới học VĐK, làm bài tập đếm từ 0 đến 121 sử dụng counter t0 hiển thị trên 3 led 7 đoạn.Mình mô phỏng trên proteus mà ko biết sao nó ko hiển thị ra nhỉ,các bạn biết sai chỗ nào chỉ giùm mình với.Mình cảm ơn
Code:
Code:
#include<AT89X52.h>
const unsigned char m7d[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x9 0};
unsigned char dvi,chuc,tram;
int kqd;
void delay(unsigned int x)
{
unsigned int y;
for(y=0;y<x;y++){};
}
void giaima_hienthi()
{
dvi=kqd%10; kqd=kqd/10; chuc=kqd%10; tram=kqd/10;
P0=m7d[dvi];
P2=m7d[chuc];
P3=m7d[tram];
}
void main()
{
TMOD=T0_CT_+T0_M0_; TR0=1;
while(1)
{
kqd=(TH0<<8)+TL0;
giaima_hienthi();
if(TL0==121){TL0=1; TH0=0;}
}
}
const unsigned char m7d[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x9 0};
unsigned char dvi,chuc,tram;
int kqd;
void delay(unsigned int x)
{
unsigned int y;
for(y=0;y<x;y++){};
}
void giaima_hienthi()
{
dvi=kqd%10; kqd=kqd/10; chuc=kqd%10; tram=kqd/10;
P0=m7d[dvi];
P2=m7d[chuc];
P3=m7d[tram];
}
void main()
{
TMOD=T0_CT_+T0_M0_; TR0=1;
while(1)
{
kqd=(TH0<<8)+TL0;
giaima_hienthi();
if(TL0==121){TL0=1; TH0=0;}
}
}
Comment