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

📄 initio.asm

📁 本文以举例的方式从硬件和软件原理上阐述了如何运用SPBA01B对MCU进行IO扩展、总线扩展和级联使用.
💻 ASM
字号:
.PUBLIC _InitIO
.PUBLIC _ShowRes
.PUBLIC _GetIOAData
.PUBLIC _ClearIOAData

.DEFINE Port_IOA_Attrib 0x7003
.DEFINE Port_IOA_Dir    0x7002
.DEFINE Port_IOA_Data   0x7000

.DEFINE Port_IOB_Attrib 0x7008
.DEFINE Port_IOB_Dir    0x7007
.DEFINE Port_IOB_Data   0x7005

.CODE
_ShowRes: .proc
	push R1, R5 to [SP]
	R5 = SP + 5
	R4 = [R5+3]				//param1	
	[0x7005] = R4
	pop R1, R5 from [SP]
	retf
.endp

_GetIOAData: .proc
	R1 = [Port_IOA_Data]
	retf
.endp

_ClearIOAData: .proc
	R1 = [Port_IOA_Data]
	R1 &= 0x00FF
	[Port_IOA_Data] = R1
	retf
.endp

_InitIO: .proc
	R1=0xFFFF
	[Port_IOB_Attrib] = R1		//Set port B to output
	[Port_IOB_Dir] = R1			//Set port B to output
	R1 = 0
	[Port_IOB_Data] = R1
	R1=0x00FF
	[Port_IOA_Attrib] = R1		//Set port A15-A8 as input, port A7-A0 as output
	[Port_IOA_Dir] = R1
	R1 = 0
	[Port_IOA_Data] = R1
	retf
.endp

.END

⌨️ 快捷键说明

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