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

📄 lpc936

📁 单轴简易伺服电机控制系统
💻
📖 第 1 页 / 共 4 页
字号:
	MOV		R0,#E2P_4

PGM_USERB:
	MOV 	FMCON,#LOAD				 ;;装载命令,清除页寄存器
	MOV 	FMADRH,R5				 ;	;写入高地址
	MOV 	FMADRL,R4				 ;;写入低地址
LOAD_PAGE:

	MOV		FMDATA,@R0		;;数据写入页寄存器
	INC 	R0 				;;指向下一个字节
	DJNZ 	R2,LOAD_PAGE	;	 ;一直操作直至编程字节数为零
PGM_U2:
	MOV 	FMCON,#EP		; ;否则擦除和编程页
	MOV 	R0,FMCON 		;;备份返回的状态
	MOV 	A,R0 			;;读状态
	ANL 	A,#0FH 			;;保存低四位
	JNZ 	BAD				 ;;
	CLR 	C 				;;如果操作无误,清除错误标志
	RET 			;;返回
BAD:
SETB C 			;;设置错误标志
RET 		;;返回
;**************************
	LJMP 	ERR
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

IBOE:
RETI
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
E2P_XL:
	MOV		A,@R0
	MOV		R0,#E2P_4
	MOV		@R0,A
	MOV		R2,#1
	MOV		R4,#LOW(E2PC)
	MOV		R5,#HIGH(E2PC)
	ACALL	PGM_USERB
	RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
START:
	
	MOV		R7,#10
ST1:
	MOV		IEn0,#0
	MOV		SP,#0e2H
	MOV		A,PCON
	CLR		ACC.5
	CLR		ACC.4
	MOV		PCON,A
	ORL		PCONA,#0bfH  
;;;;;;;;;;;;;;;;;;;;;;;;;;
	MOV		WDL,#0250
	MOV		A,WDCON
	ANL		A,#1FH
	MOV		WDCON,A
	MOV		WFEED1,#0A5H
	MOV		WFEED2,#05AH
;;;;;;;;;;;;;;;;;;;;;;;;;;;;		
	MOV		A,RSTSRC
	anl		a,#3fh
	cjne	a,#30h,ST4
	ANL		RSTSRC,#0c0H
	sjmp	st2
st4:
	SETB	F0
	ANL		RSTSRC,#0c0H
	SJMP	ST3
st2:
	DJNZ 	R6,$
	LCALL	CLRWDT
	DJNZ 	R7,ST2
	LCALL	IOINIT
	LCALL	INTLCD
	SETB	F0
ST3:
	LCALL	RAMINIT
	LCALL	INTGXP		;E2PROM数据恢复
	LCALL	IOINIT
	MOV		62H,#10
	MOV		IEN1,#0	;|---|EST| - | - | -  |EC |EKBI|EI2C|	
	MOV		IEN0,#0A8h	;#0A8H
	MOV		IP0,#022H
	MOV		IP0H,#020H
	lcall RE2PROM1

	LCALL	TMINIT
	LCALL	DELAY
	LCALL	DELAY
	LCALL	DELAY
	LCALL	DELAY
	LCALL	DELAY
	LCALL	DELAY
	LCALL	DELAY
	LCALL	DELAY
	LCALL	LCDSETUP
	MOV		A,#1
	LCALL	LCDW_COM
	MOV		R7,#20
	LCALL	DELAY 		;显示初始化
	LCALL	DELAY
	LCALL	DELAY
	LCALL	DELAY

	SETB	LCDE
ST7:

mov r0,#tmrh
mov a,@r0
anl a,#03h
jnz st9
mov a,#01h
clr c
subb a,tmrl
jc st9
clr l_ret
sjmp st8
st9:
setb l_ret
st8:
	MOV		A,PCON
	SETB 	ACC.0
	CLR	 	ACC.1
	MOV		PCON,A		;进入空闲模式

	LCALL	IOINIT
	SETB	P1.5
	SJMP	ST7
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


	mov a,4eh
	mov b,42h
	inc a
	inc b
	mul ab
	dec a
	mov dptr,#TABSPEED
	CLR C
	RLC A
	JNC SSS0
	INC DPH
