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

📄 pcapwm16.c

📁 C51LED显示、模数转换、液晶显示、直流电机等模块的程序代码
💻 C
字号:
//-----------------------------------------------------------------------------
// 版权归新华龙电子公司所有
//-----------------------------------------------------------------------------
//
//文件名:	PCApwm16.c
//
//编写人:	LC
//
//编写时间:2005/03/10
//
//目标器件: C8051F02x
//
//编译工具: Silicon Laboratories IDE
//
//程序说明:	此程序实现PCA的16位PWM输出,输出脚配置在P0.0脚。


#include <c8051f020.h>	/*SFR定义*/

//------------------------------------------------------------------------------------
// Function PROTOTYPES
//------------------------------------------------------------------------------------
void PORT_Init (void);
void PCA_Init (void);
void PCA_ISR (void);
//------------------------------------------------------------------------------------
// MAIN Routine
//------------------------------------------------------------------------------------
void main (void) {

   /*关看门狗*/
   WDTCN = 0xde;
   WDTCN = 0xad;
	
   PORT_Init ();		/*初始化IO口*/
   PCA_Init ();			/*PCA初始化成16位脉宽调置方式*/
   EA = 1;				/*开总中断*/
   while (1) {       
   }
}

void PORT_Init (void)
{
   XBR0 = 0x08;			/*CEX0-->P0.0*/
   XBR2    = 0x40;      /*使能交叉开关和弱闪拉*/
   P1MDOUT |= 0x40;     /*使能P1.6脚推挽输出*/
}

void PCA_Init (void)
{
	EIE1 = 0x08;		
	//PCA0MD = 0x01;	/*PCA定时器/计数器溢出中断禁止*/
	PCA0L	 = 0x00;
	PCA0H	 = 0x00;
	PCA0CPM0 = 0xcb;	/*16位PWM方式,当CCF0=1时,允许辅捉/比较标志的中断申请*/
	PCA0CPL0 = 0x00;	/*置初值*/
	PCA0CPH0 = 0x80;
	PCA0CN = 0x40;		/*允许PCA定时器/计数器*/
}

/*PCA中断子程序*/
void PCA_ISR (void) interrupt 9
{
	CF   = 0;			/*清溢出中断标志*/
	CCF0 = 0;			/*清匹配中断标志*/
	//PCA0L = 0x00;
	//PCA0H = 0x40;   
}

⌨️ 快捷键说明

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