复件 ad10.asm

来自「我学单片机89C51时编的大部分程序都在里面」· 汇编 代码 · 共 35 行

ASM
35
字号
;改用一个通道判别方式,并加入显示程序
;能重复按键,已选择不同通道
;将不同通道的数据存放于内存不同单元
        ORG 0000H
        LJMP START
        ORG 0013H
        LJMP SERVE
        ORG 0030H
START:  MOV R0,#00H             ;数据存放地址
        MOV R1,#0FFH            ;256个数据
        ;MOV P2
        SETB IT1               ;脉冲触发方式
        SETB EA                ;开中断
        SETB EX1
        MOV DPTR,#7FF8H
        MOV A,#00H
        MOVX @DPTR,A           ;启动A/D转换
        SJMP $

;中断服务程序
SERVE:  MOVX A,@DPTR            ;读数
        PUSH DPH
        PUSH DPL
        MOV DPH,#00H
        MOV DPL,R0
        MOVX @DPTR,A              ;
        INC R0                  ;更新暂存单元
        POP DPH
        POP DPL
        DJNZ R1,DONE            ;N次采样是否结束
        RETI
DONE:   MOV A,#00H
        MOVX @DPTR,A            ;转换完毕
        RETI                    ;改为LJMP START,是否能跳到主循环

⌨️ 快捷键说明

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