?? time2.c
字號:
/********************************************************************************/
//
// builder : 2007-04-10
// Target : ATMEAG 48V
// Crystal : 內部 8.00 MHz
//
// PWM 模塊
/********************************************************************************/
#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 + -