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

📄 adc.txt

📁 采用Intel8255端口数据线与上图除IN0~IN7之外的引线连接。 程序步骤: (1)根据模拟信号输入连线方式(跳线JP10与电位器1相连
💻 TXT
字号:
CR8255  EQU   303H
PA8255  EQU   300H
PB8255  EQU   301H
PC8255  EQU   302H
DSEG   SEGMENT
COMM1  DB  10000001B
COMM2  DB  10010001B
CANN   DB   0
STARTH  DB  0FH
ALEH    DB  0DH
STARTL  DB  0EH
ALEL    DB  0CH
STDELA  DW  200          ;约200ns
OE       DB  0BH
EOC      DB  1
DSEG   ENDS
CSEG   SEGMENT
        ASSUME CS:CSEG,DS:DSEG
BEGIN:  MOV  AX,DSEG
         MOV  DS,AX
MOV  DX,CR8255
         MOV  AL,COMM1 
         OUT   DX,AL      ;初始方式命令
         MOV  AL,CANN
         MOV  DX,PA8255
         OUT  DX,AL        ;置通道号
         NOP
         NOP
         MOV  DX,CR8255
         MOV  AL,ALEH
         OUT   DX,AL       ;ALEH
         MOV   AL,STARTH
         OUT    DX,AL     ;STARTH
         MOV   CX,STDELA
STDEL:   LOOP  STDEL
         MOV   AL,STARTL
         OUT   DX,AL
         MOV   AL,ALEL
         OUT   DX,AL
         MOV   AL,COMM2
         OUT    DX,AL     ;第二次发方式命令
         MOV    DX,PC8255
WAITEOC:   IN     AL,DX
         AND    AL,EOC
         JZ      WAITEOC
         MOV   DX,CR8255
         MOV   AL,OE
         OUT   DX,AL
         MOV   DX,PA8255
         IN     AL,DX
         MOV   BL,AL
         MOV   DL,AL
         MOV   CL,4
         SHR    DL,CL
CALL   DISPLAY
         MOV    DL,BL
         CALL   DISPLAY
         MOV    AH,2
         MOV    DL,10
         INT     21H
         MOV    DL,13
         MOV    AH,2
         INT     21H
         MOV    AH,0BH
         INT     21H
         AND    AL,AL
         JZ      BEGIN
         MOV   AH,8
         INT     21H
         CMP    AL,1BH
         JNZ     BEGIN
         MOV    AX,4C00H
         INT      21H
DISPLAY  PROC  NEAR
         AND    DL,0FH
         OR     DL,30H
         CMP    DL,3AH
         JC      NEXT
         ADD    DL,7
NEXT:   MOV    AH,2
         INT     21H
         RET
DISPLAY ENDP
CSEG   ENDS
        END  BEGIN

数模转换-模数转换
DAC0832  EQU   30FH
CR8255  EQU   303H
PA8255  EQU   300H
PB8255  EQU   301H
PC8255  EQU   302H
DSEG   SEGMENT
COMM1  DB  10000001B
COMM2  DB  10010001B
CANN   DB   0
STARTH  DB  0FH
ALEH    DB  0DH
STARTL  DB  0EH
ALEL    DB  0CH
STDELA  DW  200          ;约200ns
OE       DB  0BH
EOC      DB  1
COUNT   DB   0
DSEG   ENDS
CSEG   SEGMENT
        ASSUME CS:CSEG,DS:DSEG
ADC0809    PROC  NEAR
MOV  DX,CR8255
         MOV  AL,COMM1 
         OUT   DX,AL      ;初始方式命令
         MOV  AL,CANN
         MOV  DX,PA8255
         OUT  DX,AL        ;置通道号
         NOP
         NOP
         MOV  DX,CR8255
         MOV  AL,ALEH
         OUT   DX,AL       ;ALEH
         MOV   AL,STARTH
         OUT    DX,AL     ;STARTH
         MOV   CX,STDELA
STDEL:   LOOP  STDEL
         MOV   AL,STARTL
         OUT   DX,AL
         MOV   AL,ALEL
         OUT   DX,AL
         MOV   AL,COMM2
         OUT    DX,AL     ;第二次发方式命令
         MOV    DX,PC8255
WAITEOC:   IN     AL,DX
         AND    AL,EOC
         JZ      WAITEOC
         MOV   DX,CR8255
         MOV   AL,OE
         OUT   DX,AL
         MOV   DX,PA8255
         IN     AL,DX
         MOV   BL,AL
         MOV   DL,AL
         MOV   CL,4
         SHR    DL,CL
CALL   DISPLA
         MOV    DL,BL
         CALL   DISPLA
         MOV    AH,2
         MOV    DL,10
         INT     21H
         MOV    DL,13
         MOV    AH,2
         INT     21H
RET
ADC0809     ENDP
DISPLA  PROC  NEAR
         AND    DL,0FH
         OR     DL,30H
         CMP    DL,3AH
         JC      NEXT
         ADD    DL,7
NEXT:   MOV    AH,2
         INT     21H
         RET
DISPLA ENDP
ENTE: MOV  AX,DSEG
         MOV  DS,AX
MOV   DX,DAC0832
        MOV    AL,COUNT
        OUT    DX,AL
        MOV   BL,AL
        MOV   DL,AL
        MOV   CL,4
        SHR    DL,CL
        CALL   DISPLA
        MOV   DL,BL
        CALL   DISPLA
        INC    COUNT
MOV   CX,0100
DELAY: PUSH   CX
        MOV   CX,0FFFFH
INDELA: LOOP  INDELA
        POP    CX
        LOOP  DELAY
        CALL  ADC0809
         MOV    AH,0BH
         INT     21H
         AND    AL,AL
         JZ      ENTE
         MOV   AH,8
         INT     21H
         CMP    AL,1BH
         JNZ     ENTE
         MOV    AX,4C00H
         INT      21H
CSEG   ENDS
        END  ENTE

⌨️ 快捷键说明

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