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

📄 adchange.asm

📁 应用松翰母体写的一款电磁炉
💻 ASM
字号:
;********************************************************
;  PROJECT NAME : nimh charger				*
;  Author	: borg					*
;  VERSION	: V0.0			      		*
;  BODY		: SN8P2704a				*
;  COMPILER	: 1.99N					*
;  function	: 12 bit ADCChange			*
;  input	:					*
;  output	: data1, data2				*
;  use register	: data1, data2, temp1, temp5, temp4	*
;  use flag	: 					*
;  run cycles	: 					*
; *******************************************************
; 一共进行16次$12 bit ADC转换
; 然后把转换的值加在一起求出平均值放在data1(low byte)和data2(high byte)
adcchange:
;	mov	ADM,A
	clr	Data1
	clr	Data2
	clr	Temp4
	mov_	Temp5,#16
	b0bset	FADLEN			;select 12-bits ADC’s resolution
;	bclr	fgie
	bset	fadcks0
	bset	fadcks1
adcchange10:
	b0bclr	FEOC			;Progressing ADC
	b0bset	FADS			;start ADC
	nop
	
adcchange20:

	b0bts1	FEOC			;test the end of ADC
	jmp	adcchange20

	mov	A,ADR			;其中的低四位是ADC转换结果的低四位
	and	A,#0FH
	mov	Temp1,A
	swap	Temp1
	add	Temp4,A
	mov	A,ADB
	adc	Data1,A			;//;//For the low byte add carry
	mov	A,#0
	adc	Data2,A
	decms	Temp5
	jmp	adcchange10

	mov	A,temp4			;//if the low bit of the Sum.>80h  ++1
	sub	A,#80h
	mov	A,#00h
	adc	Data1,A
	adc	Data2,A
	
adcchange90:
;	bset	fgie
	ret

⌨️ 快捷键说明

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