📄 秒表.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;//继续
}
}
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];
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -