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

📄 set.asm

📁 中颖单片机
💻 ASM
字号:
;========================================================================;RF Set Program;67P33C,67P33x,Int4Mhz,1/4;;;========================================================================include "DEF.H"		org	0000h		jmp	Reset		nop		jmp	Timer0Sub		nop		jmp	PIntSub		nopReset:		call	ClrRamSub		call	InitialSubMain:		ldi	WDT,1000b		;Key?		lda	PB,0		ba3	ChkKeyHoldTime		lda	PD,0		sta	TMP,0		andim	TMP,0111b		sta	TMP,0		sbi	TMP,0		bnz	ChkKeyHoldTime		lda	PC,0		ba0	ChkKeyHoldTime		ba1	ChkKeyHoldTime		jmp	ToStopChkKeyHoldTime:			adim	HaltCnt0,1		ldi	TMP,0		adcm	HaltCnt1,0		ldi	TMP,0		adcm	HaltCnt2,0				sbi	HaltCnt0,_ValidKeyHoldTime&0fh		ldi	TMP,_ValidKeyHoldTime/16&0fh		sbc	HaltCnt1,0		ldi	TMP,_ValidKeyHoldTime/256&0fh		sbc	HaltCnt2,0		bnc	ToHalt		;Key有效KeyValid:if	_SingleChan;====================================================		lda	PD,0		ba1	SetBKey		jmp	ToStopSetBKey:			ldi	Data0B,4		ldi	Data1B,15-4		ldi	Data2B,11		ldi	Data3B,15-11		jmp	ToSetData;====================================================endifif	_4Chan;====================================================;		lda	PB,0;		ba3	SetAKey		lda	PD,0		ba1	SetBKey		ba0	SetCKey		ba2	SetDKey		lda	PC,0		ba0	SetAKey		jmp	ToStopSetAKey:			ldi	Data1B,1		ldi	Data0B,15-1		ldi	Data2B,10		ldi	Data3B,15-10		jmp	ToSetDataSetBKey:			ldi	Data1B,3		ldi	Data0B,15-3		ldi	Data2B,11		ldi	Data3B,15-11		jmp	ToSetDataSetCKey:			ldi	Data1B,5		ldi	Data0B,15-5		ldi	Data2B,12		ldi	Data3B,15-12		jmp	ToSetDataSetDKey:			ldi	Data1B,7		ldi	Data0B,15-7		ldi	Data2B,13		ldi	Data3B,15-13		jmp	ToSetDataSetEKey:			ldi	Data1B,9		ldi	Data0B,15-9		ldi	Data2B,14		ldi	Data3B,15-14		jmp	ToSetData;====================================================endifif	_5Chan;====================================================		lda	PB,0		ba3	SetAKey		lda	PD,0		ba1	SetBKey		ba0	SetCKey		ba2	SetDKey		lda	PC,0		ba0	SetEKey		jmp	ToStopSetAKey:			ldi	Data1B,1		ldi	Data0B,15-1		ldi	Data2B,10		ldi	Data3B,15-10		jmp	ToSetDataSetBKey:			ldi	Data1B,3		ldi	Data0B,15-3		ldi	Data2B,11		ldi	Data3B,15-11		jmp	ToSetDataSetCKey:			ldi	Data1B,5		ldi	Data0B,15-5		ldi	Data2B,12		ldi	Data3B,15-12		jmp	ToSetDataSetDKey:			ldi	Data1B,7		ldi	Data1B,15-7		ldi	Data2B,13		ldi	Data3B,15-13		jmp	ToSetDataSetEKey:			ldi	Data1B,9		ldi	Data0B,15-9		ldi	Data2B,14		ldi	Data3B,15-14		jmp	ToSetData;====================================================endifif	_6Chan;====================================================		lda	PB,0		ba3	SetAKey		lda	PD,0		ba1	SetBKey		ba0	SetCKey		ba2	SetDKey		lda	PC,0		ba0	SetEKey		ba1	SetFKey		jmp	ToStopSetAKey:			ldi	Data1B,1		ldi	Data0B,15-1		ldi	Data2B,10		ldi	Data3B,15-10		jmp	ToSetDataSetBKey:			ldi	Data1B,3		ldi	Data0B,15-3		ldi	Data2B,11		ldi	Data3B,15-11		jmp	ToSetDataSetCKey:			ldi	Data1B,5		ldi	Data0B,15-5		ldi	Data2B,12		ldi	Data3B,15-12		jmp	ToSetDataSetDKey:			ldi	Data1B,7		ldi	Data0B,15-7		ldi	Data2B,13		ldi	Data3B,15-13		jmp	ToSetDataSetEKey:			ldi	Data1B,9		ldi	Data0B,15-9		ldi	Data2B,14		ldi	Data3B,15-14		jmp	ToSetDataSetFKey:			ldi	Data1B,11		ldi	Data0B,15-9		ldi	Data2B,15		ldi	Data3B,15-15		jmp	ToSetData;====================================================endifToSetData:		nop		;查ID-->Data9B~Data6B;Data5B~Data2B		ldi	TBR,0fh		ldi	TMP,0		call	IDTable		sta	Data2B,0		sta	Data6B,0		eorim	Data6B,1111b		lda	TBR,0		sta	Data3B,0		sta	Data7B,0		eorim	Data7B,1111b				ldi	TBR,0fh		ldi	TMP,1		call	IDTable		sta	Data4B,0		sta	Data8B,0		eorim	Data8B,1111b		lda	TBR,0		sta	Data5B,0		sta	Data9B,0		eorim	Data9B,1111b				call	SetHeadSub		call	SetDataSub		call	SetDataSub		call	SetDataSub		call	SetDataSub		call	SetDataSub		call	SetDataSub		call	SetEndSub		jmp	ToStopToHalt:				ldi	WDT,1000b		ldi	TM0,0010b		;/128		ldi	T0L,2			;单位:128uS, 10mS=78		ldi	T0H,11		ldi	IRQ,0000b		ldi	IE,0100b		Halt		nop		nop		nop		nop		nop		jmp	MainToStop:				call	InitialSub		ldi	IRQ,0000b		ldi	IE,0001b		stop		nop		nop		nop		nop		nop		nop		call	InitialSub		ldi	HaltCnt0,0		ldi	HaltCnt1,0		ldi	HaltCnt2,0				jmp	Main;===================================================================;===================================================================;InitialSub:;4MHZ/16,Tcpu=4uS		ldi	IE,0		ldi	IRQ,0		ldi	TM0,0010b		;/128		ldi	T0L,2			;单位:128uS, 10mS=178		ldi	T0H,11		ldi	PA,0000b		ldi	PB,0000b		ldi	PC,0000b		ldi	PD,0000b		ldi	PE,0000b		ldi	PACR,1111bif	_SingleChan		ldi	PBCR,1111b		ldi	PCCR,1111b				ldi	PDCR,1101bendif		if	_4Chan		ldi	PBCR,1111b		ldi	PCCR,1110b		ldi	PDCR,1000bendif		if	_5Chan		ldi	PBCR,0111b		ldi	PCCR,1110b		ldi	PDCR,1000bendif		if	_6Chan		ldi	PBCR,0111b		ldi	PCCR,1100b		ldi	PDCR,1000bendif				ldi	PECR,1111b		ldi	RM,0		ldi	TBR,0		ldi	DPL,0		ldi	DPM,0		ldi	DPH,0		ldi	PULL,0		ldi	LVR,1010b		;Disable		ldi	CFL0,0		ldi	CFL1,0		ldi	CFH0,0		ldi	CFH1,0				rtni;===================================================================;===================================================================PIntSub:	sta	ACCBUF,0	andim	IRQ,1110b		ldi	IE,0001b	lda	ACCBUF,0	rtni;===================================================================Timer0Sub:	sta	ACCBUF,0	andim	IRQ,1011b		ldi	IE,0100b	lda	ACCBUF,0	rtni;===================================================================												;===================================================================include "SUB.ASM"				end

⌨️ 快捷键说明

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