📄 pwm.c
字号:
#include "LF2407REGS.h"
void initsys(){
asm(" setc SXM ");
asm(" clrc OVM ");
asm(" clrc CNF ");
*SCSR1=0x83fe;
*WDCR =0x0e8;
*IMR =0x000f;
*IFR =0xffff;
*WSGR =0x00;
}
void inline disable(){
asm(" setc INTM ");
}
void inline enable(){
asm(" clrc INTM ");
}
void PWMinit(){
*MCRC=*MCRC|0x007e; //IOPE1~IOPE6配置为基本功能方式
*ACTRB=0x0666; //PWM12,10,8低有效,PWM11,9,7高有效
*DBTCONB=0; //不使能死区控制
*CMPR4 = 0x1000;
*CMPR5 = 0x2000;
*CMPR6 = 0x3000;
*T3PER = 0x6000; //设置定时器3的周期寄存器,并设置CMPR4~CMPR6,以确定不同的输出占空比
*COMCONB=0x8200; //使能比较操作
*T3CON = 0x1000; // 定时器3为连续增计数模式
}
void interrupt nothing()
{
return;
}
void main()
{
disable(); //总中断禁止
initsys(); //系统初始化
PWMinit(); //pwm初始化
*T3CON=*T3CON|0x40; //启动定时器3
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -