刚开始学习单片机,在调试的时候程序程序只执行到if(tt==20),然后其他的都不执行了,定时器中断和延时都不执行,程序如下
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uint x,y;
uchar num,tt;
uchar code table[]={
0xc0,0xf9,0xa4,0xd0,0x99,0x92,0x82,0xf8,0x80,0x90,0x99,0x83,0xa6,0x41,0x86,0x8e};
void delay(uint);
void main()
{
num=0;
tt=0;
EA=1;
ET0=1;
TR0=1;
P0=0xc0;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
if(tt==20)
{
tt=0;
num++;
if(num==16)
{
num=0;
}
P0=table[num];
delay(100);
}
}
void delay(uint z)
{
for(x=z;x>0;x--)
for(y=500;y>0;y--);
}
void exter0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
tt++;
}
求大佬帮帮小白。
我用EA=0;
ET0=1;
TR0=1;
开中断
还缺开中断的语句么