- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微机原理第25讲
第25讲
A/D转换原理
逐次逼近法(逐次比较法)
原理图(以4位为例):
各引脚名称:
Vin:模拟电压输入端
CLK:时钟脉冲输入(需要多个脉冲转换才能完成)
START:起动转换,高有效
EOC:转换结束
OE:输出选通,高有效
DB:数字量经数据总线被读入到CPU中
逐次逼近:Vo逐渐接近待转换的输入电压Vin。
4位都试完,转换就结束了,最后将1101作为4.21V转换的数字量。
注:由公式
可得:
D3D2D1D0=1000B时,Vo=2.5V
D3D2D1D0=1100B时,Vo=3.75V
D3D2D1D0=1110B时,Vo=4.375V
D3D2D1D0=1101B时,Vo=4.0625V
8位A/D转换器ADC0809
内部结构图
组成:
由以上可知,电阻网络+开关树可实现D/A转换
及:
2位D/A需 22=4个R
3位D/A需 23=8个R
。。。
8位D/A需 28=256个R(即256R电阻网络)
ADC0809的A/D转换步骤:
1)C、B、A输入通道号,ALE上升沿锁存
2)START下跳沿起动A/D转换
3)经若干时钟后,转换结束,EOC输出1
(检查EOC是否为1,或延时等待足够长时间后)
4)发OE读入转换得到的数字量
上机实验五
A/D转换,读入数字量显示在微机屏幕上(以二进制、十六进制、十进制数形式,也可显示电压值)
读图: 298H(A2A1A0=000): IN0
299H(A2A1A0=001): IN1
注意(黑板计算IN0和IN1的输入电压值):
IN0输入电压范围:0~5V,得到数字量:00H~FFH
IN1输入电压范围:2.5~5V,数字量:80H~FFH
编程提示:
1) 起动A/D转换(START信号的产生)
MOV DX,298H ;IN0地址
MOV AL,任意值 ;?
OUT DX,AL ;
问:OUT指令指令执行时发生了什么?
M/IO=0,WR=0使IOW=0
AB=298H,经译码器使Y3=0,
A2A1A0=000选IN0
START信号的产生:
2) 延时等待
电路中,因EOC悬空,CPU无法得知是否转换完,故起动转换应延时等待超过100uS时间,使转换结束。
CALL DELAY ;延时时间应超过100uS
3) 读入数字量(发OE信号)
MOV DX,298H ;298H?29FH任意
IN AL,DX ;M/IO=0,RD=0,IOR=0
;Y3=0,A2A1A0=000
为什么执行IN AL, DX指令时能读入?如何产生的OE信号?自己画时序图。
4) 程序流程图
5) 检查是否有键按下
MOV AH,6
MOV DL,0FFH
INT 21H
JZ START ;无键按下,转至START
;继续下次转换
OE端所接与门的等价画法:
下图电路可查EOC状态,EOC必须经缓冲器,并且给状态也分配地址。(对外设280H地址进行读):
读图:
起动IN0:
MOV DX,298H
OUT DX,AL ;AB=298H,IOW=0
;A2A1A0=000
查EOC等待转换结束
MOV DX,280H
NEXT1: IN AL,DX ;AB=280H,IOR=0
;DB0=EOC
TEST AL,1 ;
JZ NEXT1 ;D0=0则EOC=0,转
读入数字量
MOV DX,298H
IN AL,DX ;AB=298H,IOR=0
例:传感器是将各种物理信号变成电压的装置。如下温度测量原理图,计算机能识别的最小温度值为多少?
解:-50~+150 oC 转换为0~+5V,再经8位A/D转换为数字量00H~FFH,即-50oC~+150oC温度范围,对应00~FFH数字量,则每个数可表示的温度为:
[ 150-(-50)] ÷ 255 = 0.78 oC
问1:此电路能否准确反映0.1oC的温度变化?
问2:若传感器输出电压范围为0~+1V,则每个数可表示的温度值为多少?
0~+5V 转换为 00 ~ FFH
文档评论(0)