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

📄 main.asm

📁 电压控制程序,符合各种设备需要,核心程序,IBm专属
💻 ASM
字号:
//======================================================================
//	The information contained herein is the exclusive property of
//	Sunnnorth Technology Co. And shall not be distributed, reproduced,
//	or disclosed in whole in part without prior written permission.
//	(C) COPYRIGHT 2003 SUNNORTH TECHNOLOGY CO.
//	ALL RIGHTS RESERVED
//	The entire notice above must be reproduced on all authorized copies.
//======================================================================

//======================================================================
//	工程名称:	ex17_asm_ADC_LINE
//	功能描述:	《实验仪实验指导书》基础应用实验
//              A/D转换
//				使用ADC转换器,将输入的0-3.3V电压转换为数字
//				信号并在LED上显示出来
//  IDE环境:   SUNPLUS u'nSPTM  IDE 2.0.0(or later)
//	涉及的库:	CMacro1016.lib
//	组成文件:	main.asm
//	硬件连接:	IOA0连接0-3.3V接口的任一引脚
//				IOB8~15连接LED_SEG接口的a~h
//				LED_DIG接口的IOB6与DIG5相连
//	维护记录:	2005-09-12	v1.0
//
//======================================================================

//======================================================================
//	文件名称:	main.asm
//	功能描述:	使用ADC转换器,将输入的0-3.3V电压转换为数字
//				信号并在LED上显示出来
//	维护记录:	2005-09-12	v1.0
//======================================================================

.DEFINE	P_IOA_Data			0x7000
.DEFINE P_IOA_Buffer		0x7001
.DEFINE P_IOA_Dir			0x7002
.DEFINE P_IOA_Attrib		0x7003
.DEFINE P_IOB_Data			0x7005
.DEFINE P_IOB_Buffer		0x7006
.DEFINE P_IOB_Dir			0x7007
.DEFINE P_IOB_Attrib		0x7008

.DEFINE P_ADC				0x7014
.DEFINE P_ADC_Ctrl			0x7015
.DEFINE P_ADC_MUX_Ctrl		0x702B
.DEFINE P_ADC_MUX_Data		0x702C

.DEFINE P_Watchdog_Clear	0x7012

.RAM

.CODE

//========================================================================
//	汇编格式:	_main
//	C格式:		int main(void);
//	实现功能:	使用ADC转换器,将输入的0-3.3V电压转换为数字
//				信号并在LED上显示出来
//	入口参数:	无
//	出口参数:	无
//	破坏寄存器:r1,r2
//========================================================================

.PUBLIC	_main
_main:
	r1 = 0x0000						//设置IOA口为悬浮输入口
	[P_IOA_Dir] = r1
	r1 = 0xffff
	[P_IOA_Attrib] = r1
	r1 = 0x0000
	[P_IOA_Data] = r1
	
	r1 = 0xffff						//设置IOB口为同相低电平输出口
	[P_IOB_Dir] = r1
	r1 = 0xffff
	[P_IOB_Attrib] = r1
	r1 = 0x0000
	[P_IOB_Data] = r1
	
	r1 = 0x0001						//选择ADC通道0
	[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 &= 0xff00					//取数据的高8位,由IOB的高8位输出
	r1 |= 0x0040					//IOB6输出高电平
	[P_IOB_Data] = r1               //显示这8位数据

	r1 = 0x0001
	[P_Watchdog_Clear] = r1         //清看门狗
	jmp ?Loop
	

⌨️ 快捷键说明

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