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

📄 wcp0.asm

📁 C8051F.rar
💻 ASM
字号:
;参考程序 A:WCP0.ASM 程序功能:实现CP0比较器的上升沿中断/下降沿中断功能,比较
;器基准信号来自于VREF引脚.CP0比较器的上升沿中断鸣笛二次, CP0比较器的下降沿中
;断鸣笛1次,
$include (c8051f020.inc)  ; Include register definition file.
  ORG     0
	AJMP	main
	ORG		5Bh      ;比较器CP0上升沿中断入口
	AJMP	CPT0R_ISR;
	ORG		53h      ;比较器CP0下降沿中断入口
	AJMP	CPT0F_ISR
	ORG		100H
main:
	MOV  	WDTCN,#0DEH          ;关看门狗
	MOV  	WDTCN,#0ADH
	LCALL	PORT_Init				;初始化I/O口
	LCALL	CPT0_Init				;初始化比较器0
	MOV P4,#0FH
	SETB 	EA						;开总中断
	SJMP 	$
;初始化比较器0
CPT0_Init:
	ORL  	EIE1,#30H	;比较器CP0上升沿/下降沿中断允许,;允许CPRIF标志位(CPT0CN.5)的中断请求.
	                      ;允许CP0FIF标志位(CPT0CN.4)的中断请求.
	MOV  	CPT0CN,#08FH			;使能中断模式,设定+/-10mv 回差,请除中断标志
	ORL  	REF0CN,#03H				;使能内部参考电压
	RET  	
;初始化I/O口
PORT_Init:
	MOV  	XBR2,#40H
    MOV   XBR0  ,  #80H;     //将CP0输出端引到P0.0脚 
	MOV   XBR1  ,  #1H;     //将CP1输出端引到P0.1脚 
	ORL  	P74OUT,#03H			;P4口推挽输出
	;MOV  P3MDOUT ,#20H;      使能P3.5推挽输出
	RET  	
;比较器CP0上升沿中断服务子程序:CP0比较器的上升沿中断鸣笛二次,
CPT0R_ISR:;CLR  EA
	ANL  	CPT0CN,#0CFH			;清中断标志
	MOV   A,P4
	CPL   A
	MOV   P4,A
  CLR   P3.5
	ACALL  DELY           ;鸣笛
	ACALL  DELY
	SETB  P3.5
  ACALL  DELY
	CLR   P3.5
	ACALL  DELY           ;鸣笛
	ACALL  DELY
	SETB  P3.5
	SETB  EA
  RETI 	
;比较器CP0下降沿服务子程序:CP0比较器的下降沿中断鸣笛1次,
CPT0F_ISR:;CLR  EA
	ANL  	CPT0CN,#0CFH			;清中断标志
	MOV   A,P4
	CPL   A
	MOV   P4,A
  CLR   P3.5
	ACALL  DELY           ;鸣笛
	SETB  P3.5
	SETB  EA
	RETI 	
DELY: MOV  R7,#0
  SS: MOV  R6,#0
	 DJNZ  R6,$
	 DJNZ  R7,SS
	RET
	END

⌨️ 快捷键说明

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