ADC0809模拟量采集实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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所示。