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

📄 pcacapture.c

📁 BTF330实验程序。针对c8051f330的大部分外设的实验程序
💻 C
字号:
//-----------------------------------------------------------------------------

//-----------------------------------------------------------------------------

//文件名:	PCAcapture.c

//程序说明:	此程序测试PCA负边沿触发的捕捉方式,连好J1和J6短路环,测试前将J13的P03同P13脚用跳线短接,
//			当按下按键S1,则P0.3出现一次下降沿,CE0配置到P0.3则捕捉到,是P1.0小灯亮一下。


#include <c8051f330.h>                    // SFR declarations
#include <intrins.h>
#include "common.h"
//------------------------------------------------------------------------------------
// Function PROTOTYPES
//------------------------------------------------------------------------------------
void PORTn_Init (void);
void PCA_Init (void);
void PCA_ISR (void);
 temperature (void);
sbit P03= P0^3;
sbit S1=P1^3;
sbit led=P1^0;
unsigned int m,n;

void YJ_Init(void);
void Write_CHAR(unsigned char yjchar);
//------------------------------------------------------------------------------------
// MAIN Routine
//------------------------------------------------------------------------------------
void main (void) {

   PCA0MD &= ~0x40;         // WDTE = 0 (disable watchdog timer)
   n=0;	
   PORTn_Init ();			/*IO口初始化*/
   PCA_Init ();				/*PCA初始化*/ 
   led=0;    
   EA = 1;
   
   
}

void PORTn_Init (void)
{
 
    P0SKIP    = 0x07;
    XBR1      = 0x41;

    P0MDOUT |= 0x08;     // 使能P0.3为推挽输出
	P1MDOUT |=0x01;
led=0; 
}

void PCA_Init (void)
{
	EIE1 = 0x10;		/*允许PCA0中断请求*/		
   	EIP1 |= 0x10;
	PCA0L	 = 0x00;
	PCA0H	 = 0x00;
	PCA0CPM0 = 0x11;	/*PCA0负边沿捕捉方式,当CCF0=1时,允许辅捉/比较标志的中断申请*/
	PCA0CPL0 = 0x00;
	PCA0CPH0 = 0x20;
	PCA0CN = 0x40;		/*允许PCA定时器/计数器*/
}


/*PCA中断子程序*/
void PCA_ISR (void) interrupt 11
{  
	CF   = 0;

	CCF0 = 0;			/*清匹配中断标志*/
	led=1;
    for(n=0;n<30000;n++);
    led=0;
   
		
}

⌨️ 快捷键说明

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