ok.sdi

来自「ADC0809(中断汇编实现)数字电压表」· SDI 代码 · 共 90 行

SDI
90
字号
,,,        ORG 0000H
0000,02 00 30,,        JMP MAIN
,,,        ORG 0030H
0030,,MAIN,MAIN:
0030,90 FE F8,,        MOV DPTR,#0FEF8H       ;A/D转换
0033,79 20,,        MOV R1,#20H
0035,78 08,,        MOV R0,#08H
0037,7A 00,,        MOV R2,#00H
0039,7B 00,,        MOV R3,#00H
003B,7C 00,,        MOV R4,#00H
003D,7D 00,,        MOV R5,#00H
003F,7E 00,,        MOV R6,#00H
0041,7F 00,,        MOV R7,#00H
0043,75 30 0F,,        MOV 30H,#0FH
0046,F0,READ,READ:   MOVX @DPTR,A
,,,
0047,20 B3 FD,HERE,HERE:   JB P3.3,HERE
004A,E0,,        MOVX  A,@DPTR
004B,F7,,        MOV @R1,A
004C,09,,        INC R1
004D,A3,,        INC DPTR
004E,D8 F6,,        DJNZ R0,READ
,,,
0050,7D 00,,        MOV R5,#00H
0052,78 08,,        MOV R0,#08H
0054,79 20,,        MOV R1,#20H
0056,E4,,        CLR A
0057,C3,,        CLR C
0058,E7,SUM,SUM:    MOV A,@R1   ;求和
0059,09,,        INC R1
005A,3D,,        ADDC A,R5
005B,FD,,        MOV R5,A
005C,C2 D2,,        CLR OV
005E,74 00,,        MOV A,#0
0060,3E,,        ADDC A,R6
0061,FE,,        MOV R6,A
0062,C3,,        CLR C
0063,D8 F3,,        DJNZ R0,SUM
0065,00,,        NOP
,,,
0066,EE,AVERAGE,AVERAGE: MOV A,R6   ;取平均值
0067,54 07,,         ANL A,#07H
0069,03,,         RR A
006A,03,,         RR A
006B,03,,         RR A
006C,FE,,         MOV R6,A
006D,ED,,         MOV A,R5
006E,54 F8,,         ANL A,#0F8H
0070,03,,         RR A
0071,03,,         RR A
0072,03,,         RR A
0073,2E,,         ADD A,R6
0074,FD,,         MOV R5,A
0075,00,,         NOP
,,,
,,,
,,,
0076,78 00,,         MOV R0,#0
0078,7E 00,,         MOV R6,#0
007A,7F 00,,         MOV R7,#0
007C,ED,BTOD,BTOD:    MOV A,R5
007D,75 F0 64,,         MOV B,#64H
0080,84,,         DIV AB
0081,FE,,         MOV R6,A
0082,74 0A,,         MOV A,#0AH
0084,C5 F0,,         XCH A,B
0086,84,,         DIV AB
0087,C4,,         SWAP A
0088,25 F0,,         ADD A,B
008A,FF,,         MOV R7,A
008B,00,,         NOP
,,,
,,,
008C,90 DF FF,OUTPUT,OUTPUT: MOV DPTR,#1101111111111111B  ;输出结果
008F,EF,,        MOV A,R7
0090,F0,,        MOVX @DPTR,A
0091,75 30 0F,,        MOV 30H,#0FH
0094,D5 30 FD,DLL,DLL:    DJNZ 30H,DLL
0097,90 BF FF,,        MOV DPTR,#1011111111111111B
009A,EE,,        MOV A,R6
009B,F0,,        MOVX @DPTR,A
009C,75 30 0F,,        MOV 30H,#0FH
009F,D5 30 FD,DLM,DLM:    DJNZ 30H,DLM
00A2,80 8C,,        SJMP MAIN
,,,
000E,,,        END
,,,
,,,
,,,

⌨️ 快捷键说明

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