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

📄 timer.c

📁 44binit.s ----- 初始化中断、存储器、堆栈等
💻 C
字号:
/****************************************************************************
【文  件  名  称】Timer.c
【功  能  描  述】三星S3C44B0X板定时器程序代码
【程  序  版  本】2.0
【创建人及创建日期】龚俊//2003-07-02 15:27
【修改人及修改日期】龚俊//2004-2-16 11:39
****************************************************************************/

//***************************************************************************
#include "..\inc\def.h"
#include "..\inc\option.h"
#include "..\inc\44b.h"
#include "..\inc\44blib.h"

/****************************************************************************
【功能说明】
****************************************************************************/
#define	MaxBeepFreq	20000
#define	MinBeepFreq	20

void SetBeepPwm( U16 Freq, U8 HiRatio )
{
	if( Freq > MaxBeepFreq )
		Freq = MaxBeepFreq;
	if( HiRatio > 100 )
		HiRatio = 100 ;	
		
	rTCON  	&= 0xfffffff0;					// clear manual update bit, stop Timer2

	rTCFG0 	&= 0xffffff00;					// set Timer 2&3 prescaler 0

	rTCFG1 	&= 0xfffffff0;					// set Timer 2 MUX 1/16
	rTCFG1  |= 0x00000003;					// set Timer 2 MUX 1/16

	rTCNTB0	 = MCLK/(Freq*16);				//if set inverter off, when TCNT2<=TCMP2, TOUT is high, TCNT2>TCMP2, TOUT is low
	rTCMPB0  = (rTCNTB0*(100-HiRatio))/100;	//if set inverter on,  when TCNT2<=TCMP2, TOUT is low,  TCNT2>TCMP2, TOUT is high

	rTCON = rTCON & (~0xf) | 0x0a;
	//自动重装,输出取反关闭,更新TCNTBn、TCMPBn,死区控制器关闭
	rTCON = rTCON & (~0xf) | 0x09;		//开启蜂鸣器的叫声
}
//***************************************************************************

⌨️ 快捷键说明

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