SSS0:
	ADD A,DPL
	MOV DPL,A
	CLR A
	ADDC A,DPH
	MOV DPH,A
	CLR A
	movc a,@a+dptr
	mov r3,a
	CLR A
	INC DPTR
	movc  a,@a+dptr
CPL A
ADD A,#1
MOV R2,A
MOV A,R3
CPL A
ADDC A,#0
	clr ea
	mov 49h,R2
	mov 48h,A
	setb ea
	ret
;;;;;;;;;;;;;;;;;;;;;;;;;
SPEED:
mov a,42h
xrl a,43h
mov r4,#0
jz speed0
MOV R2,#0
MOV R3,43H
MOV R4,42h

MOV R7,#5
LCALL  NDIV31  ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
speed0:
MOV A,R4
MOV B,#3
MUL AB
MOV DPTR,#TABSPEED
ADD A,DPL
MOV DPL,A
MOV A,DPH
ADDC A,B
MOV DPH,A
CLR A
MOVC A,@A+DPTR
MOV 4BH,A
INC DPTR
CLR A
MOVC A,@A+DPTR
MOV 4CH,A
INC DPTR
CLR A
MOVC A,@A+DPTR
MOV 4DH,A
MOV R2,4BH
MOV R3,4CH
MOV R4,4DH
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
speedaaa:

mov r7,4eh
inc  R7
LCALL NDIV31
mov a,r2
jz speed1
;mov r3,#0
;mov r4,#0
speed1:
clr a
clr c
subb a,r4
mov r4,a
clr a
subb a,r3
	clr ea
	MOV 48H,A
	MOV 49H,R4
	setb	ea
	ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
RE2PROM:
anl deecon,#0eh
clr ea
mov deeadr,#0
setb ea
RE2PROM0:
mov a,deecon
jnb acc.7,RE2PROM0
mov a,deedat
ret
RE2PROM1:
lcall RE2PROM
mov 4eh,a
	MOV A,#15
	CJNE  A,4EH,INaa0
INaa0:
	JNC  INaa1
		MOV 4EH,#15
lcall we2prom
INaa1:

RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

WE2PROM:
mov a,deecon
jnb acc.7,WE2PROM
anl deecon,#0eh
clr ea
mov deedat,4eh
mov deeadr,#0h
setb ea
RET
;**************************
T00:							;各轴进给定时器
	PUSH	PSW
	PUSH	ACC
	SETB	RS0
	clr rs1
	MOV		A,R0
	PUSH	ACC
;mov th0,#0fdh
;mov tl0,#01FH
Mov th0,48h
mov tl0,49h
;	MOV R0,#0A1H
;	MOV TL0,@R0
;	DEC R0
;	MOV TH0,@R0
	JNB PUSDIV,T00A
;	anl p0,#9fh
clr dir1
clr pus1
	LJMP T0A20
T00A:
	JNB		C1G,T0A11
	MOV		C,C1DIR
	LCALL	DIRPUS1
T0A13:
	MOV		R0,#G1X
	MOV		F0,C
	MOV		C,X1DIR
	LCALL	INDE
	MOV		X1DIR,C
	SJMP	T0A20
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
T0A11:
	JNB		G1ING,T0A20
	MOV		A,G1PING
	ORL		A,G1PING+1
	ORL		A,G1PING+2
	JNZ		T0A12
	CLR		G1ING			;进给完毕,清除进给标志G1ING
	SJMP	T0A20
T0A12:
	MOV		C,G1DIR
	LCALL	DIRPUS1
	MOV		R0,#G1PING
	LCALL	DEC1
	MOV		C,G1DIR			;G1DIR:点动进给方向
	SJMP	T0A13
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
T0A20:
	CPL		PUSDIV
