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

📄 pcapwm8.c

📁 有价值的电子书
💻 C
字号:
/***************************************************************
功能:实现用PCA在P0.0输出8位PWM信号,可用示波器观察占空比变化
作者:ZDP
时间:2005-11-30
版本:V1.0
***************************************************************/
#include <c8051f020.h>	/*SFR定义*/
#include <INTRINS.H>
//------------------------------------------------------------------------------------
// Function PROTOTYPES
//------------------------------------------------------------------------------------
void PORT_Init (void);
void PCA_Init (void);
void PCA_ISR (void);
//------------------------------------------------------------------------------------
// MAIN Routine
//------------------------------------------------------------------------------------
void main (void)
{	unsigned char a =0;
	unsigned long b;
	bit	PWM_PAC; 
   /*关看门狗*/
	WDTCN = 0xde;
   	WDTCN = 0xad;
	
   	PORT_Init ();			/*初始化I/O口*/
   	PCA_Init ();			/*PCA初始化成8位脉宽调置方式*/
   	while (1)      
	{
		if(PWM_PAC==0)			//占空比由0	>>0xfe
		{
			PCA0CPH0=a;
		 	a++;
		 	if(a==0xfe){PWM_PAC=1;}
		}
		else					//占空比由0xfe	>>0
		{
			PCA0CPH0=a;
		 	a--;
		 	if(a==0){PWM_PAC=0;}
		}
		for(b=0;b>0xffffffff;b++)//延时
		{
			_nop_();
		}	
	}
}
//配置I/O端口
void PORT_Init (void)
{
   XBR0 = 0x08;			/*CEX0-->P0.0*/
   XBR2    = 0x40;      /*使能交叉开关和弱闪拉*/
   P0MDOUT |= 0x01;     /*使能P0.0脚推挽输出*/
}
//配置PCA的CEX0输出8位PWM信号
void PCA_Init (void)
{
    PCA0CN    = 0x40;
    PCA0CPM0  = 0x42;
    PCA0CPL0  = 0x00;
    PCA0CPH0  = 0x00;
}

⌨️ 快捷键说明

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