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

📄 简易信号测量仪(程序).txt

📁 这个是在参加电子设计大赛时的作品
💻 TXT
📖 第 1 页 / 共 2 页
字号:
	MOV	R1,#DT_B7	;转换后存放的第一个显存地址
DIS_TFT2:LCALL	CHUFA
	MOV	@R1,JS_C1	
	DEC	R1
	DJNZ	R2,DIS_TFT2
	MOV	DT_B8,#26	;u
	MOV	DT_B9,#17	;S
	RET	
;==============================
DIS_WD:	MOV	JS_A4,#00H	;要转换的数
	MOV	JS_A3,W_D3	
	MOV	JS_A2,W_D2	
	MOV	JS_A1,W_D1
	MOV	JS_B4,#0	;除以10
	MOV	JS_B3,#0
	MOV	JS_B2,#0
	MOV	JS_B1,#10
	MOV	R2,#6		;要转换出来的位数
	MOV	R1,#DT_C6	;转换后存放的第一个显存地址
DIS_WD1:LCALL	CHUFA
	MOV	@R1,JS_C1
	DEC	R1
	DJNZ	R2,DIS_WD1
	MOV	DT_C7,#26	;u
	MOV	DT_C8,#17	;S
	
	MOV	JS_A4,#0	;要转换的数
	MOV	JS_A3,#0	
	MOV	JS_A2,D_D2	
	MOV	JS_A1,D_D1
	MOV	JS_B4,#0	;除以10
	MOV	JS_B3,#0
	MOV	JS_B2,#0
	MOV	JS_B1,#10
	MOV	DT_D8,#23
	LCALL	CHUFA
	MOV	DT_D7,JS_C1	
	MOV	DT_D6,#10
	LCALL	CHUFA	
	MOV	DT_D5,JS_C1
	LCALL	CHUFA
	MOV	DT_D4,JS_C1	
	RET
;===========================
DIS_VPP:MOV	JS_A4,#00H	;要转换的数
	MOV	JS_A3,#00H	
	MOV	JS_A2,VPP_D2	
	MOV	JS_A1,VPP_D1
	MOV	JS_B4,#0	;除以10
	MOV	JS_B3,#0
	MOV	JS_B2,#0
	MOV	JS_B1,#10
	MOV	R2,#3		;要转换出来的位数
	MOV	R1,#DT_D5	;转换后存放的第一个显存地址
DIS_VPP1:LCALL	CHUFA
	MOV	@R1,JS_C1
	DEC	R1
	DJNZ	R2,DIS_VPP1
	MOV	DT_D6,#0
	MOV	DT_D7,#24	;m
	MOV	DT_D8,#19	;V	
	RET
;==============================	
DIS_X:	MOV	JS_A4,#00H	;要转换的数
	MOV	JS_A3,X_D3
	MOV	JS_A2,X_D2	
	MOV	JS_A1,X_D1
	MOV	JS_B4,#0	;除以10
	MOV	JS_B3,#0
	MOV	JS_B2,#0
	MOV	JS_B1,#10
	MOV	R2,#3		;要转换出来的位数
	MOV	R1,#DT_C7	;转换后存放的第一个显存地址
DIS_X1:	LCALL	CHUFA
	MOV	@R1,JS_C1
	DEC	R1
	DJNZ	R2,DIS_X1
	MOV	DT_C8,#22	;.
	RET
;===========================
DIS_JX: SETB	A34
	JB	A34,DIS_JX1
	MOV	DT_C4,#27	;+
	RET
DIS_JX1:MOV	DT_C4,#28	;-		
	RET
;==========================
T_DIV4:	MOV	JS_A4,#00H	;计数的值
	MOV	JS_A3,T_D3	
	MOV	JS_A2,T_D2	
	MOV	JS_A1,T_D1
	MOV	JS_B4,#0	;除以10
	MOV	JS_B3,#0
	MOV	JS_B2,#0
	MOV	JS_B1,#4
	LCALL	CHENFA
	MOV	T_D3,JS_A3
	MOV	T_D2,JS_A2
	MOV	T_D1,JS_A1
	RET
;=============================
W_DIV4:	MOV	JS_A4,#00H	;计数的值
	MOV	JS_A3,W_D3	
	MOV	JS_A2,W_D2	
	MOV	JS_A1,W_D1
	MOV	JS_B4,#0	;除以10
	MOV	JS_B3,#0
	MOV	JS_B2,#0
	MOV	JS_B1,#4
	LCALL	CHENFA
	MOV	W_D3,JS_A3
	MOV	W_D2,JS_A2
	MOV	W_D1,JS_A1
	RET
