但是我执行后就从0一直计下去,如何改?
#include
#define uchar unsigned char
#define uint unsigned int
sfr ISP_CONTR=0xe7;
uchar code table[]={
0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x00,0x90};
uchar num;
uchar a,b,num1;
void delayms(uint);
void display(uchar shi,uchar ge) //显示子函数
{
P1=table[shi]; //送十位段选数据
P0=0x01; //送位选数据
delayms(5); //延时
P1=table[ge]; //送个位段选数据
P0=0x02;
delayms(5);
}
void delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--) //i=xms即延时约xms毫秒
for(j=110;j>0;j--);
}
void main()
{
P0M1 = 0x00;//推挽输出的定义
P0M0 = 0x0f;//推挽输出的定义
TMOD=0x01; //设置定时器0为工作方式1(0000 0001)
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
while(1)
{
if(num>=20)
{
num=0;
num1++;
if(num1==10)
{
ISP_CONTR=0x20;
}
a=num1/10;
b=num1%10;
}
display(a,b);
}
}
void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
num++;
}