- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
二章节 微型计算机接口技术
第二章 微型计算机接口技术 ;在微机的各种接口中,完成外设信号到微机所需数字信号转换的,称为模拟∕数字转换(A/D转换)器;完成微机输出数字信号到外设所需信号转换的,称为数字∕模拟转换(D/A转换)器。
D/A转换器(Digital to Analog Converter)是一种能把数字量转换成模拟量的电子器件;A/D转换器(Analog to Digital Converter)则相反,它能把模拟量转换成相应的数字量。在微机控制系统中,经常要用到A/D和D/A转换器。它们的功能及在实时控制系统中的地位,如图2-1所示。;图2-1 单片机和被控实体间的接口示意;2.1 D/A转换器 ;2.1.1 D/A转换器的原理 ;为了说明T型电阻网络的工作原理,现以四位D/A转换器为例加以讨论,如图2-2所示。;2.1.2 D/A转换器的性能指标 ;2.1.3 典型的D/A转换器芯片DAC0832 ;1. DAC0832内部结构 ;2. 引脚功能 ;3. DAC0832的技术指标 ;因DAC0832是电流输出型D/A转换芯片,为了取得电压输出,需在电流输出端接运算放大器,Rf为运算放大器的反馈电阻端。运算放大器的接法如图2-5所示。;2.2 MCS-51和D/A转换器的接口 ;2.2.1 DAC0832的应用 ;1. 单极性输出 ;2. 双极性输出 ;图2-7中,运算放大器OA2的作用是将运算放大器OA1的单向输出转变为双向输出。表达式(2-3)的比例关系可以用图2-8来表示。;2.2.2 MCS-51和8位DAC的接口 ;1. 直通方式 ;2. 单缓冲方式 ;例2.1 DAC0832用作波形发生器。试根据图2-9接线,分别写出产生锯齿波、三角波和方波的程序,产生的波形如图2-10所示。;解:由图2-9可以看出,DAC0832采用的是单缓冲单极性的接线方式,它的选通地址为7FFFH。
锯齿波程序:
ORG 0000H
MOV DPTR,#7FFFH ;输入寄存器地址
CLR A ;转换初值
LOOP: MOVX @DPTR,A ;D/A转换
INC A ;转换值增量
NOP ;延时
NOP
NOP
SJMP LOOP
END;三角波程序:;方波程序:;3. 双缓冲方式 ;图2-11 DAC0832的双缓冲方式接口;例2.2 DAC0832用作波形发生器。试根据图2-11接线,分别写出产生锯齿波、三角波
和方波的程序,产生的波形如图2-12所示。;ORG 0000H
LOOP1: MOV A,#80H ;转换初值
LOOP: MOV R0,#0FEH ;输入寄存器地址
MOVX @R0, A ;转换数据送输入寄存器
INC R0 ;产生DAC寄存器地址
MOVX @R0, A;数据送入DAC寄存器并进行D/A转换
DEC A ;转换值减少
NOP ;延时
NOP
NOP
CJNE A,#0FFH,LOOP;-5V是否输出?未输出,程序循环
SJMP LOOP1 ;-5V已输出,返回转换初值
END;三角波程序:;方波程序:;例2.3 X-Y绘图仪与双片DAC0832接线如图2-13所示。设8031内部RAM中有两个长度为30H的数据块,其起始地址分别为20H和60H,请根据图2-13,编出能把20H和60H中的数据分别从1#和2#DAC0832输出,并根据所给数据绘制出一条曲线。;图2-13 控制X-Y绘图仪的双片DAC0832接口;解:根据图2-13接线,DAC0832各端口的地址为:
FDH 1#DAC0832数字量输入寄存器地址
FEH 2#DAC0832数字量输入寄存器地址
FFH 1#和2#DAC0832启动D/A转换地址
设R1寄存器指向60H单元;R0指向20H单元,并同时作为两个DAC0832的端口地址指针;R7寄存器存放数据块长度。;ORG 0000H
MOV R7,#30H ;数据块长度
MOV R1,#60H
MOV R0,#20H
LOOP: MOV A,R0
PUSH A ;保存20H单元地址
MOV A,@R0 ;取20H单元中的数据
MOV R0,#0FDH ;指向1#DAC0832的数字量输入寄存器
MOVX @R0,A ;取20H单元中的数据送1#DAC0832
INC R0;MOV A,@R1 ;取60H单元中的数据
INC R1 ;修改60H单元地址指针
MOVX @R0,A ;取60H单元中的数据送2#DAC0832
INC R0
MOVX @R0,A;启动两片DAC0832同时进行转换
POP A ;恢复20H单元地址
INC
文档评论(0)