;=============================
JS_DIV4:MOV	JS_A4,#0	;计数的值
	MOV	JS_A3,R0
	MOV	JS_A2,TH0	
	MOV	JS_A1,TL0
	MOV	JS_B4,#0	;除以10
	MOV	JS_B3,#0
	MOV	JS_B2,#0
	MOV	JS_B1,#4
	LCALL	CHENFA
	MOV	R0,JS_A3
	MOV	TH0,JS_A2
	MOV	TL0,JS_A1
	RET	
;============================
VPP_DIV2:MOV	JS_A4,#0	;计数的值
	MOV	JS_A3,#0
	MOV	JS_A2,VPP_D2	
	MOV	JS_A1,VPP_D1
	MOV	JS_B4,#0	;乘以2
	MOV	JS_B3,#0
	MOV	JS_B2,#0
	MOV	JS_B1,#2
	LCALL	CHENFA
	MOV	VPP_D2,JS_A2
	MOV	VPP_D1,JS_A1
	RET	
;============================
OUT_1S:	SETB	A81
	SETB	A80
	CLR	CS_
	MOV	DD,#00110110B
	CLR	WR_
	SETB	WR_
	MOV	DD,#01110110B
	CLR	WR_
	SETB	WR_
	CLR	A81
	CLR	A80
	MOV	DD,#0D0H
	CLR	WR_
	SETB	WR_
	MOV	DD,#007H
	CLR	WR_
	SETB	WR_
	CLR	A81
	SETB	A80
	MOV	DD,#0D0H
	CLR	WR_
	SETB	WR_
	MOV	DD,#007H
	CLR	WR_
	SETB	WR_
	SETB	CS_		
	RET
;========================
OUT_4US:SETB	A81
	SETB	A80
	CLR	CS_
	MOV	DD,#00110110B
	CLR	WR_
	SETB	WR_
	CLR	A81
	CLR	A80
	MOV	DD,#8
	CLR	WR_
	SETB	WR_
	MOV	DD,#0
	CLR	WR_
	SETB	WR_
	SETB	CS_	
	RET
;========================	;指示波形	
ZS_BX:	JB	ZXB,ZS_BX1
	JB	FB,ZS_BX2
	SETB	ZXB_D
	SETB	FB_D
	RET
ZS_BX1:	CLR	ZXB_D
	SETB	FB_D
	RET
ZS_BX2:CLR	FB_D
	SETB	ZXB_D
	RET	
;======================
XIANSHI:MOV	A,#25
	MOV	R1,#DT_A1
	MOV	R2,#5
XS2:	CJNE	@R1,#0,XS1
	MOV	@R1,A
	INC	R1
	DJNZ	R2,XS2
XS1:	MOV	R1,#DT_B1
	MOV	R2,#7
XS3:	CJNE	@R1,#0,XS4
	MOV	@R1,A
	INC	R1
	DJNZ	R2,XS3
XS4:	MOV	R1,#DT_C1
	MOV	R2,#6
XS5:	CJNE	@R1,#0,XS6
	MOV	@R1,A
	INC	R1
	DJNZ	R2,XS5
XS6:	MOV	R1,#DT_D1
	MOV	R2,#6
XS7:	CJNE	@R1,#0,XS8
	MOV	@R1,A
	INC	R1
	DJNZ	R2,XS7
XS8:	
	MOV	DPTR,#TAB
	MOV 	P1,#01H ;清除屏幕
	ACALL 	ENABLE 
	MOV 	P1,#38H ;8位点阵
	ACALL 	ENABLE 
	MOV 	P1,#0FH ;开显示
	ACALL 	ENABLE 
	MOV 	P1,#06H ;移动光标
	ACALL 	ENABLE 
	
	MOV	R2,#16
	MOV	PX,#80H	;显示在一行一列
	LCALL 	ENABLE 
	MOV	R0,#DT_A1
LOOP1:	MOV	A,@R0
	MOVC	A,@A+DPTR
	MOV	PX,A
	LCALL	INTO	
	INC	R0
	DJNZ	R2,LOOP1
	MOV	R2,#16
	MOV	PX,#0C0H
	LCALL	ENABLE
	
