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

📄 电子表.c

📁 基于51单片机的电子表设计
💻 C
字号:

#include"spce061A.h"
unsigned int table[]={0x2b3f,0x2839,0x333b,0x3a3b,0x383d,0x3a1f,0x3b1f,0x283b,0x3b3f,0x3a3f,0x331f};//共阴数码管驱动
void display(unsigned int  time);
void delay(unsigned int z);//延时函数,延时z/10ms

int main()
{ 
	unsigned int time;
	*P_INT_Ctrl=C_IRQ1_TMA;
	asm("INT OFF");
	
	*P_TimerA_Ctrl=C_SourceA_1+C_SourceB_1024Hz;
	*P_TimerA_Data=0xfbff;

	*P_IOB_Dir=0xffff;
	*P_IOB_Attrib=0xffff;
	*P_IOB_Data=0;
	
	time=1;
	
	while(1)
	{
		if(*P_INT_Ctrl==C_IRQ1_TMA)
		{
			*P_INT_Clear=C_IRQ1_TMA;
			time=time+1;
		}
		display(time);
		*P_Watchdog_Clear=0x0001;
	}
}

void display(unsigned int time)
{
	unsigned int numA;
	unsigned int numB;
	unsigned int numC;
	unsigned int numD;
	
	numA=time/1000;
	numB=time%1000/100;
	numC=time%100/10;
	numD=time%10;
	*P_IOB_Data=(table[numA]&0xfffe)|0x2000;
	delay(1);
	*P_IOB_Data=(table[numB]&0xfff7)|0x0001;
	delay(1);
	*P_IOB_Data=(table[numC]&0xffef)|0x0008;
	delay(1);
	*P_IOB_Data=(table[numD]&0xdfff)|0x0010;
	delay(1);
}
void delay(unsigned int z)
{	
unsigned int x,y;
for(x=z;x>0;x--)
	for(y=11;y>0;y--)
	{
		*P_Watchdog_Clear=0x0001;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -