PWM(Pulse Width Modulation)——脉宽调制,它是利用微控制器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用于测量、通信、功率控制与变换等许多领域。
本实验通过定时器TIMER0的pwm功能驱动GPB0管口的蜂鸣器。需要设置GPB0的GPBCON为TOU0功能,设置定时器为5秒定时,当rTCMPB0 = rTCNTB0时进行反转电平,实现高低电平转换,驱动蜂鸣器发生。具体实验代码如下:
#define
#include <stdlib.h>
#include <string.h>
#include "def.h"
#include "option.h"
#include "2440addr.h"
#include "2440lib.h"
#include "2440slib.h"
#include "mmu.h"
#include "profile.h"
#include "memtest.h"
void clock_init()
{
rLOCKTIME = 0x00ffffff;
rCLKDIVN = 0x03;
//以下在mmu_init()函数中已经对其初设置这里无需设置
rMPLLCON = 0x5c0040;
}
void beep_init(void)//蜂鸣器初始化
{
}
void inter_init()//中断初始化函数
{
}
void Timer0_init()//定时器初始化
{
}
static void __irq Timer0_ISR(void)
{
}
void Main(void)
{
}