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

📄 easy2416a.asm

📁 嵌入式PLC,基于8051F020,在KEIL上开发,可实现自定义PLC功能
💻 ASM
字号:
$INCLUDE(C8051F040.INC)	; Register definition file.
$INCLUDE(easycore.INC)	; easycore 符号定义
$INCLUDE(EASYCORE.LIB)	; easycore 子程序
EXTRN	CODE(init_configc);
EXTRN	CODE(init_startc);
EXTRN	CODE(init_setc);
EXTRN	CODE(init_runc);
EXTRN	CODE(stepc);
EXTRN	CODE(tmsc);
EXTRN	CODE(scanc);

;================中断向量重定向地址=======================				
				ORG		0E000H				
				ORG		0E003H			;external interrupt0 vecter (INT0)
				ORG		0E013H			;external interrupt1(INT1)
				ORG		0E033H			;Serial Peripheral Interface(SPI)
				ORG		0E03BH			;SMBus interface
				ORG		0E043H			;ADC0 Window Comparator
				ORG		0E04BH			;Programmable Counter Array
				ORG		0E053H			;Comparator 0
				ORG		0E05BH			;Comparator 1
				ORG		0E063H			;Comparator 2	
				ORG		0E07BH			;ADC0 end of Conversion
				ORG		0E083H			;Timer	4
				ORG		0E08BH			;ADC2 end of Conversion
				ORG		0E093H			;ADC2 Window Comparator
	;===============用户应用程序调用入口====================
				
				ORG		0E0A0H		;用户端口初始化
				LJMP		INIT_CONFIG
				
				ORG		0E0A3H		;用户上电初始化
				LJMP		INIT_START

				ORG		0E0A6H		;用户设置初始化
				LJMP		INIT_SET

				ORG		0E0A9H		;用户运行初始化
				LJMP		INIT_RUN
		
				ORG		0E0ACH		;演算周期扫描
				LJMP		SCAN

				ORG		0E0B0H		;指令周期扫描
				LJMP		STEP

				ORG		0E0B3H		;2.5MS周期扫描	;		
				LJMP		TMS

				ORG 		0E100H
;********************************************
INIT_CONFIG:			LCALL		INIT_CONFIGC															
				RET

INIT_START:			LCALL		INIT_STARTC
				LCALL		SCANC;								
				RET

INIT_RUN:			LCALL		INIT_RUNC
				RET

INIT_SET:			LCALL		INIT_SETC
				RET

STEP:				LCALL		stepc
				RET
				

TMS:				;;入栈保存工作寄存器
				MOV		A,R0
				PUSH		ACC
				MOV		A,R1
				PUSH		ACC
				MOV		A,R2
				PUSH		ACC
				MOV		A,R3
				PUSH		ACC
				MOV		A,R4
				PUSH		ACC
				MOV		A,R5
				PUSH		ACC
				MOV		A,R6
				PUSH		ACC
				MOV		A,R7
				PUSH		ACC

				LCALL		TMSC;;内核2.5ms中断程序调用的函数
				;出栈恢复工作寄存器
				POP		ACC
				MOV		R7,A
				POP		ACC
				MOV		R6,A
				POP		ACC
				MOV		R5,A
				POP		ACC
				MOV		R4,A
				POP		ACC
				MOV		R3,A
				POP		ACC
				MOV		R2,A
				POP		ACC
				MOV		R1,A
				POP		ACC
				MOV		R0,A
				RET
			
SCAN:				LCALL		SCANC			
				RET	
				

				END

	
			                                                                                                                                                                                                

⌨️ 快捷键说明

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