📄 time2._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 + -