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

📄 2006222212916.c

📁 8051Fsoc系列单片机c8051f120代码使用片内的AD模块
💻 C
字号:
#include<c8051f120.h>
#define uint unsigned int
#define uchar unsigned char
uchar num1 = 0;
//uint  numr = 0;
xdata uint pcacap0[10];
bit isnewdata;

void pca0ini(){//PCA CEX0配置为正负边沿均捕捉
	SFRPAGE=0x00;
	PCA0CPM0 = 0x21;    // 正负边沿触发模式,CEX0捕捉中断使能
 	PCA0CPL0 = 0x00;    
 	PCA0CPH0 = 0x00;    
}
void pcaini(){
	SFRPAGE=0x00;
	PCA0MD=0x00;//PCA采用系统时钟的12分频,且PCA溢出中断禁止
	PCA0CN=0x40;//启动PCA计数器
	EIE1|=0x08;//PCA中断使能
}

/*void Oscillator_Init()
{
    SFRPAGE   = CONFIG_PAGE;
    OSCICN    = 0x83;
} */

void config(){
//看门狗禁止
	WDTCN = 0x07;	
    WDTCN = 0xDE;   
   	WDTCN = 0xAD;
	SFRPAGE = 0x0F;
    XBR0      = 0x08;
    XBR2      = 0x40;
	//Oscillator_Init();   
}

void PCA_ISR(void) interrupt 9 using 1 {
    static xdata uint tmpcnt=0;
	static xdata uint PCA0CP0=0;
	xdata uint tmpcnt0;
    //numr++;
	if(CCF0){
		tmpcnt0 = PCA0CPH0;
		tmpcnt0 = tmpcnt0<<8;
		PCA0CP0 = tmpcnt0 + PCA0CPL0;
		pcacap0[num1]=PCA0CP0-tmpcnt;
		tmpcnt = PCA0CP0;
		num1++;
		CCF0=0;
	}
	isnewdata=1;
  }


void main(void){
	config();
	EA=1;
	num1=0;
	isnewdata=0;
	pca0ini();
	pcaini();
	while(1){
		if(isnewdata){
			isnewdata=0;
			if(num1>=10)
				num1=0;
		}
	}
}

⌨️ 快捷键说明

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