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

📄 330cp0.c

📁 BTF330实验程序。针对c8051f330的大部分外设的实验程序
💻 C
字号:
/*------------------------------------------------------------------------
插上短路环J1、J8的2脚和J5的2脚短接。下载程序后,按下S3键小灯就亮一下,CP-端拉低。
功能:比较器正端输入外部电压+2.5V,负端接到按键S3上.当CP+>CP-小灯亮即当按下S3键LED亮.
--------------------------------------------------------------------------*/
#include "C8051F330.h"
#include <intrins.h>
void CPT0_ISR (void);

sbit LED=P1^0; 
unsigned int i;
//void PORT_Init(void);
//void Comparator_Init (void);
void  Comparator_Init(void)
{


    int i = 0;
    CPT0CN    = 0x8F;
    for (i = 0; i < 35; i++);  // Wait 10us for initialization
    CPT0CN    &= ~0x30;
    CPT0MX    = 0x61;//P0.2为正P1.5为负
    CPT0MD    = 0x23;

}
//This is the port Init setup:
void PORT_Init(void)
{
 
                                                     
	P1SKIP|= 0x20;                                     // 跳过P1^5引脚 
                                                               
	P1MDOUT|= 0x01; 
  
                                                      // P0.2analog input 
	P0SKIP|= 0x04;                                    //  跳过P0^2引脚 
                                            // enable P1.0 outputs as push pull
    LED=0;
                
	XBR1 = 0x40;                                    // enable crossbar 禁止
 
}

void main( void )
{
	PCA0MD &= ~0x40; // disable watchdog
	PORT_Init();
	Comparator_Init();

	LED=0;
	EA=1;
	EIE1|=0X20;


}


void sleep_ms(unsigned int count)
{
  	unsigned char ii,jj;
  	for(ii=0;ii<count;ii++)
    {
      	for(jj=0;jj<250;jj++)
	  	_nop_();			
    }	
}		 
void CPT0_ISR (void) interrupt 12
{
  	CPT0CN &=~ 0x30;		/*清中断标志位*/
  
	{for(i=0;i<200;i++);
	
		{	LED=1;			/*有键按下*/
		sleep_ms(200);
		sleep_ms(200);
		sleep_ms(200);
		LED=0;
		}
	}
} 

⌨️ 快捷键说明

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