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

📄 plj100.asm

📁 频率计的程序
💻 ASM
📖 第 1 页 / 共 4 页
字号:
;线路板NEWPLJ.PCB
;创建时间2003/6/23
;程序员:康海
;此程序最后位为标志位.
;===显示程序============
KEY1     EQU     P1.2;4/8选择
KEY2     EQU     P1.1;保持/分压
KEY3     EQU     P1.0;计数
KEY4     EQU     P1.3;频率
FYJDQ    EQU     P1.5
LBJDQ    EQU     P1.6
;========================
A0     EQU     P0.3
A1     EQU     P0.2
A2     EQU     P0.4
A3     EQU     P0.5
DAT    EQU     P0.7
CLK    EQU     P0.6
GK     EQU     P1.7
DD     EQU     P3.7;通道选择100m
;=======================
;======数据读入=========
B0     EQU     P0.0;<--26
B1     EQU     P0.1;<--27
B2     EQU     P0.2;<--28
B3     EQU     P0.3;29
B4     EQU     P0.4;30
B5     EQU     P0.5;31
B6     EQU     P0.6;32
B7     EQU     P0.7;33

D0     EQU     P2.0;45
D1     EQU     P2.1;47
D2     EQU     P2.2;48
D3     EQU     P2.3;49
D4     EQU     P2.4;50
D5     EQU     P2.5;51
D6     EQU     P2.6;52
D7     EQU     P2.7;53
;========================
;======通道选择==========
ADRA   EQU     P3.3;46
ADRB   EQU     P3.4;59
;========================
;======控制处理==========
CLRD    EQU     P3.6;57
START   EQU     P3.2;60
EEND    EQU     P3.5;58
;========================
;======通讯==============
;RXD    EQU     P3.0
;TXD    EQU     P3.1
RT485  EQU     P1.4
;======信号输入==========
;FIN   EQU   74;0.1--100M
;FSD   EQU   56;标准频率100M
;========================
;======通讯用寄存器===============
RECE_BZ          BIT      10H
SEND_BZ          BIT      11H
RECE_1           BIT      12H
RECE_2           BIT      13H
RECE_3           BIT      14H
RECE_4           BIT      15H
RECE_5           BIT      16H
KEY_BZ           BIT      00H
JS_BZ            BIT      01H
XS_BZ1           BIT      02H
FY_BZ            BIT      03H
LB_BZ            BIT      04H
;=================================
TDDIG            EQU      25H
TX_TIME          EQU      26H;已在乘法中占用
RECE_BTY         EQU      27H;已在乘法中占用
LBDIG            EQU      28H
ADDH             EQU      29H
ADDL             EQU      2AH
WR_RDH           EQU      2BH
WR_RDL           EQU      2CH
DS_TIME          EQU      2DH
;===================================
RECEDATA2       EQU      2EH
RECEDATA_3       EQU      2FH
RECEDATA_4       EQU      30H
RECEDATA_5       EQU      31H
RECEDATA_6       EQU      32H
RECEDATA_7       EQU      33H
RECEDATA_8       EQU      34H
RECEDATA_9       EQU      35H
RECEDATA_10      EQU      36H
RECEDATA_11      EQU      37H
;==========================================
MA1_DATAH        EQU      38H;通讯数据
MA1_DATAL        EQU      39H
MA1DATAH         EQU      3AH
GDIG             EQU      3BH
MAXSD            EQU      3CH
MAZSD            EQU      3DH
HCQ1             EQU      3EH
HCQ2             EQU      3FH
;==========================================
;================显示寄存器================
DSPLA_ADD1       EQU      40H;指示灯,HZ//KHZ
DSPLA_ADD2       EQU      41H
DSPLA_ADD3       EQU      42H
DSPLA_ADD4       EQU      43H
DSPLA_ADD5       EQU      44H
DSPLA_ADD6       EQU      45H
DSPLA_ADD7       EQU      46H
DSPLA_ADD8       EQU      47H
DSPLA_ADD9       EQU      48H
;环存49H
;环存4AH
KEYFUN           EQU      4BH
XSDIG            EQU      4CH
XSDIG1           EQU      4DH
FYDIG            EQU      4EH
KDIG             EQU      4FH
;=========================================
BCJSQ0           EQU      50H
BCJSQ1           EQU      51H
BCJSQ2           EQU      52H
BCJSQ3           EQU      53H
BZJSQ0           EQU      54H
BZJSQ1           EQU      55H
BZJSQ2           EQU      56H
BZJSQ3           EQU      57H
;==================8单元
CJDIG0           EQU      58H
CJDIG1           EQU      59H
CJDIG2           EQU      5AH
CJDIG3           EQU      5BH
CJDIG4           EQU      5CH
CJDIG5           EQU      5DH
CJDIG6           EQU      5EH
CJDIG7           EQU      5FH
;==================8单元
BZDIG0          EQU       60H
BZDIG1          EQU       61H
BZDIG2          EQU       62H
BZDIG3          EQU       63H
BZDIG4          EQU       64H
BZDIG5          EQU       65H
BZDIG6          EQU       66H
BZDIG7          EQU       67H
;=========================================
SJDIG0          EQU       68H
SJDIG1          EQU       69H
SJDIG2          EQU       6AH
SJDIG3          EQU       6BH
;===============10单元
BCD1           EQU       6CH
BCD2           EQU       6DH

