51单片机之多路工业过程参数巡检系统的设计(汇编语言)

;初始化程序
;===================================================================================
      org	0000h
      jmp	Start
      org	0100h
Start:	

	 MOV	70H,#200 ;上限
	 MOV	71H,#60  ;下限
	 
;===================================================================================

;主程序
;===================================================================================
LOOP:
LCALL	AD
LCALL	XS
LCALL	BJ
;CLR P1.4
LCALL	JP
JMP	LOOP

;===================================================================================

;AD转换
;=====================================================================================
AD:MOV R0,#50H
MOV DPTR,#7FF8H	   ;通道地址
MOVX @DPTR,A
MOV R6,#0AH
DELAY:NOP
      NOP
      NOP
      DJNZ R6,DELAY
      
      MOVX A,@DPTR
      MOV @R0,A  



;=================================


;显示
;=====================================================================================
XS:	 ;MOV  66H,#7BH
         MOV	R1,50H
	 MOV	A,R1
	 MOV	B,#100
	 DIV	AB
	 MOV	51H,A
	 MOV	52H,B
	 MOV	A,52H
	 MOV	B,#10
	 DIV	AB
	 MOV	53H,A
	 MOV	54H,B
	 
;查表显示
	 Mov	DPTR,#TAB
      ;个位
	 MOV	A,54H
	 MOVC	A,@A+DPTR
	 MOV	P0,A
	 CLR	P2.0
	 LCALL	DELAY3
	 SETB	P2.0
      ;十位
	 MOV	A,53H
	 MOVC	A,@A+DPTR
	 MOV	P0,A
	 CLR	P2.1
	 LCALL	DELAY3
	 SETB	P2.1
      ;百位
	 MOV	A,51H
	 MOVC	A,@A+DPTR
	 MOV	P0,A
	 CLR	P2.2
	 LCALL	DELAY3
	 SETB	P2.2
	 RET
;=====================================================================================

;报警
;=====================================================================================
BJ:	 MOV	R1,70H
	 MOV	A,50H
	 SUBB	A,R1
	 JNC	LOOP1
	 MOV	R1,50H
	 MOV	A,71H
	 SUBB	A,R1
	 JNC	LOOP1
	 SETB	P1.4
	 RET
LOOP1:	 CLR	P1.4
	 RET
;=====================================================================================

;键盘
;=====================================================================================
JP:	;MOV	P1,0FFH       	;P1口写入1,设置P1口为输入状态
	MOV	A,P1		;读入8个按键的状态
	CJNE	A,#0FFH,KEY0	;有键按下,跳去抖动

	JC	RETURN
KEY0:	MOV	C,P1.0		;有键按下,读P1.0的按键状态
	JC	KEY1		;P1.0为高,该键未按下,跳KEY1,;判下一个键
	LJMP	PKEY0		;P1.0的键按下,跳PKEY0处理
KEY1:	MOV	C,P1.1		;读P1.1的按键状态
	JC	RETURN		;P1.1为高,该键未按下,跳KEY2,;判下一个键
	LJMP	PKEY1		;P1.1的键按下,跳PKEY1处理

RETURN: RET			;子程序返回
;上/下限
PKEY0:	
	MOV	A,70H
	MOV	50H,A
	MOV 	R4,#08H
DL4:	MOV 	R3,#0AH
DL5:	
	MOV	C,P1.2		;2 有键按下,读P1.0的按键状态
	JNC	PKEY2		;2
	MOV	C,P1.3		;2
	JNC	PKEY3		;2
	LCALL	XS
	DJNZ	R3,DL5
	DJNZ	R4,DL4
	RET
PKEY1:	
	MOV	A,71H
	MOV	50H,A
	MOV 	R4,#08H
DL6:	MOV 	R3,#0AH
DL7:	
	MOV	C,P1.2		;有键按下,读P1.0的按键状态
	JNC	PKEY4
	MOV	C,P1.3
	JNC	PKEY5
	LCALL	XS
	DJNZ	R3,DL7
	DJNZ	R4,DL6
	SETB	P2.2
	CLR	P2.0
	RET
;上限加减
PKEY2:
	 MOV	A,70H
	 ADD	A,#05H
	 MOV	70H,A
	 LCALL	DELAY1
	 JMP	PKEY0
PKEY3:
	 MOV	A,70H
	 SUBB	A,#05H
	 MOV	70H,A
	 LCALL	DELAY1
	 JMP	PKEY0
PKEY4:
	 MOV	A,71H
	 ADD	A,#05H
	 MOV	71H,A
	 LCALL	DELAY1
	 JMP	PKEY1
PKEY5:
	 MOV	A,71H
	 SUBB	A,#05H
	 MOV	71H,A
	 LCALL	DELAY1
	 JMP	PKEY1
;=====================================================================================

;延时	
;=====================================================================================
DELAY1:;0.5S
	MOV 	R7,#16H
DL1:	MOV 	R6,#64H
DL2:	MOV 	R5,#64H
DL3:	DJNZ	R5,DL3
        DJNZ	R6,DL2
	DJNZ	R7,DL1
RET
DELAY2:;0.1S
	MOV 	R7,#05H
DL8:	MOV 	R6,#64H
DL9:	MOV 	R5,#64H
DL10:	DJNZ	R5,DL10
        DJNZ	R6,DL9
	DJNZ	R7,DL8
RET
DELAY3:	;6.6MS
	MOV 	R7,#00H
D8:	MOV 	R6,#01H
D9:	MOV 	R5,#05H
D10:	

DJNZ	R5,D10 
        DJNZ	R6,D9
	DJNZ	R7,D8
RET
;=====================================================================================

;共阳极段码表
;=====================================================================================
TAB:	DB 0C0H,0F9H,0A4H,0B0H,99H
	DB 92H,82H,0F8H,80H,90H
;=====================================================================================
END

在这里插入图片描述

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值