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

📄 ice_259a.dt

📁 义隆259仿真机自动测试软件.可以实现ICE_259的各个功能的检测
💻 DT
📖 第 1 页 / 共 3 页
字号:
			IOW		0X0B
			CALL	DELAY
			JBS		R7,0
			BS		R5_DOWN,7
			
			MOV		A,@0XFF
			IOW		0X0B
			IOW		0X0D
			
			PAGE1
			JMP		SECOND
				
;************************************************************************					
DELAY:
			MOV		A,@0X30
			MOV		DELAYTEMP,A
			
			DJZ		DELAYTEMP
			JMP		$-1
			
			RET				
		
		
			EOP
				
		
;###########################################################################
SECOND:
			ORG		400H
			BS		R3,5
			BC		R3,6	;select i/o page0
			CLR		RF_FLAG
			MOV		A,@0X10
			MOV		COUNT,A
			CLR		DATA_1
			CLR		DATA_2
			CLR		DATA_3
			
ADC_START:
			DISI
			NOP
			NOP
			BC		R3,6
			MOV		A,@0XFF
			IOW		0X05
			IOW		0X0B
			MOV		A,@0X0F
			IOW		0X0D		;p50 pull high
			
			MOV		A,@0X01
			MOV		AISR,A
			
			MOV		A,@0X08		;select p50 
			MOV		ADCON,A
			
			
			CALL	DELAY1
			BS		ADCON,ADRUN		;start A/D conversion	
			
WAIT_AD:
			JBC		ADCON,ADRUN
			JMP		WAIT_AD
			
			MOV		A,@0X00
			MOV		RE,A			;clean A/D  interrupter flag
			
			MOV		A,RD
			MOV		DATA_A,A
			MOV		A,RC
			MOV		DATA_B,A
			
			CALL	ADDDATA
			
			DJZ		COUNT
			JMP		ADC_START
			
			MOV		A,@0X10
			MOV		COUNT,A
			
			MOV		A,@0XE0			;test the A/D result
			SUB		A,DATA_2
			JBS		STATUS,C
			JMP		P51_AD_HIGH
			
			CLR		DATA_1
			CLR		DATA_2
			CLR		DATA_3
			
P50_AD_LOW:			
			BC		R3,6
			
			MOV		A,@0XFF
			IOW		0X0D		;disable p50 pull high
			
			MOV		A,@0X0F
			IOW		0X0B		;enable p50 pull down
			
			MOV		A,@0X01
			MOV		AISR,A
			
			MOV		A,@0X08		;select p50 
			MOV		ADCON,A
			
			CALL	DELAY1
			BS		ADCON,ADRUN
			
WAIT_AD1:
			JBC		ADCON,ADRUN
			JMP		WAIT_AD1
			
			MOV		A,@0X00
			MOV		RE,A
			
			MOV		A,RD
			MOV		DATA_A,A
			MOV		A,RC
			MOV		DATA_B,A
			
			CALL	ADDDATA
			
			DJZ		COUNT
			JMP		P50_AD_LOW
			
			MOV		A,@0X10
			MOV		COUNT,A
			
			MOV		A,@0X10
			SUB		A,DATA_2
			JBS		STATUS,C
			BS		R5_AD,0
	
P51_AD_HIGH:
			CLR		DATA_1
			CLR		DATA_2
			CLR		DATA_3
			
