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

📄 time2._c

📁 前两年在一家模型公司开发的
💻 _C
字号:
/********************************************************************************/
//		
// 		builder : 2007-04-10
// 		Target  : ATMEAG 48V
// 		Crystal : 内部 8.00 MHz
//
//		PWM 模块
		
/********************************************************************************/

//#include <avr/io.h>
//#include <avr/delay.h>
//#include <avr/signal.h>
//#include <avr/interrupt.h>

#include 	<iom48v.h>
#include 	<macros.h>

#define		uchar	unsigned char
#define		uint	unsigned int
	
#define		CLR_REV1	PORTD &= ~(1<<PD6)
#define		SET_REV1	PORTD |=  (1<<PD6)

#define		CLR_JUST1	PORTB &= ~(1<<PB4)
#define		SET_JUST1	PORTB |=  (1<<PB4)



//TIMER0 initialize - prescale:8
// desired value: 1Hz
// actual value: Out of range
extern void timer2_init(void)
{
 	TCCR2B  = 0x00; //stop
 	ASSR   	= 0x00; //set async mode
 	TCNT2  	= 0x01; //setup
 	TCCR2A 	= 0xA1; 
 	OCR2B 	= 0x00;
	TCCR2B 	= 0x02;
}

/*---------------------------------------------------------------
   			PWM 占空比设置 
----------------------------------------------------------------*/

extern void Pwm_set(uchar pwm,uchar rev)
{
	if(rev==2)
	{
		OCR2A 	= 0;
		OCR2B 	= pwm;
		CLR_REV1;
		SET_JUST1;
	}
	else if(rev==1)
	{
		OCR2A 	= pwm;
		OCR2B 	= 0;
		SET_REV1;
		CLR_JUST1;
	}
	else if(rev==3)
	{
		OCR2A 	= pwm;
		OCR2B 	= pwm;
		CLR_REV1;
		CLR_JUST1;
	}
	else 
	{
		OCR2A 	= 0;
		OCR2B 	= 0;
		CLR_REV1;
		CLR_JUST1;
	}
}

/**************************  the end   ********************************/



⌨️ 快捷键说明

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