BCD3           EQU       6EH
BCD4           EQU       6FH

BCD5           EQU       70H
BCD6           EQU       71H

BCD7           EQU       72H
BCD8           EQU       73H

BCD9           EQU       74H
BCD10          EQU       75H
BCD11          EQU       76H
kkkk          EQU       77H
F_FLAG         EQU       79H
C_FLAG         EQU       7AH
H_FLAG         EQU       7BH
;=======
;LBDIG          EQU       7FH
;==============高位RAM=80---FF
BCDF1          EQU       80H
BCDF2          EQU       81H
BCDF3          EQU       82H
BCDF4          EQU       83H
BCDF5          EQU       84H

BCDF6          EQU       85H
BCDF7          EQU       86H
BCDF8          EQU       87H
BCDF9          EQU       88H
BCDF10         EQU       89H

BCDF11          EQU       8AH
BCDF12          EQU       8BH
BCDF13          EQU       8CH
BCDF14          EQU       8DH
BCDF15          EQU       8EH

BCDF16          EQU       8FH
BCDF17          EQU       90H
BCDF18          EQU       91H
BCDF19          EQU       92H
BCDF20          EQU       93H
;===============================================
fas1            equ       0f0h

;=============================================
                 ORG     0000H
                 LJMP    MAIN
                 ORG     000BH
                 LJMP    TIM0
                 ORG     001BH
                 LJMP    TIM1
                 ;ORG     0023H;GGGGGGGGGGGGGGGGGGGGGGG
                 ;LJMP    RD_TX
;=========================================
MAIN:            LCALL     WDT_DOG
                 LCALL     SETUP;
                 MOV       DSPLA_ADD1,#20
                 MOV       DSPLA_ADD2,#11
                 MOV       DSPLA_ADD3,#2
                 MOV       DSPLA_ADD4,#3
                 MOV       DSPLA_ADD5,#4
                 MOV       DSPLA_ADD6,#5
                 MOV       DSPLA_ADD7,#6
                 MOV       DSPLA_ADD8,#7
                 MOV       DSPLA_ADD9,#8
               ;  setb     p1.4
LOOP:        lcall     txfg   
             LCALL     DSPLA
            ;   mov       r5,#0ffh
p980:         lcall     txfg
           ;      djnz      r5,p980
                 LJMP      LOOP
PDNX9:           mov        xsdig,#00h
                 LCALL      DSPLA
                 ljmp       loop
