Xem giúp giùm e cái code e viết tại sao khi sử dụng protues mô phỏng dùng transistor PNP thì mạch đồng hồ không chạy còn dùng cổng NOT thì được xem giúp giùm e với.
#include <REGX52.H>
int dem=0,giay=0,phut=0,gio=0;
int mang[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x1 0};
int mangq[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
void delay(unsigned long t)
{
unsigned int m;
for(m=0;m<t;m++);
}
int songvuong(void) interrupt 3
{
TR0=0;
dem+=1;
TR0=1;
if(P3_1==0)
TR0=0;
if(dem==101)
dem=0;
}
void quet(int x,int t)
{
int y,n=0,j=x;
while(n<2)
{
y=j%10;
j=j/10;
P0=(mang[y]);
P2=(mangq[t]);
delay(50);
P0=0xff;
P2=0xff;
n+=1;
t=t+1;
}
}
void main()
{
int a=0;
P0=0xff;
P2=0xff;
TMOD=0X10;
EA=1;
ET0=1;
//TR0=0;
TL0=(-600);
TH0=(-600);
//TR0=1;
while(1)
{
if(P3_2==0)
{
dem=0;
giay=0;
phut=0;
gio=0;
TR0=0;
}
if(P3_0==0)
TR0=1;
if(dem==100)
{
giay=giay+1;
dem=0;
}
if(giay==60)
{
phut=phut+1;
giay=0;
}
if(phut==60)
{
phut=0;
gio=gio+1;
}
if(gio==60)
{
gio=0;
}
quet(dem,0);
quet(giay,2);
quet(phut,4);
quet(gio,6);
}
}
#include <REGX52.H>
int dem=0,giay=0,phut=0,gio=0;
int mang[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x1 0};
int mangq[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
void delay(unsigned long t)
{
unsigned int m;
for(m=0;m<t;m++);
}
int songvuong(void) interrupt 3
{
TR0=0;
dem+=1;
TR0=1;
if(P3_1==0)
TR0=0;
if(dem==101)
dem=0;
}
void quet(int x,int t)
{
int y,n=0,j=x;
while(n<2)
{
y=j%10;
j=j/10;
P0=(mang[y]);
P2=(mangq[t]);
delay(50);
P0=0xff;
P2=0xff;
n+=1;
t=t+1;
}
}
void main()
{
int a=0;
P0=0xff;
P2=0xff;
TMOD=0X10;
EA=1;
ET0=1;
//TR0=0;
TL0=(-600);
TH0=(-600);
//TR0=1;
while(1)
{
if(P3_2==0)
{
dem=0;
giay=0;
phut=0;
gio=0;
TR0=0;
}
if(P3_0==0)
TR0=1;
if(dem==100)
{
giay=giay+1;
dem=0;
}
if(giay==60)
{
phut=phut+1;
giay=0;
}
if(phut==60)
{
phut=0;
gio=gio+1;
}
if(gio==60)
{
gio=0;
}
quet(dem,0);
quet(giay,2);
quet(phut,4);
quet(gio,6);
}
}
Comment