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

📄 readadc0.s

📁 基于DsPic30F4011的高精度位置伺服控制系统
💻 S
字号:


;
		.include "general.inc"

; External references
		.include "ReadADC.inc"

; Register usage
		.equ	ParmBaseW,w0  ; Base of parm structure
		.equ 	Work0W,   w4
        .equ 	Work1W,   w5
		
;=================== CODE =====================
		.section  .text
		.global   _ReadADC0
        .global   ReadADC0

_ReadADC0:
ReadADC0:
		;;iResult = 2 * qK * ADCBUF0
		mov.w		[ParmBaseW + ADC_qK],Work0W
		mov.w		_ADCBUF0,Work1W			;;
		
		;;将有符号小数变为无符号小数,即,将
		;;-1 -> .9999转换为0 -> .9999
		btg			Work1W,#15
		lsr.w		Work1W,Work1W
		
		mpy			Work0W*Work1W,A
		sac			A,#-1,Work0W
		mov.w		Work0W,	[ParmBaseW + ADC_qADValue]

		return

		.global   _ReadSignedADC0
        .global   ReadSignedADC0

_ReadSignedADC0:
ReadSignedADC0:
		;;iResult = 2 * qK * ADCBUF0
		
		mov.w		[ParmBaseW + ADC_qK],Work0W
		mov.w		_ADCBUF0,Work1W	
		
		mpy			Work0W*Work1W,A
		sac			A,#-1,Work0W
		mov.w		Work0W,	[ParmBaseW + ADC_qADValue]
		
		return


		.end

⌨️ 快捷键说明

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