P51_AD:												;A/D interrupter 
			
			
			BC		R3,6
			
			MOV		A,@0X00
			MOV		AISR,A
			
			MOV		A,@0XFF
			IOW		0X0B
			
			MOV		A,@0X0F
			IOW		0X0D
			
			MOV		A,@0X02
			MOV		AISR,A
			
			MOV		A,@0X09
			MOV		ADCON,A
			
			MOV		A,@0X2F
			IOW		0X0E		;enable A/D interrupter
			
			CALL	DELAY1
			
			ENI
			
			BS		ADCON,ADRUN
			
			JBC		ADCON,ADRUN
			JMP		$-1
			
			DISI
			NOP
			
			
			
			MOV		A,RD
			MOV		DATA_A,A
			MOV		A,RC
			MOV		DATA_B,A
			
			CALL	ADDDATA
			
			DJZ		COUNT
			JMP		P51_AD
			
			MOV		A,@0X10
			MOV		COUNT,A
			
			MOV		A,@0XE0
			SUB		A,DATA_2
			JBS		STATUS,C
			JMP		P52_AD_HIGH
			
			CLR		DATA_1
			CLR		DATA_2
			CLR		DATA_3
	
P51_AD_LOW:
			BC		R3,6
			
			MOV		A,@0X00
			MOV		AISR,A
			
			MOV		A,@0XFF
			IOW		0X0D
			
			MOV		A,@0X0F
			IOW		0X0B
			
			MOV		A,@0X02
			MOV		AISR,A
			
			MOV		A,@0X09
			MOV		ADCON,A
			
			MOV		A,@0X2F
			IOW		0X0E
			
			CALL	DELAY1
			ENI
			
			BS		ADCON,ADRUN
			
			JBC		ADCON,ADRUN
			JMP		$-1
			DISI
			NOP
			
			MOV		A,RD
			MOV		DATA_A,A
			MOV		A,RC
			MOV		DATA_B,A
			
			CALL	ADDDATA
			
			DJZ		COUNT
			JMP		P51_AD_LOW
			
			MOV		A,@0X10
			MOV		COUNT,A
			
			MOV		A,@0X10
			SUB		A,DATA_2
			JBS		STATUS,C
			BS		R5_AD,1
			
P52_AD_HIGH:
			CLR		DATA_1
			CLR		DATA_2
			CLR		DATA_3
			
P52_AD:										;A/D wake up from sleep
			BC		R3,6
			
			MOV		A,@0X00
			MOV		AISR,A
			
			MOV		A,@0XFF
			IOW		0X0B
			
			MOV		A,@0X0F
			IOW		0X0D
			
			MOV		A,@0X04
			MOV		AISR,A
			
			MOV		A,@0X0A
			MOV		ADCON,A
			
			MOV		A,@0X08		;enable A/D wake up
			MOV		RE,A
			
			WDTC
			MOV		A,@0X0F
			IOW		0X0E		;disable WDT
			
			
			CALL	DELAY1			
			DISI
			
		
			
			BS		ADCON,ADRUN
			
			SLEP
			
		
			NOP
			NOP
			DISI
			NOP
			
			MOV		A,RD
			MOV		DATA_A,A
			MOV		A,RC
			MOV		DATA_B,A
			
			CALL	ADDDATA
			
			DJZ		COUNT
			JMP		P52_AD
			
			MOV		A,@0X10
			MOV		COUNT,A
			
			MOV		A,@0XE0
			SUB		A,DATA_2
			JBS		STATUS,C
			JMP		P53_AD_HIGH
	
			CLR		DATA_1
			CLR		DATA_2
			CLR		DATA_3
P52_AD_LOW:
			BC		R3,6
			
			MOV		A,@0X00
			MOV		AISR,A
						
			MOV		A,@0XFF
			IOW		0X0D
			
			MOV		A,@0X0F
			IOW		0X0B
			
			MOV		A,@0X04
			MOV		AISR,A
			
			MOV		A,@0X0A
			MOV		ADCON,A
			
			MOV		A,@0X08
			MOV		RE,A
			
			WDTC
			MOV		A,@0X0F
			IOW		0X0E		;disable WDT
			CALL	DELAY1
			
			DISI
			
			BS		ADCON,ADRUN
			
			SLEP
			
			NOP
			NOP
			DISI
			
			MOV		A,RD
			MOV		DATA_A,A
			MOV		A,RC
			MOV		DATA_B,A
			
			CALL	ADDDATA
			
			DJZ		COUNT
			JMP		P52_AD_LOW
			
			MOV		A,@0X10
			MOV		COUNT,A
			
			MOV		A,@0X10
			SUB		A,DATA_2
			JBS		STATUS,C
			BS		R5_AD,2