;	ACALL	SAVERAM
	POP		ACC
	MOV		R0,A
	POP		ACC
	POP		PSW
	RETI					   ;;;;;;;;78个时钟周期
	LJMP 	ERR

;单字节无符号数乘法程序 (R3R4*R7)=(R2R3R4)
;入口    :R3,R4,R7
;占用资源:ACC,B
;堆栈需求:2字节
;出口    :R2,R3,R4
NMUL21   :MOV    A,R4
          MOV    B,R7
          MUL    AB
          MOV    R4,A
          MOV    A,B
          XCH    A,R3
          MOV    B,R7
          MUL    AB
          ADD    A,R3
          MOV    R3,A
          CLR    A
          ADDC   A,B
          MOV    R2,A
          CLR    OV
          RET


;单字节无符号除法程序 (R2R3R4/R7)=(R2)R3R4 余数R7
;入口    :R2,R3,R4,R7
;占用资源:ACC,B,F0
;堆栈需求:3字节
;出口    :(R2),R3,R4,R7,OV
NDIV31   :MOV    A,R2
          MOV    B,R7
          DIV    AB
          PUSH   Acc
          MOV    R2,B
          MOV    B,#10H
NDV311   :CLR    C
          MOV    A,R4
          RLC    A
          MOV    R4,A
          MOV    A,R3
          RLC    A
          MOV    R3,A
          MOV    A,R2
          RLC    A
          MOV    R2,A
          MOV    F0,C
          CLR    C
          SUBB   A,R7
          JB     F0,NDV312
          JC     NDV313
NDV312   :MOV    R2,A
          INC    R4
NDV313   :DJNZ   B,NDV311
          POP    Acc
          CLR    OV
          JZ     NDV314
          SETB   OV
NDV314   :XCH    A,R2
          MOV    R7,A
          RET





ORG 3800H
TABSPEED:
DB 1bh,00,00
DB 1BH,0,0
DB 0DH,80H,0
DB 09,0,0
DB 6,0C0H,0
DB 5,66H,66H
DB 4,80H,0
DB 3,0DBH,6DH
DB 3,60H,0
DB 3,0,0
DB 2,0B3H,33H
DB 2,74H,5DH
DB 2,40H,0
DB 2,13H,0B1H
DB 	1,0EDH,0B6H
DB 	1,0CCH,0CCH



;1
DB 	1,0B0H,0
DB 	1,96H,96H
DB 	1,80H,0
DB 	1,6BH,0CAH
DB 	1,59H,99H
DB  1,49H,24H
DB 	1,3AH,2EH
DB  1,2CH,85H
DB 	1,20H,0
DB 	1,14H,7AH
DB 	1,9,0D8H
DB 1, 0,0
DB 0,0F6H,0DBH
DB 0, 0EEH,58H
DB 0, 0E6H,066H
DB 0,0DEH,0F7H



;2
DB 0,0D8H,0
DB 0, 0D1H,74H
DB 0,  0CBH,4BH
DB 0,  0C5H,7CH
DB 0,  0C0H,0
DB 0,	0BAH,0CFH
DB 0,  0B5H,0E5H
DB 0,  0B1H,3BH
DB 0,  0ACH,0CCH
DB 0,  0A8H,95H
DB 0,  0A4H,92H
DB 0,  0A0H,0BEH
DB 0, 9DH,17H
DB 0, 99H,99H
DB 0, 96H,42H
DB 0, 93H,10H



;3
DB 0,90H,0
DB 0, 8DH,0FH
DB 0, 8AH,3DH
DB 0, 87H,87H
DB 0, 84H,0ECH
DB 0,82H,6AH
DB 0, 80H,0
DB 0, 7DH,0ACH
DB 0, 7BH,6DH
DB 0, 79H,43H
DB 0, 77H,2CH
DB 0,  75H,27H
DB 0,  73H,33H
DB 0,  71H,4FH
DB 0,  6FH,7BH
DB 0,	6DH,0B6H



