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

📄 time.c

📁 基于51定时器时间片轮循调度函数软件
💻 C
字号:


#define  TIME_G
#include "allhard.h"

Stext  xdata  Op[TaskNum]={{Text_One, 10},{Text_Two, 100},
		    	    	  {Text_Three, 150},{Text_Four,4}};

uchar  data  TaskTime[TaskNum] = {10, 100, 150, 4}; //

void Time0_1Init(void)
{

	EA = 0;
	ET0 = 0; TR0 = 0;
	ET1 = 0; TR1 = 0;
	TMOD |= 0x01;
	TH0 = 0x4C; TL0 = 0x7F;
	TH1 = 0x70; TL1 = 0x19;
	ET0 = 1;  	TR0 = 1; 
	ET1 = 1;TR1 = 1;
    EA = 1;

}


void SysTimeInit(void)
{

	SysTime.Num = 0;
	SysTime.Second = 0;
	SysTime.Min = 0;
	SysTime.Hour = 0;
	Time_seg = 0;

}

void Time0Seriver(void) interrupt 1
{
	TF0 = 0;  TR0 = 0;


	
	TH0 = 0x4C;  TL0 = 0x7F;
	TR0 = 1;  

}

void Time1Seriver(void) interrupt  3//定时5ms
{	
	uchar data cnt;
	TF1 = 0;  TR1= 0;

	for(cnt = 0; cnt < TaskNum; cnt++)
	{
		TaskTime[cnt]--;
	}
	
	TH1 = 0x70 ;   TL1 = 0x19 ;        
	TR1 = 1;

}

void Text_One(void)
{
	uchar i ;
	for( i = 0; i < 30; i++ )
	{
		LED2 = 1;
	}
	SendByte('A') ;
	LED2 = 0;
}

void Text_Two(void)
{
	uchar j ;
	for( j = 0 ; j< 30 ; j++)
	{
		Buzzer = 1;	
	}
	Buzzer = 0;	
	SendByte('B') ;
}

void Text_Three(void)
{
	uchar k ;
	for(k = 0 ; k< 30 ; k++)
		LED5 = 0;
	LED5 = 1;
	SendByte('C') ;
}

void Text_Four(void)
{
	uchar m ;
	for(m = 0 ; m < 50; m++)
		LED3 = 0;
	LED3 = 1;
	SendByte('D') ;		

}

⌨️ 快捷键说明

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