- 1、本文档共48页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机原理及接口技术第10章分析
10.1 键盘接口 10.2 显示接口 10.3 DAC接口 10.4 ADC接口 (2)DAC0832工作方式 DAC0832的工作方式有单缓冲器方式、双缓冲器方式和直通方式3种。 ①直通工作方式 直通工作方式是将两个寄存器(输入寄存器和DAC寄存器)的5个控制信号(ILE、CS 、WR1、WR2、XFER)均预先置为有效,两个寄存器都开通处于数据接收状态,只要数字信号送到数据输入端D0~D7,就立即进入D/A转换器进行转换,模拟输出始终跟随输入变化。 该方式下,DAC0832的数据输入端D0~D7不能直接与数据总线连接,需外加并行接口(如74LS373、8255等)。这种方式在单片机控制系统中很少采用。 (2)单缓冲方式 使输入寄存器或DAC寄存器二者之一处于直通。CPU只需一次写入即开始转换。控制比较简单。 80C51与DAC0832的单缓冲连接方式的接口电路如下图所示。 图10-16 80C51与DAC0832的单缓冲连接方式的接口电路 图中,DAC0832输入寄存器和DAC寄存器均用P2.7选通,共用—个端口地址,将数据写入输入寄存器的同时也写入DAC寄存器,故称为单缓冲器连接方式。 设DAC0832的地址为7FFFH,则执行下列三条指令就可以将一个数字量转换为模拟量: MOV DPTR,#7FFFH ;端口地址送DPTR MOV A,#DATA ;8位数字量送累加器A MOVX @DPTR,A ;向寄存器写入数字量,同时启动转换 用该连接方式产生一个锯齿波信号的程序如下: WAVE: MOV DPTR,#7FFFH ;指向DAC0832 MOV A,#00 ;赋数字量初值 LOOP: MOVX @DPTR,A ;送数并启动转换 MOV R0,#delayC ;delayC为延时常数 DJNZ R0,$ ;延时,改变delayC可改变锯齿波周期 CJNE A,#dataend,NEXT ;本锯齿波未结束,则继续 MOV A,#00 ;结束则重赋初值,下一个锯齿波开始 SJMP LOOP NEXT: INC A ;数字量加1 SJMP LOOP 上述电路称为单极性输出,单极性输出的VOUT正负极性由VREF的极性确定。 当VREF的极性为正值,VOUT为负;当VREF极性为负时,VOUT为正。 若要实现双极性输出,ADC0832输出部分可按图10-17电路来连接。 此时,输出电压为 图10-17 DAC0832双极性电压输出电路 (3)双缓冲方式(标准方式) 转换要有两个步骤: ① 令CS=0、WR1=0、ILE=1,将数据写入输入寄存器。 ② 令WR2=0、XFER=0,将输入寄存器的内容写入DAC寄存器。 双缓冲方式的优点是数据接收与D/A转换可异步进行,可实现多个DAC同步转换输出(分时写入、同步转换)。 如果图10-18中的模拟输出分别用于示波器的X、Y偏转,则单片机执行下面的程序后,可使示波器上的光点根据参数X、Y的值同步移动。假设参数X、Y已分别存于工作寄存器R1、R2中。则程序如下: 图10-18 DAC 0832双缓冲工作方式的接口电路 MOV DPTR,#0DFFFH ;指向DAC(1)的数据输入寄存器 MOV A,R1 ;X方向数据送入A MOVX @DPTR,A ;将参数X写入DAC(1)的数据输入寄存器 MOV DPTR,#0BFFFH ;指向DAC(2)的数据输入寄存器 MOV A,R2 ;Y方向数据送入A MOVX @DPTR,A ;将参数Y写入DAC(2)的数据输入锁存器 MOV DPTR,#7FFFH ;指向两片DAC0832的DAC寄存器 MOVX @DPTR,A ;两片DAC同时启动转换,同步输出 最后一条指令与A中内容无关,仅使二片0832的 XFER#有效,同时打开2片0832的DAC寄存器选通门,同时启动转换,实现同步输出,更新图形显示器光点位置。 * * * 键盘由一组常开的按键组成,操作人员可以通过键盘输入数据或命令以干预计算机的工作。 每个按键都
文档评论(0)