;4
DB 0, 6CH,0
DB 0, 6AH,56H
DB 0,  68H,0BAH
DB 0,  67H,2AH
DB 0,  65H,0A5H
DB 0,  64H,2CH
DB 0,  62H,0BEH
DB 0,  61H,5AH
DB 0,  60H,0
DB 0,  5EH,0AFH
DB 0,  5DH,67H
DB 0,  5CH,28H
DB 0,  5AH,0F2H
DB 0,  59H,0C4H
DB 0,  58H,9DH
DB 0,  57H,7EH



;5
DB 0, 56H,66H
DB 0, 55H,55H
DB 0, 54H,4AH
DB 0, 53H,46H
DB 0, 52H,49H
DB 0, 51H,51H
DB 0, 50H,5FH
DB 0, 4FH,72H
DB 0, 4EH,8BH
DB 0, 4DH,0A9H
DB 0, 4CH,0CCH
DB 0, 4BH,0F4H
DB 0, 4BH,21H
DB 0, 4AH,52H
DB 0, 49H,88H
DB 0,  48H,0C2H



;6
DB 0,48H,0
DB 0,47h,41h
DB 0,46H,87H
DB 0,45H,0D1H
DB 0, 45H,1EH
DB 0, 44H,6FH
DB 0,43H,0C3H
DB 0,43H,1BH
DB 0,42H,76H
DB 0,41H,0D4H
DB 0,41H,35H
DB 0,40H,99H
DB 0,40H,0
DB 0,3FH,69H
DB 0,3EH,0D6H
DB 0,3EH,45H



;7
DB 0,3DH,0B6H
DB 0,3DH,2BH
DB 0, 3CH,0A1H
DB 0, 3CH,1AH
DB 0, 3BH,96H
DB 0, 3BH,13H
DB 0, 3AH,93H
DB 0, 3AH,15H
DB 0, 39H,99H
DB 0,  39H,1FH
DB 0,  38H,0A7H
DB 0,  38H,31H
DB 0,  37H,0BDH
DB 0,  37H,4BH
DB 0,  36H,0DBH
DB 0,  36H,6CH



;8
DB 0, 36H,00H
DB 0, 35H,94H
DB 0,  35H,2BH
DB 0,	34H,0C3H
DB 0,  34H,5DH
DB 0,  33H,0F8H
DB 0,  33H,95H
DB 0,  33H,33H
DB 0,	32H,0D2H
DB 0,	32H,73H
DB 0,	32H,16H
DB 0,  31H,0BAH
DB 0,  31H,5FH
DB 0, 31H,05H
DB 0, 30H,0ADH
DB 0, 30H,55H



;9
DB 0,30H,0
DB 0, 2FH,0ABH
DB 0, 2FH,57H
DB 0, 2FH,05H
DB 0, 2EH,0B3H
DB 0, 2EH,63H
DB 0,  2EH,14H
DB 0,  2DH,0C6H
DB 0,  2DH,79H
DB 0, 2DH,2DH
DB 0, 2CH,0E2H
DB 0,  2CH,97H
DB 0,  2CH,4EH
DB 0,  2CH,06H
DB 0,  2BH,0BFH
DB 0,  2BH,78H



;A
DB 0,2BH,33H
DB 0, 2AH,0EEH
DB 0, 2AH,0AAH
DB 0, 2AH,67H
DB 0, 2AH,25H
DB 0, 29H,0E4H
DB 0, 29H,0A3H
DB 0, 29H,63H
DB 0,  29H,24H
DB 0, 28H,0E6H
DB 0, 28H,0A8H
DB 0, 28H,6BH
DB 0, 28H,2FH
DB 0,  27H,0F4H
DB 0,  27H,0B9H
DB 0,	27H,7FH



