?? 秒表.c
字號:
#include"reg51.h"
#include"absacc.h"
#define CA XBYTE[0x7100]
#define PA XBYTE[0x7101]
#define PB XBYTE[0x7102]
int y,x1,x2,b,i;
unsigned char flag=1;
unsigned char restart=0;
void display(y);
void xs1(x1);
void xs2(x2);
int0() interrupt 0
{
switch(flag)
{
case 0:flag=1;break;//暫停
case 1:flag=0;break;//繼續(xù)
}
}
int1() interrupt 2
{
restart=1;//清零
}
void main()
{
CA=0x43;
EA=1;
EX0=1;
EX1=1;
IT0=1;
IT1=1;
while(1)
{
for(i=0;i<10000;)
{
display(i);
if(restart==1)
{
i=0;restart=0;
}
if(flag==0)
i++;
}
}
}
void display(y)
{
int m1,m2,m3,m4;
int k;
for(k=0;k<2;k++)
{
TMOD=0x01;
TR0=1;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
while(!TF0)
{
PA=0x08;
m4=y/1000;
xs2(m4);
for(b=0;b<500;b++);
PA=PA/2;
m3=(y%1000)/100;
xs2(m3);
for(b=0;b<500;b++);
PA=PA/2;
m2=(y%100)/10;
xs1(m2);
for(b=0;b<500;b++);
PA=PA/2;
m1=y%10;
xs2(m1);
for(b=0;b<500;b++);
}
TF0=0;
}
}
void xs1(x1)
{
int tab[10]=
{0xbf,0x86,0xdb,0xcf,0xe6,
0xed,0xfd,0x87,0xff,0xef};
PB=tab[x1];
}
void xs2(x2)
{
int tab[10]=
{0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f};
PB=tab[x2];
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -