ADC0809模拟量采集实验报告

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

ADC0809模拟量采集

一.实验目的

(1)了解将模拟量转换成数字量的基本原理。

(2)学会利用ADC0809芯片进行摸/数转换的编程方法。 二.实验内容

将电位器产生的模拟电压信号转换成数字信号,转换结果送入主机内存中,并在屏幕上显示。取256个采样点。

三.线路连接

ADC0809有8个模拟输入端IN7~IN0,输入模拟量电压范围为0V ~+5V ,旋转电位器SW1产生不同的模拟电压,作为模拟输入量。实验电路中只开通了IN0一路模拟量输入,其它输入端未使用。ADC0809的D7~D0引脚与主机数据总线相连接。ADC0809的START 端为A/D 转换启动信号,ALE 端为通道地址的锁存信号。线路中将START 端与ALE 端连接,以便锁存通道地址,同时启动A/D 采样并进行转换。ADC0809的CLOCK 端的时钟频率范围为10~1280KHz ,本实验中采用1MHz 。ADC0809的结束信号EOC 用来产生中断请求信号,请求CPU 读入转换后的结果。实验接线如图4.9所示。

四.编程提示

(1)发出启动A/D 转换信号

由于START 与ALE 相连,所以在通道地址锁存的同时,发出A/D 转换信号。通道IN0地址为PCI 外扩设备基地址+外扩设备译码器输出地址。

(2)将转换结果读入内存

当A/D 转换结束后,CPU 从ADC0809输出端接收数据。

五.流程图

程序流程如图4.10所示。

图4.9 ADC0809模/数转换实验线路图18 19 20 21

D 3 D 4 D 5 D 6 D 7

2-5 2-4 2-3 2-2

2-1(MSB)&

六.参考程序

DA TA SEGMENT

;数据段 IOPORT EQU 0D880H-280H

;端口基地址 IO0809A EQU IOPORT+298H

;0809通道0地址

CRT DB 'SPIN “SW1”SWITCH ,VIEW ON THE DISPLA Y ',0DH ,0AH

DB 'ENTER ANY KEY CAN EXIT TO DOS ',0DH ,0AH , '$' ;提示信息

DA TA ENDS CODE SEGMENT

;代码段

ASSUME CS :CODE ,DS :DA T A

ST ART : MOV

AX ,DA T A

;初始化,取段基址

MOV DS ,AX

MOV DX ,OFFSET CRT ;AX←CRT 段基址 MOV AH ,09H

;DOS 9号调用,显示提示信息

INT

21H

LAB : MOV DX ,IO0809A ;DX ←IN 0端口地址 OUT DX ,AL ;启动A/D 转换 MOV CX ,0FFFFH ;CX=FFFFH DELA Y : LOOP

DELA Y ;调延时子程序 IN AL ,DX

;AL ←IN 0端口数据

MOV BL ,AL ;BL ←AL ,暂存IN 0端口数据 MOV CL ,4 ;CL=4

SHR AL ,CL ;AL 内容右移4位, CALL DISP ;调显示子程序,显示高四位 MOV AL ,BL ;AL ←BL ,IN 0端口数据 AND AL ,0FH

;“与”操作,屏蔽高4位

CALL

DISP

;调显示子程序,显示低四位

MOV AH,02 ;DOS 2号调用

MOV DL,20H ;DL=20H,“空格”的ASCII码

INT 21H ;显示空格

INT 21H ;显示空格

PUSH DX ;DX进栈保护

MOV AH,06H ;DOS 6号调用,有键按下退出

MOV DL,0FFH ;DL=FFH

INT 21H ;执行键盘输入操作

POP DX ;DX出栈

JE LAB ;ZF=1,没有键按下,转到标号LAB继续从IN0端口输入数据

MOV AX,4C00H ;返回DOS

INT 21H

DISP PROC NEAR ;显示字符子程序

MOV DL,AL ;DL←AL

CMP DL,9 ;DL内容与9比较

JLE DDD ;D L≤9,转到标号DDD

ADD DL,7 ;D L>9,DL←DL+7

DDD:ADD DL,30H ;DL←DL+30H,转换成ASCII码

MOV AH,02 ;DOS 2号调用

INT 21H ;显示字符

RET

DISP ENDP

CODE ENDS

END ST ART ;结束

七.编译过程

DAC0832控制直流电机转速

一.实验目的

(1)学习并掌握DAC0832的性能及编程方法。 (2)了解直流电机速度控制的基本原理。 二.实验内容

直流电机的转速是由0832的Ub 输出脉冲的占空比例来决定的,正向占空比例越大,电机转速越快,反之越慢,如图4.12所示。

0832的输出Ub 为双极性,当输入量小于80H 时,输出为负,电机反转。等于80H 时,输出为0,电机停止转动。大于80H 时,输出为正,电机正转。本实验0832输出的数字量只需要两个数值80H 和FFH ,80H 对应电机反转,FFH 对应电机正转,通过不同的延时时间达到改变电机转速的目的。

三.线路连接

如图4.12所示,0832输出端Ub 与直流电机Uj 端相连,CS 接地址端口2A0H~2A7H 。8255的PC 0~PC 5分别与开关K 0~K 5相连,CS 接地址端口280H~287H 。

四.编程提示 0832输出80H 的持续时间是不变的,输出FFH 的持续时间越长,电机转动时的速度就越快。持续时间长短,可以利用开关用K 0~K 5 来控制,共5个档,达到使电机加速、减速的目的。K 0对应的速度最慢,K 5对应的速度最快。

五.流程图

程序流程图如图4.13所示。

相关文档
最新文档