;=============================================
DSPLATEMP1:  MOV   A,DSPLA_ADD1
             CLR   C
             SUBB   A,#32
             JC    PPPUI
             MOV   DSPLA_ADD1,#32
             LJMP   JKHG
PPPUI:       MOV   DSPLA_ADD1,#20
JKHG:        ;MOV   XSDIG1,#00H
             LJMP   DSPLATEMP
;============================================
PFGQ:            SETB     FYJDQ
                 LJMP     STP
PPPY:        SETB  LBJDQ
             LJMP    STP1
;============================================
DSPLA:     LCALL    WDT_DOG
           lcall   txfg
           ;======================
           MOV     A,GDIG
           cjne    a,#8,khj
           ;JZ      KHJ
           SETB    DD
           LJMP    PPPR
KHJ:       CLR     DD
PPPR:      MOV     A,FYDIG
           CJNE    A,#00H,PFGQ
           CLR      FYJDQ
           ;====================
STP:       MOV     A,LBDIG
           CJNE    A,#00H,PPPY
           CLR     LBJDQ
STP1:      CLR      GK
           MOV      A,R0
           MOV      HCQ1,A
           MOV      A,R7
           MOV      HCQ2,A
           DJNZ     KDIG,PQW
           LCALL    KEY
           MOV      KDIG,#40H
PQW:       CLR      A0
           CLR      A2
           CLR      A1
           CLR      A3
           MOV      A,KEYFUN
           ;CJNE     A,#02H,ST
           ;MOV      DSPLA_ADD1,#64
ST:        JNZ      PRE;DSPLATEMP;A不为零转移
           ;===============显示判断
DSPLAW:   ; setb   p1.4
          ; jb    p1.4,sf
           mov   xsdig1,#0
          ljmp   dsplatemp1
          ; MOV      A,XSDIG
           JZ       DSPLATEMP1
sf:        LCALL    DSPLA4;4位显示
           SETB     XS_BZ1
           ljmp     dsplatemp1
           LJMP     PRE
           ;=======================


DSPLATEMP:  MOV    A,DSPLA_ADD1
         ; mov      a,#20
          ADD      A,FYDIG
          MOV      DSPLA_ADD1,A
          MOV      A,DSPLA_ADD1
          ADD      A,LBDIG
          MOV      DSPLA_ADD1,A
          MOV      A,DSPLA_ADD1
          ADD      A,GDIG
          MOV      DSPLA_ADD1,A
         ; mov     dspla_add1,#24


          ;=================================
PRE:      
           ;MOV       DSPLA_ADD3,DSPLA_ADD1;gggggggggggggggggggg
           MOV       R7,#10
           MOV       R0,#DSPLA_ADD1
           MOV       DPTR,#TAB
DSP1:      MOV       A,R7
           CJNE      A,#1,PPW
           MOV       A,#00H
           LJMP       DENG
PPW:       MOV       A,@R0
           MOVC      A,@A+DPTR
           ;MOV       A,#0C0H
DENG:      CLR       CLK
           CLR       C
           RLC       A
           MOV       DAT,C       ;1
           SETB      CLK
           NOP
           CLR       CLK
           RLC       A
           MOV       DAT,C       ;2
           SETB      CLK
           NOP
           CLR       CLK
           RLC       A
           MOV       DAT,C       ;3
           SETB      CLK
           NOP
           CLR       CLK
           RLC       A
           MOV       DAT,C       ;4
           SETB      CLK
           NOP
           CLR       CLK
           RLC       A
           MOV       DAT,C       ;5
           SETB      CLK
           NOP
           CLR       CLK
           RLC       A
           MOV       DAT,C       ;6
           SETB      CLK
           NOP
           CLR       CLK
           RLC       A
           MOV       DAT,C       ;7
           SETB      CLK
           NOP
           CLR       CLK
           RLC       A
           MOV       DAT,C       ;8
         SETB      CLK
         NOP
         CLR       CLK
         LCALL     WAY;置位
         LCALL     DELAY10;关闭
       ; LCALL     DELAY10;关闭
        lcall    wdt_dog;
        LCALL     DELAY10;关闭
       ; LCALL     DELAY10;关闭
	lcall    wdt_dog;
        LCALL     DELAY10;关闭
        lcall    wdt_dog;
        LCALL     DELAY10;关闭
        ;LCALL     DELAY10;关闭
         CLR       A0
         SETB      A1
         CLR       A2
         SETB      A3
