start.c

来自「利用时间片思想设计的一个AVR单片机的时钟程序」· C语言 代码 · 共 56 行

C
56
字号
#include	<iom16v.h>                                                                          
#include	<macros.h>

#include	"Define.h"
#include	"LCD_1602.h"
#include	"Deal.h"


#pragma interrupt_handler Timer1:9

void	Timer1(void)
{	SysTCNT = SysTime;
	ScanKeyFlag = 1;
	
	SysCount++;
	if( SysCount == 10 )
	{DispTimeFlag = 1;	SysCount = 0;	}

	TimeCount++;
	if( TimeCount == 100 )
	{TimeAddFlag = 1;	TimeCount = 0;	}
}

void	main(void)
{	SysIntial();
    Time.year=2007;
	Time.month=1;
	Time.day=1;
	//LCD_write_string(0,0,"Welcome");
	while(1)
	{	
		
		if( DispTimeFlag == 1 )
		{   DispTime();	
			DispTimeFlag = 0;	
		}
		
		if( ScanKeyFlag == 1 )
		{if( ScanKey() == 1 )
			{   DealKey();	}
			ScanKeyFlag = 0;}
				
		if( TimeAddFlag == 1 )
		{	TimeAdd();	TimeAddFlag = 0;	}
	}	
}

void	SysIntial(void)
{	InitalKey();
	LCD_init();
	
	SysTCNT = SysTime;							//计算溢出个数
	SysTIMSK |= 1 << TOIE1;						//开启系统时钟溢出中断
	SREG |= 0x80;					//enable grobal interrupt
	SysTCCR = SysIspEn;
}

⌨️ 快捷键说明

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