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

📄 ad.asm

📁 本文介绍了利用两套SPCE061A精简开发板(简称61板)和两套传感器模组设计的遥控环境测量系统方案:其中利用一套61板作为主控制器
💻 ASM
字号:
//====================================================================================
//文 件 名: AD.asm
//功能描述: 1/2通道A/D转换函数
//维护记录: 2006年6月27         by hongyan.Feng
//====================================================================================
.INCLUDE SPCE061A.inc
.CODE
//==============================================================================
//汇编语言格式:_ADGet
//C语言格式:unsigned int ADGet(void)
//功能描述:通道1的A/D转换函数
//入口参数:无
//出口参数:A/D转换后的10位数据
//===============================================================================
.PUBLIC	_ADGet
_ADGet:
	r1 = 0x0000
	[P_DAC_Ctrl] = r1
	r1 = 0x0001						//选择ADC通道0和通道1
	[P_ADC_MUX_Ctrl] = r1
	
	r1 = 0x0001						//使能ADC
	[P_ADC_Ctrl] = r1
	r1 = [P_ADC_MUX_Data]			//启动ADC
?Loop:
	r1 = [P_ADC_MUX_Ctrl]
	test r1,0x8000					//判断转换是否完成?
	jz ?Loop						//没有则继续转换
	
	r1 = [P_ADC_MUX_Data]			//取转换数据
	r1 = r1 lsr 4
	r1 = r1 lsr 2					//右移六位,把转换后的10位数据移到低10位

	r2 = 0x0001
	[P_Watchdog_Clear] = r2			//清看门狗
	retf
//==============================================================================
//汇编语言格式:_ADGet
//C语言格式:unsigned int ADGet(void)
//功能描述:通道2的A/D转换函数
//入口参数:无
//出口参数:无
//===============================================================================
.PUBLIC	_ADGet1
_ADGet1:
	r1 = 0x0002						//选择ADC通道1
	[P_ADC_MUX_Ctrl] = r1
	r1 = 0x0001						//使能ADC
	[P_ADC_Ctrl] = r1
	r1 = [P_ADC_MUX_Data]			//启动ADC
?Loop:
	r1 = [P_ADC_MUX_Ctrl]
	test r1,0x8000					//判断转换是否完成?
	jz ?Loop						//没有则继续转换
	
	r1 = [P_ADC_MUX_Data]			//取转换数据
	r1 = r1 lsr 4
	r1 = r1 lsr 2					//右移六位,只取八位数据进行显示

	r2 = 0x0001
	[P_Watchdog_Clear] = r2			//清看门狗
	retf


	

⌨️ 快捷键说明

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