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

📄 main.c

📁 《Proteus在MCS-51&ARM7系统中的应用百例》逆向之 Chapter 8 《Proteus在MCS-51&ARM7系统中的应用百例》MCS-51例子的C语言版本。 最
💻 C
字号:
#include <reg51.h>
typedef unsigned char BYTE;

sbit S_SET=P1^0;
sbit M_SET=P1^1;
sbit H_SET=P1^2;

sbit P30=P3^0;
sbit P31=P3^1;
sbit P32=P3^2;
sbit P33=P3^3;
sbit P34=P3^4;
sbit P35=P3^5;
sbit P36=P3^6;
sbit P37=P3^7;


BYTE SECOND;
BYTE MINUTE;
BYTE HOUR;
BYTE TCNT; 

BYTE code TABLE[]={	0x3F,0x06,0x5B,0x4F,0x66,
					0x6D,0x7D,0x07,0x7F,0x6F};

void DELAY()
{
	BYTE i=10;
	do
	{
		BYTE j=250;
		do
		{}while(--j);
	}while(--i);
}


void INT_T0()interrupt 1
{
	TH0=(65536-50000)/256;
	TL0=(65536-50000)%256;
	TCNT++;

	if(TCNT==20)
	{
		SECOND++;
		TCNT=0;
		if(SECOND==60) 
		{
			MINUTE++;
			SECOND=0;
			if(MINUTE==60)
			{
				HOUR++;
				MINUTE=0;
				if(HOUR==24)
				{
					HOUR=0;
					MINUTE=0;
					SECOND=0;
					TCNT=0;
				}
			}
		}	
	}
		
}

void DISPLAY()
{
	P36=0;
	P0=TABLE[SECOND/10];
	DELAY();
	P36=1;
	P37=0;
	P0=TABLE[SECOND%10];
	DELAY();
	P37=1;

	P35=0;
	P0=0x40;
	DELAY();
	P35=1;

	P33=0;
	P0=TABLE[MINUTE/10];
	DELAY();
	P33=1;
	P34=0;
	P0=TABLE[MINUTE%10];
	DELAY();
	P34=1;

	P32=0;
	P0=0x40;
	DELAY();
	P32=1;

	P30=0;
	P0=TABLE[HOUR/10];
	DELAY();
	P30=1;
	P31=0;
	P0=TABLE[HOUR%10];
	DELAY();
	P31=1;
}

main()
{
	HOUR=0;
	MINUTE=0;
	SECOND=0;
	TCNT=0;
	TMOD=1;
	TH0=(65536-50000)/256;
	TL0=(65536-50000)%256;
	IE=0x82;
	TR0=1;

	while(1)
	{
		DISPLAY();

		if(!S_SET)
		{
			DELAY();
			if(S_SET) continue;
			SECOND++;

			if(SECOND==60) 
			{
				SECOND=0;
				goto K1;
			}
			else
			{
				while(!S_SET)
				DISPLAY();
			}
		 }

		if(!M_SET)
		{
			DELAY();
			if(M_SET) continue;

K1:			MINUTE++; 
			if(MINUTE==60)
			{
				MINUTE=0;
				goto K2;
			}
			else
			{
				while(!M_SET)
				DISPLAY();
			} 
		}

		if(!H_SET)
		{
		 	DELAY();
			if(H_SET) continue;

K2:			HOUR++;
			if(HOUR==24)
			{
				HOUR=0;
				MINUTE=0;
				SECOND=0;	
			}
			else
			{
				while(!H_SET)
				DISPLAY();
			}
		}
	}	
}

⌨️ 快捷键说明

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