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

📄 pcacapture.asm

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

$include (c8051f020.inc)                    // SFR declarations

P16		EQU		P1.6

	ORG		0
	AJMP	main
	ORG		4BH
	AJMP	PCA_ISR
	ORG		0100H
//------------------------------------------------------------------------------------
// MAIN Routine
//------------------------------------------------------------------------------------
main:

   	;关看门狗
   	MOV		WDTCN,#0deH
   	MOV		WDTCN,#0adH
   	MOV		DPTR,#00H	
   	LCALL	PORT_Init		;IO口初始化
   	LCALL	PCA_Init		;PCA初始化
   	SETB		EA
   	MOV		R0,#240
   	MOV		R1,#250
	;P16向外发送250个脉冲
PAUSE:
	SETB	P16				;置高电平
	NOP						;延时
	NOP
	NOP
	NOP
	CLR		P16				;置低电平
	DJNZ	R1,PAUSE
	MOV		R1,#250			;脉冲数
	DJNZ	R0,PAUSE
   	AJMP		$
	RET

;初始化I/O口
PORT_Init:
	MOV		XBR0,#08H		;CEX0-->P0.0
	MOV		XBR2,#40H      	;使能交叉开关和弱上拉
	ORL		P1MDOUT,#40H    ;使能P1.6推挽输出
	RET

;初始化PCA
PCA_Init:
	MOV		EIE1,#08H		;使能PCA0中断
	;MOV	PCA0MD,#01H		PCA定时器/计数器溢出中断允许
	MOV		PCA0L,#00H
	MOV		PCA0H,#00H
	MOV		PCA0CPM0,#11H	;PCA0负边沿捕捉方式,当CCF0=1时,允许辅捉/比较标志的中断申请
	MOV		PCA0CPL0,#00H
	MOV		PCA0CPH0,#20H
	MOV		PCA0CN,#40H		;允许PCA定时器/计数器
	RET


;PCA中断子程序
PCA_ISR:
	//CF   = 0;
	INC		DPTR		;计中断次数
	CLR		CCF0		;清匹配中断标志
	RETI	
	END

⌨️ 快捷键说明

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