DSP2:    INC       R0
         DJNZ      R7,DSP1
         SETB       GK
          MOV     A,HCQ1
          MOV     R0,A
          MOV     A,HCQ2
          MOV    R7,A
           RET
DSPLAEND:   RET
TAB:    DB  0EBH,88H,0B3H,0BAH,0D8H,7AH,7BH,0A8H  ;0-----7
        DB  0FBH,0FAH;9
        DB  0EFH,8CH,0B7H,0BEH,0DCH,7EH,7FH,0ACH,0FFH,0FEH
        DB  10H,50H,30H,70H,18H,58H,38H,78H,14H,54H,34H,74H
        DB  80H,0C0H,0A0H,0E0H,88H,0C8H,0A8H,0e8H,84H,0C4H,0A4H,0E4H;KHZ///HZ//HZLP//HZFY
        DB  0FFH,0EFH,0F7H,0FCH,0B9H,0DEH,0F9H,0F1H
        DB  40H,73H,76H,00H,00H,00H,00H,00H,00H,00H
	DB  71H,63H,0D9H,43H,9BH,0F1H             ;F,C,H,L,D,p
;========================================================
WAY:     MOV     A,R7
         CJNE    A,#10,WAY9;指示灯
         SETB     A0
         CLR      A1
         CLR      A2
         CLR      A3
         RET
WAY9:    MOV     A,R7;8
         CJNE    A,#9,WAY8
         MOV     A,XSDIG1
         CJNE   A,#4,PF
         RET
PF:      CLR     A0
         SETB    A1
         CLR     A2
         CLR     A3
         RET
WAY8:    MOV     A,R7;7
         CJNE    A,#8,WAY1
         MOV    A,XSDIG1
         CJNE   A,#4,PF1
         RET
PF1:     SETB     A0
         SETB     A1
         CLR      A2
         CLR      A3
         RET
WAY1:    CJNE   A,#7,WAY2;6
         MOV    A,XSDIG1
         CJNE    A,#4,PF2
         RET
PF2:     CLR     A0
         CLR     A1
         SETB    A2
         CLR     A3
         RET
WAY2:    CJNE    A,#6,WAY3;5
         MOV     A,XSDIG1
         CJNE    A,#4,PF3
         MOV     A,DSPLA_ADD5
         CLR    C
         SUBB    A,#10
         JNC     PF3
         RET
PF3:     SETB     A0
         CLR     A1
         SETB    A2
         CLR     A3
         RET
WAY3:    CJNE    A,#5,WAY4;4
         SETB    A0
         CLR     A1
         CLR     A2
         SETB    A3
         RET
WAY4:    CJNE    A,#4,WAY5;3
         SETB    A0
         SETB    A1
         SETB    A2
         CLR     A3
         RET
WAY5:    CJNE    A,#3,WAY6;2
         CLR     A0
          CLR    A1
          CLR     A2
          SETB     A3
          RET
WAY6:     CJNE   A,#2,WAY7;1
          CLR     A0
          SETB    A1
          SETB    A2
          CLR     A3
WAY7:     RET
;=====================================================
;初始化,波特率9600,8位数据,1位停止
;=====================================================
SETUP:      ;   CLR       SOUND;蜂鸣器
	         CLR       RT485;========
	         MOV	   TMOD,#21H
                 MOV       SCON,#50H
                 MOV       TH0,#09EH

⌨️ 快捷键说明

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