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

📄 pcacapture.c

📁 这是一个源码程序包
💻 C
字号:
//-----------------------------------------------------------------------------
// 版权归新华龙电子公司所有
//-----------------------------------------------------------------------------
//
//文件名:  PCAcapture.c
//
//编写人:  LC
//
//编写时间:2005/03/10
//
//目标器件: C8051F02x
//
//编译工具: Silicon Laboratories IDE
//
//程序说明: 此程序测试PCA负边沿触发的捕捉方式,测试前将P0.0同P1.6脚用跳线短接,当P1.6 
//          送出6000个负边沿,在PCA就触发6000次负边沿捕捉。

#include <c8051f020.h>                    // SFR declarations
#include <intrins.h>
//------------------------------------------------------------------------------------
// Function PROTOTYPES
//------------------------------------------------------------------------------------
void PORT_Init (void);
void PCA_Init (void);
void PCA_ISR (void);

sbit P1_6 = P1^6;
unsigned int ii,jj;
//------------------------------------------------------------------------------------
// MAIN Routine
//------------------------------------------------------------------------------------
void main (void) {

   /*关看门狗*/
   WDTCN = 0xde;
   WDTCN = 0xad;
   jj=0;
   PORT_Init ();            /*IO口初始化*/
   PCA_Init ();             /*PCA初始化*/        
   EA = 1;
   for(ii=0;ii<60000;ii++){ /*P1.6向外发送60000个脉冲*/
        P16 = 1;            /*置高电平*/
        _nop_();            /*延时*/
        _nop_();
        _nop_();
        _nop_();
        P16 = 0;            /*置低电平*/
   }
   while (1) {       
   }
}

void PORT_Init (void)
{
   XBR0 = 0x08;         //CEX0-->P0.0
   XBR2    = 0x40;      // Enable crossbar and weak pull-ups
   P1MDOUT |= 0x40;     // enable P1.6 as push-pull output
}

void PCA_Init (void)
{
    EIE1 = 0x08;        /*使能PCA0中断*/    	
    //PCA0MD = 0x01;    /*PCA定时器/计数器溢出中断允许*/
    PCA0L    = 0x00;
    PCA0H    = 0x00;
    PCA0CPM0 = 0x11;     //PCA0负边沿捕捉方式,使能ECCF0=1(允许CCF0中断),当CCF0=1时发生中断

⌨️ 快捷键说明

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