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

📄 电压监视仪.asm

📁 用单片机实现的电压监视仪器
💻 ASM
字号:
SBF EQU 20H
MBF EQU 21H
HBF EQU 22H
DYVALUE EQU 23H
VMAX EQU 24H
VMIN EQU 25H
VUP  EQU 26H      ;
VDW  EQU 27H      ;
BJ   EQU 28H      ;报警标志

WX EQU 29H


PA EQU 7FFCH
PB EQU 7FFDH
CTR EQU 7FFFH


ST    BIT P3.0
SOUND BIT P3.4
HLED  BIT P2.5
LLED  BIT P2.6
OE    BIT P3.1
CLOCK BIT P3.3
 

ORG 0000H
LJMP MAIN
ORG 000BH
LJMP INTM0
ORG 0013H
LJMP INTM1
ORG 0060H
MAIN:
    MOV TMOD,#11H
    MOV IE,#8AH
    MOV TH0,#3CH
    MOV TL0,#0B0H   ;定时50ms
   
    MOV TH1,#0D8H
    MOV TL1,#0F0H   ;定时10ms即100hz的方波

    MOV DPTR,#80H
    MOV A,#00H
    MOVX @DPTR,A      ;8255初始化

    SETB TR0;  定时器0计数每一秒采集信号一次
    
HUBIN:LCALL KEY_SCAN
HUBIN1:CJNE A,#01H,XZ2
    LJMP GN1
XZ2:CJNE A,#02H,XZ3
    LJMP GN2
XZ3:CJNE A,#03H,XZ4
    LJMP GN3
XZ4:CJNE A,#04H,XZ5
    LJMP GN4
XZ5:CJNE A,#05H,XZ6
    LJMP GN5
XZ6:CJNE A,#06H,XZ7
    LJMP GN6
XZ7:CJNE A,#07H,XZ8
    LJMP GN7
XZ8:LJMP HUBIN

GN1: 
 CON1:MOV R1,#35H          ;35H,34H,33H,32H,31H,30H分别位秒,分时的显示缓存空间
      MOV WX,#0DFH
 CON11:LCALL KEY_SCAN2
       CJNE A,#10H,HUBIN1
 CON111:MOV DPTR,#PB
        MOV A,WX
        MOV @DPTR,A
        MOV DPTR,#PA
        MOV A,@R1
        LCALL TABLE
        MOVX @DPTR,A
        LCALL DEALY     ;延时4ms
        DEC R1
        MOV A,WX
        RRC A
        MOV WX,A
        JC CON11
        MOV R0,#35H
        MOV A,SBF
        LCALL GET
        MOV A,MBF
        LCALL GET
        MOV A,HBF
        LCALL GET
        LJMP CON1


    
    
    
    
    
    
    
    
KEY_SCAN:MOV R0,#0F7H
         MOV R1,#00H
    WC1: MOV A,R0
         MOV P1,A
         MOV A,P1
         MOV R2,A
         SETB C
         MOV R3,#04H
    WC2:RLC A
        JNC KEY
    WC3:INC R1
        DJNZ R3,WC2
        MOV A,R0
        SETB C
        RRC A
        MOV R0,A
        JC WC1
        LJMP KEY_SCAN
    KEY:LCALL DTENMS
        MOV A,P1
        XRL A,R2
        JNZ WC3
    WC4:MOV A,P1
        XRL A,R2
        JZ WC4
        MOV A,R1
        MOV DPTR,#TAB1
        MOVC A,@A+DPTR
        RET
DTENMS:MOV R6,#6
   D1:MOV R7,#248
      DJNZ R7,$
      DJNZ R6,D1
      RET

KEY_SCAN2:MOV R0,#0F7H
         MOV R1,#00H
    WC11: MOV A,R0
         MOV P1,A
         MOV A,P1
         MOV R2,A
         SETB C
         MOV R3,#04H
    WC22:RLC A
        JNC KEY
    WC33:INC R1
        DJNZ R3,WC22
        MOV A,R0
        SETB C
        RRC A
        MOV R0,A
        JC WC11
    KEY1:MOV A,P1
        XRL A,R2
        JZ KEY1
        MOV A,R1
        MOV DPTR,#TAB1
        MOVC A,@A+DPTR
        RET

TAB1:DB 01H,02H,03H,04H,05H,06H,07H,08H,09H,0AH,0BH,0CH,0DH,0EH,0FH,10H




⌨️ 快捷键说明

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