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

📄 工业顺序控制1.asm

📁 利用51单片机编写的水泥注塑机的自动控制工业过程
💻 ASM
字号:
	
		PORTA 	EQU   	1FFFH			;8255A口地址
		PORTB 	EQU   	3FFFH			;8255B口地址
		PORTC 	EQU   	5FFFH			;8255C口地址
		CADDR  	EQU   	7FFFH			;8255控制字地址

	   	ORG     00H
		JMP		MAIN
		ORG		0BH
		LJMP	INTT0
		ORG		13H
		LJMP	INTX1

MAIN:	MOV		SP,#60H
		MOV     A,#80H			;方式0
		MOV     DPTR,#CADDR
		MOVX    @DPTR,A			;设置8255工作方式
		
		MOV		TMOD,#01H
		MOV		TH0,#3CH
		MOV		TL0,#0AFH
	
		SETB	ET0
		SETB	EX1
		SETB	EA

		
		MOV		P1,#00H
		
		JB		P3.4,$		;等待开始

L1:		SETB	P1.1		;合模
		MOV		A,#0		;显示“0"
		MOV		R0,#0FEH    ;选通第一位
		CALL	DIS			;显示
		CALL	DELAY1		;延时
		CLR		P1.1

		SETB	P1.2		 ;注射
		MOV		A,#1
		MOV		R0,#0FDH
		CALL	DIS
		CALL	DELAY1
		CLR		P1.2

		SETB	P1.3		 ;延时
		MOV		R1,#06H
		MOV		A,#2
		MOV		R0,#0FBH
		CALL	DIS
L2:		CALL	DELAY1
		DJNZ	R1,L2
		CLR		P1.3

		SETB	P1.4		 ;开模
		MOV		A,#3
		MOV		R0,#0F7H
		CALL	DIS
		CALL	DELAY1
		CLR		P1.4

		SETB	P1.5	   ;产伸
		MOV		A,#4
		MOV		R0,#0EFH
		CALL	DIS
		CALL	DELAY1
		CLR		P1.5

		SETB	P1.6	   ;产退
		MOV		A,#5
		MOV		R0,#0DFH
		CALL	DIS
		CALL	DELAY1
		CLR		P1.6


		JMP		L1

	
;------------延时子程序--------------------------------------
DELAY1:	MOV     R5,#4
D3:		MOV     R6,#250               
D2:     MOV     R7,#250
D1:		NOP
		DJNZ    R7,D1 
		DJNZ    R6,D2
		DJNZ    R5,D3
		RET
;------------数字显示子程序--------------------------------------
DIS:   	MOV		DPTR,#TAB_NU	;查表取显示数据
		MOVC	A,@A+DPTR
		;CPL		A
		MOV   	DPTR,#PORTA             
        MOVX    @DPTR,A 		;显示码送PA口
		MOV		A,R0
		CPL		A
	    MOV   	DPTR,#PORTB             
        MOVX    @DPTR,A 		;PB口显示
		RET


;------------T0中断服务程序----------------------------------------------
INTT0:
		MOV		TH0,#0DCH	   ;赋计时初值
		MOV		TL0,#0AFH
		DJNZ	38H,T0_RET	   ;T0中断够20次?
		MOV		38H,#20
		DJNZ	40H,T0_RET	   ;显示秒数为零?
		SETB	01H			   ;设6秒显示完毕标志位

T0_RET:	RETI
;------------外部中断服务程序--------------------------------------------
INTX1:	PUSH	P1
		PUSH	ACC
		MOV		A,R0
		PUSH	ACC
		MOV		P1,#00H
		MOV		A,#0AH
		MOV		R0,#0BFH
		CALL	DIS
		POP		ACC
		MOV		R0,A
		POP		ACC
		POP		P1
		RETI
;---------------------------------------------------------------------

TAB_NU: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,86H ;0-9-E

        END

⌨️ 快捷键说明

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