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

📄 ccpisr.c

📁 picc_18v 8.35pl35 PIC18系列单片机开发C编译器
💻 C
字号:
#include <pic18.h>
#include "ccp.h"
#include <stdio.h>

void interrupt ISR(void)
{
	if((RBIE)&&(RBIF))
	{
	if(CHANGE_MODE1)																		/*change current mode of CCP1*/
		{
			CURRENT_MODE1++;
			if(CURRENT_MODE1>=12)	CURRENT_MODE1=0;					/*PWM is not tested by this program*/
			
			if (CURRENT_MODE1==1)	CURRENT_MODE1++;					/*CCP1CON=1 is reserved*/
			
			if ((CURRENT_MODE1==2)||(CURRENT_MODE1>=8))				 /*change IO direction for pin C2*/        
				{
				TRISC=TRISC&0xFB;
				}	
			else
				{
				TRISC=TRISC|0x04;
				}
		}
	if(CHANGE_MODE2)																		/*change current mode of CCP2*/        
		{
			CURRENT_MODE2++;
			if(CURRENT_MODE2>=12)	CURRENT_MODE2=0;					/*PWM is not tested by this program*/ 

			if (CURRENT_MODE2==1)	CURRENT_MODE2++;					/*CCP2CON=1 is reserved*/ 

			if ((CURRENT_MODE2==2)||(CURRENT_MODE2>=8))				/*change IO direction for pin E7*/
				{
				TRISE=TRISE&0x7F;				
				}	
			else
				{
				TRISE=TRISE|0x80;
				}
		}
		RBIF=0;
		UPDATE_REQUIRED=1;
	}
	if((CCP1IE)&&(CCP1IF))																/*interrupt from CCP1 has occured*/
	{
		CCP1INT=1;  
		if (CURRENT_MODE1==11) SPECIAL_EVENT1=1;					/*if special even occured set SPECIAL_EVENT1*/
		CCP1IF=0;
	}
	if((CCP2IE)&&(CCP2IF))																/*interrupt from CCP2 has occured*/
	{
		CCP2INT=1;  
		if (CURRENT_MODE2==11) SPECIAL_EVENT2=1;					/*if special even occured set SPECIAL_EVENT2*/
		CCP2IF=0;
	}
}

⌨️ 快捷键说明

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