;B
DB 0,27H,45H
DB 0,27H,0DH
DB 0,26H,0D4H
DB 0,26H,9DH
DB 0, 26H,66H
DB 0, 26H,30H
DB 0, 25H,0FAH
DB 0, 25H,0C5H
DB 0, 25H,90H
DB 0, 25H,5CH
DB 0, 25H,29H
DB 0, 24H,0F6H
DB 0, 24H,0C4H
DB 0,24H,92H
DB 0, 24H,61H
DB 0, 24H,30H



;C
DB 0,24H,0
DB 0,23H,0D0H
DB 0,23H,0A0H
DB 0, 23H,72H
DB 0, 23H,43H
DB 0, 23H,16H
DB 0, 22H,0E8H
DB 0,22H,0BBH
DB 0,22H,8FH
DB 0,22H,63H
DB 0,22H,37H
DB 0,22H,0CH
DB 0,21H,0E1H
DB 0,21H,0B7H
DB 0,21H,8DH
DB 0,21H,64H



;D
DB 0,21H,3BH
DB 0,21H,12H
DB 0,20H,0EAH
DB 0,20H,0C2H
DB 0,20H,9AH
DB 0, 20H,73H
DB 0,20H,4CH
DB 0,20H,26H
DB 0, 20H,0
DB 0, 1FH,0DAH
DB 0, 1FH,0B4H
DB 0,  1FH,8FH
DB 0,  1FH,6BH
DB 0,  1FH,46H
DB 0, 1FH,22H
DB 0,1EH,0FEH



;E
DB 0,1EH,0DBH
DB 0,1EH,0B8H
DB 0, 1EH,95H
DB 0, 1EH,73H
DB 0, 1EH,50H
DB 0, 1EH,2EH
DB 0,  1EH,0DH
DB 0, 1DH,0ECH
DB 0, 1DH,0CBH
DB 0, 1DH,0AAH
DB 0, 1DH,89H
DB 0, 1DH,69H
DB 0, 1DH,49H
DB 0,  1DH,2AH
DB 0,	1DH,0AH
DB 0,	1CH,0EBH



;F
DB 0,1CH,0CCH
DB 0,1CH, 0AEH
DB 0,1CH,8FH
DB 0,1CH, 71H
DB 0,1CH, 53H
DB 0,1CH, 36H
DB 0,1CH, 18H
DB 0,1BH,0FBH
DB 0,1BH, 0DEH
DB 0,1BH,0C2H
DB 0,1BH,0A5H
DB 0,1BH, 89H
DB 0,1BH, 6DH
DB 0,1BH, 51H
DB 0,1BH, 36H
DB 0,1BH, 1BH

;ORG	0C00H

TAB0: DB ' -- 岩祺科技 -- '
TAB1: DB '    联系电话    '
TAB2: DB ' 131,0011,6660  '
TAB3: DB ' 139,3515,5175  '

TAB4: DB '0123456789ABCDEF'

TAB5: DB '进刀量'
	  DB '反间隙'
	  DB '左侧:'
	  DB '右侧:'
TAB6: DB 011H,033H,077H,0FFH


TABSPED:
DB ' ','1'
DB ' ','2'
DB ' ','3'
DB ' ','4'

DB ' ','5'
DB ' ','6'
DB ' ','7'
DB ' ','8'
DB ' ','9'
DB '1','0'
DB '1','1'
DB '1','2'
DB '1','3'
DB '1','4'
DB '1','5'
DB '1','6'
TAB9:DB ' ** 太原一机 ** '
TAB8:DB ' *小蓉工作室*   '
TAB10:DB '太原第一机床厂  '
tab11:db '急停限位'
TAB12:DB '    专注的力量  '
TAB13:DB '  成就梦想!    '
END

⌨️ 快捷键说明

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