⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 秒表.c

📁 关于交通灯、秒表及一些简单的音乐播放程序
💻 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 + -