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

📄 pwm.c

📁 F2407的10个C语言例程代码
💻 C
字号:
#include "regs240x.h" 

main()
{
	unsigned int uWork;
	
	asm(" setc  INTM");	/* 关中断 */
	asm(" setc   SXM");	/* 符号位扩展有效 */
	asm(" clrc   OVM");	/* 累加器中结果正常溢出 */
	asm(" clrc   CNF");	/* B0被配置为数据存储空间 */


//	WDCR=0x6f;              /* =0110,1111*/
//	WDKEY=0x5555;
//	WDKEY=0xaaaa;	        /* 关闭看门狗中断 */
    WDCR=0x0E8;
 
	SCSR1=0x81fe;	        /* =1000,0001;1111,1110  DSP工作在40MHz */

//	IMR=0x0000;			    /* 屏蔽所有可屏蔽中断 */
	IMR=0;
	IFR=0x0ffff;	        /* 清除中断标志 */

//	uWork=WSGR;		        /* I/O引脚0等待 */
//	uWork&=0x0fe3f;
//	WSGR=uWork;
	WSGR=0x00;				/* 禁止所有等待状态*/

	MCRA=MCRA|0x0fc0;	/* MCRA=0X0000,1111,1100,0000 */
	                    /* IOPA6/7被配置为基本功能方式 */
	ACTRA=0x0666;  		/* PWM2低有效,PWM1高有效 */
	DBTCONA=0x00;		/* 不使能死区控制 */
	CMPR1=0x1000;  		/* 比较单元1设置 */	
	CMPR2=0x2000;		/* 比较单元2设置 */	
	CMPR3=0x3000;       /* 比较单元3设置 */
	T1PER=0x6000;		/* 设置定时器1的周期寄存器,以确定不同的输出占空比 */
	COMCONA=0x8200;		/* 使能比较操作 */
	T1CON=0x1000;		/* 定时器1为连续增计数模式 */

	
	MCRC=MCRC|0x7e;	    /* MCRC=0X0111,1110   IOPE1/2被配置为基本功能方式,PWM7 */
	ACTRB=0x0666;  		/* PWM8低有效,PWM7高有效 */
	DBTCONB=0x00;		/* 不使能死区控制 */
	CMPR4=0x1000;  		/* 比较单元4设置 */	
	CMPR5=0x2000;		/* 比较单元5设置 */	
	CMPR6=0x3000;		/* 比较单元5设置 */		
	T3PER=0x6000;		/* 设置定时器1的周期寄存器,以确定不同的输出占空比 */
	COMCONB=0x8200;		/* 使能比较操作 */
	T3CON=0x1000;		/* 定时器1为连续增计数模式 */

	T1CON=T1CON|0x0040;	/* 启动定时器1 */
	T3CON=T1CON|0x0040;	/* 启动定时器1 */
	
	while ( 1 )
	{
	}
}

⌨️ 快捷键说明

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