LOOP2:	MOV	A,@R0
	MOVC	A,@A+DPTR
	MOV	PX,A
	LCALL	INTO
	INC	R0
	DJNZ	R2,LOOP2
	
	MOV	A,#0
	MOV	R1,#DT_A1
	MOV	R2,#32
LOOP3:	MOV	@R1,A
	INC	R1
	DJNZ	R2,LOOP3	
	RET
	
ENABLE: CLR 	RS ;写入控制命令的子程序
	CLR 	E
	LCALL DELAY
	SETB 	E
	RET
INTO:	
	SETB RS ;RS=1
	CLR E ;E=0
	LCALL DELAY
	SETB E ;E=1
	RET
DELAY:	
	MOV	R3,#10
DD1:	MOV	R4,#90
DD2:	DJNZ	R4,DD2
	DJNZ	R3,DD1
	RET
	
TAB:DB	30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,2EH,46H ;11
;	0    1   2   3   4   5    6   7  8   9   .   F
    DB  54H,57H,48H,2FH,4CH,53H,43H,56H,4BH,7AH,0DFH,25H;23
;       T    W   H   /   L   S   C   V   K   z	0     %
    DB	6DH,20H,0E4H,2BH,2DH
    ;	m   空白  u   +	  -	
;======================
DELAY1:	MOV	R7,#255
DE1:	MOV	R6,#255
DE2:	DJNZ	R6,DE2
	DJNZ	R7,DE1
	RET
;=======================	
DELAY2:	MOV	R7,#4
	DJNZ	R7,$
	RET	
;=========================
INTT0:	INC	R0
	RETI
;==============================定时0.6S
INTT1:	PUSH	PSW
	PUSH	ACC
	CLR	EA
	CLR	ET1
	CLR	TR1
	DJNZ	DINSI,INTT11
	MOV	DINSI,#22	;定时时间=22*50MS=1.1S
	SETB	OVER
	JMP	INT1OUT
INTT11:	SETB	TR1
	SETB	ET1
	SETB	EA
INT1OUT:MOV	TH1,#03CH
	MOV	TL1,#0B0H
	POP	ACC
	POP	PSW
	RETI	
;=========================
;	--------------------------除法程-序-------------
;  JS_A4 JS_A3 JS_A2 JS_A1 / JS_B4 JS_B3 JS_B2 ZS1 = JS_A4 JS_A3 JS_A2 JS_A1 -- JS_C4 JS_C3 JS_C2 JS_C1
;======================================================================================================
CHUFA:	MOV	JS_C1,#0
	MOV	JS_C2,#0
	MOV	JS_C3,#0
	MOV	JS_C4,#0
	MOV	R0,#32
	CLR	C
CHUFA1:	LCALL	YIWEI1
	LCALL	JIANYI
	JNC	YUSHU
	CLR	C
CHUFA2:	DJNZ	R0,CHUFA1
	MOV	A,JS_A1	
	RLC	A
	MOV	JS_A1,A
	MOV	A,JS_A2	
	RLC	A
	MOV	JS_A2,A
	MOV	A,JS_A3
	RLC	A
	MOV	JS_A3,A
	MOV	A,JS_A4	
	RLC	A
	MOV	JS_A4,A
	MOV	A,JS_A4		;商为0则置位溢出位
	JNZ	CHUFA3
	MOV	A,JS_A3
	JNZ	CHUFA3
	MOV	A,JS_A2
	JNZ	CHUFA3
	MOV	A,JS_A1
	JNZ	CHUFA3
	SETB	C
	RET
CHUFA3:	CLR	C	
	RET
;------------------------
YUSHU:	MOV	JS_C1,JS_C5
	MOV	JS_C2,JS_C6	
	MOV	JS_C3,JS_C7	
	MOV	JS_C4,JS_C8
	SETB	C
	AJMP	CHUFA2
;--------------------
YIWEI1:	MOV	A,JS_A1	
	RLC	A
	MOV	JS_A1,A
	MOV	A,JS_A2	
	RLC	A
	MOV	JS_A2,A
	MOV	A,JS_A3
	RLC	A
	MOV	JS_A3,A
	MOV	A,JS_A4	
	RLC	A
	MOV	JS_A4,A
	MOV	A,JS_C1
	RLC	A
	MOV	JS_C1,A
	MOV	A,JS_C2
	RLC	A
	MOV	JS_C2,A
	MOV	A,JS_C3
	RLC	A
	MOV	JS_C3,A
	MOV	A,JS_C4
	RLC	A
	MOV	JS_C4,A
	RET
