文档库 最新最全的文档下载
当前位置:文档库 › 硬件AD0809转换及显示程序

硬件AD0809转换及显示程序

硬件AD0809转换及显示程序
硬件AD0809转换及显示程序

1. A/D转换及显示程序

CODE SEGMENT

ASSUME CS:CODE

ADPORT E QU 0010h ;片选Y1=0010H

ORG 1000H

START: JMP ADCONTORL

ADCONTORL:CALL FORMAT ;格式化子程序

ADCON: MOV AX,00 ;AD0通道号送AL

MOV DX,ADPORT ;AD控制口地址0010H送DX

OUT DX,AL ;启动AD转换,即00H送0010H

MOV CX,0500H ;软件延时100μs

DELAY: LOOP DELAY

MOV DX,ADPORT ;0010H送DX

IN AL,DX ;从0010H读取AD转换数据送AL

CALL CONVERS ;调用拆字子程序,将AD转换数据拆成二进制的高4位

和低4位

CALL DISP ;调用7段数码显示子程序

JMP ADCON ;转ADCON继续

CONVERS:MOV AH,AL ;拆字子程序

AND AL,0FH

MOV BX,077AH

MOV DS:[BX],AL

INC BX

MOV AL,AH

AND AL,0F0H

MOV CL,04H

SHR AL,CL

MOV DS:[BX],AL

RET

disp: mov dx,077Fh 7段数码显示子程序

mov ah,20h

disp0: mov cx, 0ffh

mov bx,dx

mov bl,ds:[bx]

mov bh,0h

push dx

mov dx,0ff22h ;DX指向字形控制

mov al,cs:[bx+1060h]

OUT DX,AL

mov dx,0ff21h

mov al,ah

OUT DX,AL

disp1: loop disp1

pop dx

dec dx

shr ah,01h

jnz disp0

mov dx,0ff22h

mov al,0ffh

OUT DX,AL

ret

data1: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0ah db 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh ;十六进制数字形代码表FORMAT: MOV BX,0 ;格式化子程序MOV WORD PTR DS:[BX+077AH],0000H

ADD BX,2

MOV WORD PTR DS:[BX+077AH],0009H

ADD BX,2

MOV WORD PTR DS:[BX+077AH],0008H

RET

CODE ENDS

END START

2. D/A转换0832应用程序

ODE SEGMENT

ASSUME CS:CODE

DAPORT EQU 0020H ;片选Y2=0020H

ORG 10a0h

START: MOV AL,0FFH ;FFH送AL寄存器

DACON1: MOV DX,DAPORT ;DX指向0020H

OUT DX,AL ;将FFH送DX启动D/A转换,输出电压+5V MOV CX,0400H ;延时一段时间

DACO2: LOOP DACO2

NOT AL ;将AL求反=00H

JMP DACON1

CODE ENDS

END START

3. 并口8255 应用交通灯控制

CODE SEGMENT

ASSUME CS:CODE

IOCONPT EQU 0FF2BH ;控制口

IOAPT EQU 0FF28H ;数据口A口

IOBPT EQU 0FF29H ;数据口B口

IOCPT EQU 0FF2AH ;数据口C口

START: MOV DX,IOCONPT ;DX指向控制口

MOV AL,80H ;控制字送AL

OUT DX,AL ;设置A、B、C口为输出工作方式MOV DX,IOBPT ;将B口置0FFH,点亮

MOV AL,0FFH

OUT DX,AL

MOV DX,IOCPT

MOV AL,0FH ;H

OUT DX,AL

CALL DELAY1

IOLED0: MOV AL,01011010B ;13L 24H

MOV DX,IOCPT

OUT DX,AL

CALL DELAY1

CALL DELAY1

MOV AL,00001010B ;13LN

OUT DX,AL

MOV CX,8H

IOLED1: MOV DX,IOBPT

MOV AL,50H

OUT DX,AL

CALL DELAY2

MOV AL,00H

OUT DX,AL

CALL DELAY2

LOOP IOLED1

MOV DX,IOCPT

MOV AL,10100101B

OUT DX,AL

CALL DELAY1

CALL DELAY1

MOV AL,00000101B

OUT DX,AL

MOV CX,8H

IOLED2: MOV DX,IOBPT

MOV AL,0A0H

OUT DX,AL

CALL DELAY2

MOV AL,00H

OUT DX,AL

CALL DELAY2

LOOP IOLED2

MOV DX,IOCPT

OUT DX,AL

CALL DELAY2

JMP IOLED0 DELAY1: PUSH AX

PUSH CX

MOV CX,0030H DELY2: CALL DELAY2 LOOP DEL Y2

POP CX

POP AX

RET

DELAY2: PUSH CX

MOV CX,8000H DELA1: LOOP DELA1 POP CX

RET

CODE ENDS

END START

相关文档