微机原理实验报告5

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微机原理实验报告

实验四模数转换

一、实验目的

了解模数转换原理,掌握ADC0809的使用方法。

二、实验内容

将温度传感器输出端连至ADC0809的IN0端;

编写程序对IN0通道的模拟量进行模数转换;

将模数转换得到的数字量换算成温度值显示在微机屏幕上。

三、实验原理图

四、实验流程图

五、实验结论

能够得到相应的实验结果,并能通过三种方式输出不同显示方式的数字量。

六、实验心得

了解使用了ADC0809,并掌握了相关汇编编程。

附录:程序清单

IOPORT EQU 0EF00H-280H+298H

STACK SEGMENT STACK

DB 100 DUP(?)

STACK ENDS

DATA SEGMENT

HEX DB 2 DUP(?),'H',' '

BYT DB 8 DUP(?),'B',' '

DECI DB 3 DUP(?),' '

UI DB 'Please choose the mode:1.hexadecimal 2.binary 3.decimal p ress enter to exit.'

CTRL DB 0DH,0AH,'$'

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK

MAIN PROC

MOV AX,DATA

MOV DS,AX

AGAIN1: MOV AH,9

LEA DX,CTRL

INT 21H

LEA DX,UI

INT 21H

LEA DX,CTRL

INT 21H AGAIN: MOV AH,1

INT 21H

CMP AL,'1'

JZ THEN1

CMP AL,'2'

JZ THEN2

CMP AL,'3'

JZ THEN3

CMP AL,0DH

JZ EXIT

JMP AGAIN THEN1: MOV DX,IOPORT

OUT DX,AL

CALL DELAY

IN AL,DX

CALL XFER1

CALL OUTPUT1

CALL DELAY

MOV AH,6

MOV DL,0FFH

INT 21H

JZ THEN1

JMP AGAIN1 THEN2: MOV DX,IOPORT

OUT DX,AL

CALL DELAY

IN AL,DX

CALL XFER2

CALL OUTPUT2

CALL DELAY

MOV AH,6

MOV DL,0FFH

INT 21H

JZ THEN2

JMP AGAIN1 THEN3: MOV DX,IOPORT

OUT DX,AL

CALL DELAY

IN AL,DX

CALL XFER3

CALL OUTPUT3

CALL DELAY

MOV AH,6

MOV DL,0FFH

INT 21H

JZ THEN3

JMP AGAIN1 EXIT: MOV AX,4C00H

INT 21H MAIN ENDP

DELAY PROC

MOV BX,0FFH

MOV CX,0 NEXT7: LOOP NEXT7

DEC BX

JNZ NEXT7

RET

DELAY ENDP

XFER1 PROC

PUSH AX

MOV DL,AL

MOV CL,4

SHR DL,CL

CMP DL,9

JBE NEXT

ADD DL,7H NEXT: ADD DL,30H

LEA SI,HEX

MOV [SI],DL

POP AX

MOV DL,AL

AND DL,0FH

CMP DL,9

JBE NEXT1

ADD DL,7H NEXT1: ADD DL,30H

MOV [SI+1],DL

RET

XFER1 ENDP

XFER2 PROC

MOV CX,8

LEA SI,BYT NEXT6: MOV DL,AL

ROL DL,1

MOV AL,DL

AND DL,01H

ADD DL,30H

MOV [SI],DL

INC SI

LOOP NEXT6

RET

XFER2 ENDP

XFER3 PROC

LEA SI,DECI

MOV AH,0

MOV BL,100

DIV BL

ADD AL,30H

MOV [SI],AL

MOV AL,AH

MOV AH,0

MOV BL,10

DIV BL

ADD AL,30H

ADD AH,30H

MOV [SI+1],AL

MOV [SI+2],AH

RET

XFER3 ENDP

OUTPUT1 PROC

MOV CX,4

LEA SI,HEX NEXT2: MOV AH,2

MOV DL,[SI]

INT 21H

INC SI

LOOP NEXT2

RET

OUTPUT1 ENDP OUTPUT2 PROC

MOV CX,10

LEA SI,BYT NEXT3: MOV AH,2

MOV DL,[SI]

INT 21H

INC SI

LOOP NEXT3

RET

相关文档
最新文档