数字电压表设计实验报告

  • 格式:doc
  • 大小:146.00 KB
  • 文档页数:6

一、实验内容、方法与步骤

1实验原理

A/D转换器的功能主要是将输入的模拟信号转换成数字信号,如电压、电流、温度测量等都属于这种转换。本实验中采用的转换器为ADC0809,它是一个8位逐次逼近型A/D转换器,可以对8个模拟量进行转换,转换时间为100μS。工作过程如下:首先由地址锁存信号ALE的上升沿将引脚ADDA、ADDB和ADDC上的信号锁存到地址寄存器内用以选择模拟量输入通道;START 信号的下降沿启动A/D转换器开始工作;转换结束时,ADC0809使EOC引脚由低电平变成高电平,程序可以通过查询EOC读取转换结果,也可以通过中断方式读取转换结果。CLOCK为转换时钟输入端,频率为100KHz–1.2MHz,推荐值为640KHz。实验线路如图21所示。

2.实验电路

如程序存放在AT89S51中,AT89S51的/EA(引脚31)必须接高电平,实验时需短路J13的1和2引脚,否则;必须短路J13的2和3引脚;

3.实验内容与实验要求

调节可变电阻VR4,使输入到ADC0809第5引脚的电压从0V变到5V,转换结果通过发数码显示器显示出来,特别注意0V、0.5V、1.0V、1.5V、2.0V、2.5V、3.0V、3.5V、4.0V、4.5V以及5.0V时的转换结果。

4汇编源程序

(1) 汇编语言程序清单 (FileName:ex21.asm)

CS8279C EQU 0FFFFH

CS8279D EQU 0FFFEH

CS0809 EQU 0A007H

ADRESULT EQU 3AH

ADBAK EQU 3BH

; DISPLAY BUFF 30H(low) ~ 35H (high)

ORG 0000H

MAIN:

MOV SP, #60H

ACALL INI8279

MOV ADRESULT, #00H

MOV ADBAK, #0FFH

MAINLP:

ACALL DISPLAY

ACALL EXINT1

SJMP MAINLP

EXINT1:

MOV DPTR,#CS0809

MOVX @DPTR,A ;START CONVERT

MOV R6,#30

DLY: NOP

NOP

NOP

DJNZ R6,DLY

MOVX A,@DPTR ; READ CONVERT RESULT MOV ADRESULT,A

RET

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; subprogram name :INI8279

; function: initial 8279 as 8 digtal left in ALE/10

; input parameter : none

; output parameter: none

; others 8279 command port address 0FFE9H;8279 data port address

0FFE8H

; the subprogram affect A、 DPTR

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

INI8279:

MOV DPTR,#CS8279C

MOV A,#0DDH ; First set all display RAM as 0FFH

MOVX @DPTR,A

IL0:MOVX A,@DPTR ;wait clear

JB ACC.7,IL0

LCALL DLT ; WAIT 400MS

LCALL DLT

MOV A,#0D1H ; clear all display RAM as 00H

MOVX @DPTR,A

IL1:MOVX A,@DPTR

JB ACC.7,IL1

LCALL DLT

LCALL DLT

MOV A,#00H ;key/display mode command word 000DDKKK

MOVX @DPTR,A ;8 char left in

MOV A,#2AH ; ALE/10

MOVX @DPTR,A

RET

DLT: MOV R7,#200 ; Delay 400 ms(6M)

DLT1: MOV R6,#250 ; 12T

DLT2: DJNZ R6,DLT2 ; 24T

DJNZ R7,DLT1

RET

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; NAME:DISPLAY 显示子程序

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

DISPLAY:

MOV A,ADRESULT

CJNE A,ADBAK,REDISP

SJMP DSPEXIT

REDISP:

MOV ADBAK, ADRESULT

ACALL CONVBCD

MOV DPTR,#CS8279C

MOV A,#90H ;write display RAM command

MOVX @DPTR,A

MOV R7,#6

MOV DPTR,#CS8279D

MOV R0,#30H

DISPL1:

PUSH DPL

PUSH DPH

MOV A,@R0

MOV DPTR,#TAB

MOVC A,@A+DPTR

POP DPH

POP DPL

MOVX @DPTR,A

INC R0

DJNZ R7,DISPL1

DSPEXIT:

RET

TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

DB 0FFH,00H,73H ; 全亮;全灭;P

;;;;;;;;;;;;;;;;;; Convert ADRESULT to BCD ;;;

; send to 30H ~ 35H location

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

CONVBCD:

MOV A,ADRESULT

MOV B,#100

DIV AB

MOV 32H,A

MOV A,B

MOV B,#10

DIV AB

MOV 31H,A

MOV A,B

MOV 30H,A

MOV A,32H

CJNE A,#00,CONB1

MOV A,31H

CJNE A,#00,CONB2

MOV R7,#5

SJMP CONB3

CONB2:

MOV R7,#4

SJMP CONB3

CONB1:

MOV R7,#3

CONB3:

MOV R0,#35H

MOV A,#0BH

CONBLP:

MOV @R0,A

DEC R0

DJNZ R7,CONBLP

RET

END ; program end

二、实验结果

通过调节可变电阻VR4的电阻大小,使得输入到ADC0809的第5引脚的电压从0V变到5V,转换相应的结果并通过数码显示器显示出来。实验结果与预测结果一置。