P53_AD_HIGH:
			CLR		DATA_1
			CLR		DATA_2
			CLR		DATA_3			
			
P53_AD:							;A/D wake up from sleep and occur interrupter
			BC		R3,6
			MOV		A,@0X00
			MOV		AISR,A
			
			MOV		A,@0XFF
			IOW		0X0B
			
			MOV		A,@0X0F
			IOW		0X0D
			
			MOV		A,@0X08
			MOV		AISR,A
			
			MOV		A,@0X0B
			MOV		ADCON,A
			
			MOV		A,@0X08
			MOV		RE,A
			
			MOV		A,@0X2F
			IOW		0X0E
			
			WDTC
			MOV		A,@0X0F
			IOW		0X0E		;disable WDT
			
			CALL	DELAY1
			ENI
			
			BS		ADCON,ADRUN
			
			SLEP
			
			NOP
			NOP
			DISI
			NOP
			
			MOV		A,RD
			MOV		DATA_A,A
			MOV		A,RC
			MOV		DATA_B,A
			
			CALL	ADDDATA
			
			DJZ		COUNT
			JMP		P53_AD
			
			MOV		A,@0X10
			MOV		COUNT,A
			
			MOV		A,@0XE0
			SUB		A,DATA_2
			JBS		STATUS,C
			JMP		PWM_START

			
			CLR		DATA_1
			CLR		DATA_2
			CLR		DATA_3
			
P53_AD_LOW:
			BC		R3,6
			MOV		A,@0X00
			MOV		AISR,A
						
			MOV		A,@0XFF
			IOW		0X0D
			
			MOV		A,@0X0F
			IOW		0X0B
			
			MOV		A,@0X08
			MOV		AISR,A
			
			MOV		A,@0X0B
			MOV		ADCON,A
			
			MOV		A,@0X08
			MOV		RE,A
			
			MOV		A,@0X2F
			IOW		0X0E
			WDTC
			MOV		A,@0X0F
			IOW		0X0E		;disable WDT
			
			CALL	DELAY1
			ENI
			
			BS		ADCON,ADRUN
			
			SLEP
			
			NOP
			NOP
			DISI
			NOP
			
			MOV		A,RD
			MOV		DATA_A,A
			MOV		A,RC
			MOV		DATA_B,A
			
			CALL	ADDDATA
			
			DJZ		COUNT
			JMP		P53_AD_LOW
			
			MOV		A,@0X10
			MOV		COUNT,A
			
			MOV		A,@0X10
			SUB		A,DATA_2
			JBS		STATUS,C
			BS		R5_AD,3
			
			
;**********************************************************************************			
PWM_START:
			
			BC		R3,6
			MOV		A,@0X00
			MOV		AISR,A
			
			MOV		A,@0XFF
			IOW		0X0D
			IOW		0X0B
			
			BS		R3,6	;select i/o page1
			MOV		A,@0XFA
			IOW		0X08
			IOW		0X09
			IOW		0X0A
			
			MOV		A,@0XCA		;high low register 1:32
			IOW		0X0B
			
			
			BC		R3,6		;select i/o page0
			
		
			MOV		A,@0X7F
			IOW		0X06
			
			MOV		A,@0X00
			IOW		0X09		;enable TCCC
			MOV		A,@0X09
			IOW		0X0A		;PWM TCCC 1:1
			
			MOV		A,@0X80		;enable LPWTIE
			IOW		0X0F
			
			ENI
			
			JBS		RF_FLAG,7
			JMP		$-1
			
			DISI
			NOP
			NOP
			NOP
			
			BC		R3,6
			MOV		A,@0X40
			IOW		0X0F		;enable HPWTIE
			
			ENI
			
			JBS		RF_FLAG,6
			JMP		$-1
			
			DISI
			NOP
			NOP
			NOP
