n76e003 pwm程序
时间: 2023-08-04 16:00:32 浏览: 285
n76e003是一款基于8位单片机的芯片,具有多个PWM输出通道。下面是一个简单的n76e003 PWM程序。
#include <N76E003.h> // 包含芯片头文件
#include "SFR_Macro.h"
#define SYS_CLOCK 16000000 // 系统时钟频率为16MHz
void Init_PWM(void)
{
P12_PUSHPULL_MODE; // 设置GPIO P1.2为推挽输出模式
PWM_IMDEPENDENT; // 设置PWM输出模式为独立模式
PWM_CLOCK_DIV_64; // 设置PWM的时钟分频为64,时钟频率为SYS_CLOCK/64
PWM_SET_INDIVIDUAL_CHANNEL_MODE(PWM12 , PWM_ONE_SHOT_MODE); // 设置PWM通道12为单脉冲输出模式
PWM_OUTPUT_LEVEL_LOW(PWM12); // 设置PWM通道12为低电平输出
PWMPH = HIBYTE(0xFFFF); // 设置PWM高8位寄存器的值
PWMPM = LOBYTE(0xFFFF); // 设置PWM低8位寄存器的值
set_PWMCON1_LOAD;
set_PWMRUN;
}
void main(void)
{
Init_PWM(); // 初始化PWM
while(1)
{
// 在此处添加PWM输出的具体功能代码
}
}
这个程序中,首先通过引入芯片头文件,并定义系统时钟频率为16MHz。然后定义了一个用于初始化PWM的函数Init_PWM()。在Init_PWM()函数中,设置了GPIO P1.2为推挽输出模式,并将PWM输出模式设置为独立模式。设置PWM时钟分频为64,时钟频率为SYS_CLOCK/64。设置PWM通道12为单脉冲输出模式,并设置PWM通道12为低电平输出。设置PWM寄存器的值,并将PWMCON1_LOAD置位,确保PWM输出开始。在main()函数中,首先调用了Init_PWM()函数进行初始化,然后在while循环中添加实际的PWM输出功能代码。
阅读全文