c8051f020源代码39个 使用Silicon Labs IDE 调试器

源代码在线查看: wcp0.asm

软件大小: 1262 K
上传用户: stzwsy
关键词: c8051f020 Silicon Labs IDE
下载地址: 免注册下载 普通下载 VIP

相关代码

				;参考程序 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
							

相关资源