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

📄 timer.c

📁 DS18B20最全驱动.包含CRC8算法.ROM Search等.主机采用AVR mega16或者mega32.原创作品.
💻 C
字号:
#include "System.h"

//--------------定时器0——5ms程序--------------
//系统时钟:11059200Hz  分频:1024
//Timer0初始化
void Timer0Init(void)			//5ms
{
	TCCR0=0x00;
	TCNT0=0xcb;
	OCR0=0x35;
	TCCR0=(1<<WGM01)|(1<<CS02)|(1<<CS00);
	TIMSK|=(1<<OCIE0);
}

//Timer0 CTC中断,此中断发生周期是:5毫秒
ISR(TIMER0_COMP_vect)
{
	if(UartTimeoutFlag)
	{
		if(WaitForUartCounter>=1)
		{
			UartTimeoutFlag=0;
			WaitForUartCounter=0;
			UartDataReadyFlag=1;
			UCSRB&=~(1<<RXCIE);		//禁止接收
		}
		else WaitForUartCounter++;
	}
	if(ReadTFlag)
	{
		if(ReadTCounter>=ReadTCounterTimeout)
		{
			ReadTFlag=0;
			ReadTCounter=0;
			ProcessReadT=_ReadT;
		}
		else ReadTCounter++;
	}
	if(EnableOneWireFlag)
	{
		if(CheckDS18B20Counter>=CheckDS18B20Timeout)
		{
			CheckDS18B20Counter=0;
			CheckDS18B20TimeoutFlag=1;
		}
		else CheckDS18B20Counter++;
	}
}

⌨️ 快捷键说明

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