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

📄 pinlvji.txt

📁 测量频率范围:0~5KHZ
💻 TXT
字号:
ORG 0000H
LJMP START
ORG 001BH
LJMP SERVE
ORG 0030H
START:
      MOV SP,#60H
      MOV TMOD,#15H
      MOV TH0,#00H
      MOV TL0,#00H
      MOV TH1,#3CH
      MOV TL1,#0B0H
      MOV R7,#20
      MOV 46H,#30H;上限高位
      MOV 45H,#00H;上限低位
      MOV 48H,#00H;下限高位
      MOV 47H,#10H;下限低位
      SETB EA
      SETB ET1
      ORL TCON,#01010000B
 HERE:LCALL TEST2
      SJMP HERE
;*****中断服务程序*****
SERVE:
	 PUSH PSW   ;保护现场
      PUSH 40H
      PUSH 41H
      PUSH ACC      
      MOV TH1,#3CH
      MOV TL1,#0B0H
      DJNZ R7,CONTI;1S到?
      MOV R7,#20
      MOV 40H,TL0
      MOV 41H,TH0
      MOV TL0,#00H
      MOV TH0,#00H
      LCALL HEX_BCD ;进制转换
      LCALL TEST;测试上下限
      MOV 40H,42H   ;数据送显存
      MOV 41H,43H
      LCALL DISPLAY  ;LED显示
 CONTI:POP ACC      ;恢复现场
      POP 41H
      POP 40H
      POP PSW
      RETI
;******LED显示程序******
DISPLAY:
     MOV DPTR,#TAB_LED
     MOV R0,#40H
     MOV R6,#2
     D1:MOV R4,#2
	MOV A,@R0
	D0:ANL A,#0FH
	MOVC A,@A+DPTR
	MOV SCON,#0
	MOV SBUF,A
	JNB TI,$
	CLR TI
	MOV A,@R0
	SWAP A
	DJNZ R4,D0
	INC R0
	DJNZ R6,D1
     RET
;****十六进制-BCD码转换****
HEX_BCD:
	MOV 42H,#0
	MOV 43H,#0
	MOV R4,#10H
LP3:MOV R0,#40H
	MOV 30H,#02H;;
	CLR C
LP1:MOV A,@R0
	RLC A
	MOV @R0,A
	INC R0
	DJNZ 30H,LP1
	MOV R1,#42H
	MOV 30H,#2
LP2:MOV A,@R1
	ADDC A,@R1
	DA A
	MOV @R1,A
	INC R1
	DJNZ 30H,LP2
	DJNZ R4,LP3        
     RET
 ;*******上下限测试*******
TEST:
     SETB P1.4
 TE0:MOV A,43H
     SUBB A,48H
     JC ALARM
     MOV A,43H
     CJNE A,48H,TE2
     MOV A,42H
     SUBB A,47H
     JC ALARM
 TE2:MOV A,43H     
     SUBB A,46H
     JC DON
     MOV A,43H
     CJNE A,46H,ALARM
     MOV A,42H
     SUBB A,45H
     JC DON
 ALARM:CLR P1.4
 DON:RET
;******键盘测试程序*******
TEST2:
     LCALL READ
     CLR C
     JNB ACC.0,P0F
     JNB ACC.1,P1F
     JNB ACC.2,P2F
     JNB ACC.3,P3F
     JNB ACC.5,SHOWL
     JNB ACC.6,SHOWH     
     AJMP TEND
  P0F:                  ;HH
     MOV A,46H
     CJNE A,#50H,P0NXT
     MOV 46,#0
     AJMP TEND
 P0NXT:ADD A,#1
     DA A      
     MOV 46H,A
     AJMP TEND
  P1F:                  ;HL
     MOV A,45H      
     ADD A,#10H
     DA A      
     MOV 45H,A
     AJMP TEND
  P2F:                  ;LH
     MOV A,48H
     CJNE A,#30H,P2NXT
     MOV 48H,#0
     AJMP TEND
  P2NXT:ADD A,#1H
     DA A                
     MOV 48H,A
     AJMP TEND
  P3F:                  ;LL
     MOV A,47H
     ADD A,#10H
     DA A          
     MOV 47H,A
     AJMP TEND
SHOWL:
     MOV 40H,47H
     MOV 41H,48H
     AJMP DSP
SHOWH:
     MOV 40H,45H
     MOV 41H,46H
 DSP:LCALL DISPLAY
     MOV R3,#50
 DLAY:LCALL T12MS
     DJNZ R3,DLAY
TEND:RET
;*******读键盘程序*******
READ:       
     MOV A,#0EFH   ;保护P1.4
     ORL P1,A       
 RP1:MOV A,P1
     MOV 49H,A
     CJNE A,#0EFH,CMP1
     AJMP RP1
  CMP1:MOV A,49H
     CJNE A,#0FFH,KA
     AJMP RP1      
  KA:ACALL T12MS
     MOV A,P1
     MOV 49H,A
     CJNE A,#0EFH,CMP2       
     AJMP RP1
     CMP2:MOV A,49H
     CJNE A,#0FFH,KA2
     AJMP RP1
 KA2:MOV A,P1
     PUSH A     
 RP2:MOV A,P1
     MOV 49H,A
     CJNE A,#0EFH,CMP3
     AJMP TDL
CMP3:MOV A,49H
     CJNE A,#0FFH,RP2 
 TDL:ACALL T12MS
     MOV A,P1
     MOV 49H,A
     CJNE A,#0EFH,CMP4
     AJMP REND
CMP4:MOV A,49H
     CJNE A,#0FFH,RP2      
REND:MOV A,P1
     POP A
     RET
;******12MS延时程序******
T12MS:
     MOV R5,#18H
     TM:MOV R4,#0FFH
     TM6:DJNZ R4,TM6
     DJNZ R5,TM
     RET
;***********************
TAB_LED:
     DB 0BBH,09H,0EAH,6BH
    DB 59H,73H,0F3H,0BH
DB 0FBH,7BH,0DBH,0F1H
DB 0B2H,0E9H,0F2H,0D2H


⌨️ 快捷键说明

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