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

📄 pwm.c

📁 武汉创维特ARM7实验箱的全部源代码
💻 C
字号:
/****************************************************************************/
/*                                                                          */
/* FILE NAME                                      VERSION                   */
/*                                                                          */
/* PWM.C                                            1.0                     */
/*                                                                          */
/* DESCRIPTION                                                              */
/*                                                                          */
/*     JX44B0(S3C44B0X)PWM实验                                              */
/*                                                                          */
/*                                                                          */
/* DATA STRUCTURES                                                          */
/*                                                                          */
/* FUNCTIONS :                                                              */
/*     在JX44B0教学实验箱进行PWM方式驱动蜂蜜器的实验                        */
/*                                                                          */
/* DEPENDENCIES                                                             */
/*     JX44B0-1                                                             */
/*     JX44B0-2                                                             */
/*     JX44B0-3                                                             */
/*                                                                          */
/*                                                                          */
/* NAME:                                                                    */
/* REMARKS:                                                                 */
/*                                                                          */
/*								Copyright (C) 2003 Wuhan CVTECH CO.,LTD     */
/****************************************************************************/

/****************************************************************************/
/* 学习ARM处理器中PWM的处理方法:                                           */
/****************************************************************************/

/* 包含文件 */
#include "44b.h"

/* functins */
void test_pwm();

/*****************************************************************************
// Function name	: Main
// Description	    : 测试程序主函数
// Return type		: int
// Argument         : void
*****************************************************************************/
void Main()
{
	test_pwm();
	
	while(1);
}

/*****************************************************************************
// Function name	: test_pwm
// Description	    : 测试PWM,通过蜂鸣器输出脉冲
// Return type		: int
// Argument         : void
*****************************************************************************/
void test_pwm()
{
	int index, rate ;
	unsigned short div;
	int freq;
	
	/* 设置定时器的预分频率值:TIME0/1=255, TIME2/3=0, TIME4/5=0				*/
    rTCFG0=0xFF; 	
    
    /* 设置定时器的工作模式:中断模式,设置分频率值:TIME0为1/4,其他为1/2		*/
    rTCFG1=0x1;	 	

    /* 输出脉冲:频率从4000HZ到14000HZ, 使用2/3的占空比						*/
	for ( freq = 500; freq < 14000; freq+=500 )
	{
		div = (MCLK/256/4)/freq;
    	rTCON=0x0;
     	rTCNTB0= div;
   		rTCMPB0= (2*div)/3;
		rTCON=0xa;						/* 手工装载定时器的计数值			*/
    	rTCON=0x9;						/* 启动定时器,并周期模式触发		*/
    	for( index = 0; index < 800000; index++);
    	rTCON=0x0;						/* 延时并停止定时器					*/
	}

    /* 输出脉冲:频率1000HZ, 使用1/100 - 95/100的占空比						*/
	div = (MCLK/256/4)/1000;
    for ( rate = 1; rate < 100; rate += 5 )
    {
    	rTCNTB0= div;
		rTCMPB0= (rate*div)/100;		/* 修改占空比						*/
		rTCON=0xa;						/* 手工装载定时器的计数值			*/
	    rTCON=0x9;						/* 启动定时器,并周期触发			*/
	    for( index = 0; index < 800000; index++);
	    rTCON=0x0;
    }
}

⌨️ 快捷键说明

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