;----------
JIANYI:	CLR	C
	MOV	A,JS_C1	
	SUBB	A,JS_B1
	MOV	JS_C5,A
	MOV	A,JS_C2	
	SUBB	A,JS_B2
	MOV	JS_C6,A
	MOV	A,JS_C3	
	SUBB	A,JS_B3
	MOV	JS_C7,A
	MOV	A,JS_C4	
	SUBB	A,JS_B4
	MOV	JS_C8,A
	RET
;==========
;	---------------乘法程序-------------
;	JS_A4 JS_A3 JS_A2 JS_A1 * JS_B4 JS_B3 JS_B2 JS_B1 = JS_A8 JS_A7 JS_A6 JS_A5 JS_A4 JS_A3 JS_A2 JS_A1       
;======================================================================================================
CHENFA:	MOV	JS_C1,JS_A1
	MOV	JS_C2,JS_A2
	MOV	JS_C3,JS_A3
	MOV	JS_C4,JS_A4
	MOV	JS_A1,#0
	MOV	JS_A2,#0
	MOV	JS_A3,#0
	MOV	JS_A4,#0
	MOV	R0,#32
CHENFA2:LCALL	CHEN2
	LCALL	YIWEI2
	JNC	CHENFA1
	LCALL	JIAYI
CHENFA1:DJNZ	R0,CHENFA2
	MOV	A,JS_A5
	JNZ	CHENFA3
	MOV	A,JS_A6
	JNZ	CHENFA3
	MOV	A,JS_A7
	JNZ	CHENFA3
	MOV	A,JS_A8
	JNZ	CHENFA3
	CLR	C
	RET
CHENFA3:SETB	C	
	RET
;----------------	
YIWEI2:	CLR	C
	MOV	A,JS_B1
	RLC	A
	MOV	JS_B1,A
	MOV	A,JS_B2
	RLC	A
	MOV	JS_B2,A
	MOV	A,JS_B3
	RLC	A
	MOV	JS_B3,A
	MOV	A,JS_B4
	RLC	A
	MOV	JS_B4,A
	RET	
;----------------	
CHEN2:	CLR	C
	MOV	A,JS_A1
	RLC	A
	MOV	JS_A1,A	
	MOV	A,JS_A2
	RLC	A
	MOV	JS_A2,A	
	MOV	A,JS_A3
	RLC	A
	MOV	JS_A3,A	
	MOV	A,JS_A4
	RLC	A
	MOV	JS_A4,A	
	MOV	A,JS_A5
	RLC	A
	MOV	JS_A5,A	
	MOV	A,JS_A6
	RLC	A
	MOV	JS_A6,A	
	MOV	A,JS_A7
	RLC	A
	MOV	JS_A7,A	
	MOV	A,JS_A8
	RLC	A
	MOV	JS_A8,A	
	RET
;----------------
JIAYI:	CLR	C
	MOV	A,JS_A1
	ADDC	A,JS_C1
	MOV	JS_A1,A
	MOV	A,JS_A2
	ADDC	A,JS_C2
	MOV	JS_A2,A
	MOV	A,JS_A3
	ADDC	A,JS_C3
	MOV	JS_A3,A
	MOV	A,JS_A4
	ADDC	A,JS_C4
	MOV	JS_A4,A
	MOV	A,JS_A5
	ADDC	A,#0
	MOV	JS_A5,A
	MOV	A,JS_A6
	ADDC	A,#0
	MOV	JS_A6,A
	MOV	A,JS_A7
	ADDC	A,#0
	MOV	JS_A7,A
	MOV	A,JS_A8
	ADDC	A,#0
	MOV	JS_A8,A
	RET
;================================
;	减法程序
;	JS_A4 JS_A3 JS_A2 JS_A1 - JS_B4 JS_B3 JS_B2 JS_B1 = JS_A4 JS_A3 JS_A2 JS_A1
;================================================================
JIANFA:	CLR	C
	MOV	A,JS_A1
	SUBB	A,JS_B1
	MOV	JS_A1,A
	MOV	A,JS_A2
	SUBB	A,JS_B2
	MOV	JS_A2,A
	MOV	A,JS_A3
	SUBB	A,JS_B3
	MOV	JS_A3,A
	MOV	A,JS_A4
	SUBB	A,JS_B4
	MOV	JS_A4,A
	RET
;==========	
	END
$SET (_AAAA_)

⌨️ 快捷键说明

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