;**************************************************************************
			
EXT_INT:
			BC		R3,6
			
			MOV		A,@0X4F		;enable /INT
			IOW		0X0E
			
			MOV		A,@0X04
			IOW		0X0F
			
			ENI
			
			JBS		RF_FLAG,2
			JMP		$-1
			
			DISI
CLOSE_PWM:
			BC		R3,6
			MOV		A,@0X00
			IOW		0X09		;enable TCCC
			MOV		A,@0X00
			IOW		0X0A		;PWM TCCC 1:1
			NOP
			NOP
;***********************************************************************
TCC_START:
			BC		R3,6
			
			MOV		A,@0X06
			MOV		TCC,A
			
			MOV		A,@0X09
			CONTW
			
			MOV		A,@0X01
			IOW		0X0F
			
			ENI		
			
			JBS		RF_FLAG,0
			JMP		$-1
			
			NOP
			DISI
			NOP
			NOP
			
			
;****************************************************************************
TCCA_START:
						
			BS		R3,6		;I/O page1
			
			MOV		A,@0X06
			IOW		0X05
			
			BC		R3,6		;I/O  page0
			
			MOV		A,@0X04
			IOW		0X08		;enable TCCA
			
			MOV		A,@0X08
			IOW		0X0F		;enable TCCA interrupter
			
			ENI
			
			JBS		RF_FLAG,3
			JMP		$-1
			
			DISI
			NOP
			NOP
			
;******************************************************************************
TCCB_START:
			MOV		A,@0X40
			IOW		0X09	;enable TCCB disable TCCBH
			
			MOV		A,@0X10
			IOW		0X0F	
			
			BS		R3,6	;I/O page1
			
			MOV		A,@0X06
			IOW		0X06
			IOW		0X07
			
			ENI
			
			JBS		RF_FLAG,4
			JMP		$-1
			
			DISI
			NOP
			NOP
			NOP
			
PORT5_START:
			BC		R3,6
			
			MOV		A,@0XFF
			IOW		0X0B
			
			MOV		A,@0XDF
			IOW		0X0D
			
			CALL	DELAY1
			
			MOV		A,@0X0F
			IOW		0X0E		;disable WDT
			
			MOV		PORT5,PORT5
			
			MOV		A,@0X02
			MOV		RE,A
			
			MOV		A,@0X02
			IOW		0X0F
			
			ENI
			
			SLEP
			
			NOP
			DISI
			NOP
			NOP
			
			PAGE1
			JMP		OUT_TEST
			
;*****************************************************************************
DELAY1:
			MOV		A,@0X30
			MOV		DELAYTEMP,A
			
			DJZ		DELAYTEMP
			JMP		$-1
			
			RET	
;*****************************************************************************
ADDDATA:
			MOV		A,DATA_1
			MOV		MATH1,A
			MOV		A,DATA_2
			MOV		MATH2,A
			MOV		A,DATA_3
			MOV		MATH3,A
			
			MOV		A,DATA_A
			ADD		MATH1,A
			JBS		STATUS,C
			JMP		ADDDATA_B
			
			MOV		A,@0X01
			ADD		MATH2,A
			JBC		STATUS,C
			
			INC		MATH3
			
ADDDATA_B:
			MOV		A,DATA_B
			ADD		MATH2,A
			JBC		STATUS,C
			INC		MATH3
			
			
			MOV		A,MATH1
			MOV		DATA_1,A
			MOV		A,MATH2
			MOV		DATA_2,A
			MOV		A,MATH3
			MOV		DATA_3,A
			
			RET							
			
OUT_TEST:
			NOP
			NOP	
			NOP
			NOP
DISPLAY:
			NOP
			NOP
			NOP
			JMP		DISPLAY																																																														

⌨️ 快捷键说明

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