单片c机原理及接口技术(余锡存)第7章.pptVIP

  • 4
  • 0
  • 约1.68万字
  • 约 107页
  • 2016-11-29 发布于湖南
  • 举报

单片c机原理及接口技术(余锡存)第7章.ppt

单片c机原理及接口技术(余锡存)第7章

MOV DPTR, #0FEFFH ; 端口地址送DPTR MOV A, #00H ; 选择 0 通道输入 MOVX @DPTR, A ; 启动输入 … ORG 0013H AJMP PINT1  PINT1: … MOV DPTR, #0FEFFH ; 端口地址送DPTR MOVX A, @DPTR ; 读取IN0 的转换结果 MOV 50H, A ; 存入 50H单元 MOV A, #00H MOVX @DPTR, A ; 启动A/D, IN0 通道输入并转换 RETI ; 返回 7.5.2 D/A转换器接口 1. D/A转换器的性能指标 (1) 分辨率。分辨率是D/A转换器对输入量变化敏感程度的描述, 与输入数字量的位数有关。如果数字量的位数为n, 则D/A转换器的分辨率为 2-n。  (2) 建立时间。建立时间是描述 D/A转换速度的一个参数, 具体是指从输入数字量变化到输出达到终值误差±1/2LSB(最低有效位)时所需的时间。通常以建立时间来表明转换速度。 (3) 接口形式。 D/A转换器有两类: 一类不带锁存器, 另一类则带锁存器。对于不带锁存器的D/A转换器, 为保存单片机的转换数据, 在接口处要加锁存器。 2. 典型D/A转换器DAC0832简介 图 7.37 DAC0832内部结构框图 图 7.38 图 7.39 DAC0832的引脚图 3. DAC0832与MCS - 51 的接口及应用 1) 单缓冲方式 图 7.40 DAC0832单缓冲方式接口电路 执行下面的几条指令就能完成一次D/A转换: MOV DPTR, #7FFFH ; 指向DAC0832  MOV A, #DATA ; 数字量装入A MOVX @DPTR, A ; 完成一次D/A输入与转换 2) 双缓冲方式 图 7.41 DAC0832双缓冲方式接口电路 MOV DPTR, #0DFFFH ; 指向DAC0832(1) MOV A, #data1 ; data1送入DAC0832(1)中锁存 MOVX @ DPTR, A ;  MOV DPTR, #0BFFFH ; 指向DAC0832(2) MOV A, #data2 ; data2送入DAC0832(2)中锁存 MOVX @DPTR, A MOV DPTR, #7FFFH ; 给0832(1)和(2)提供WR信号 MOVX @DPTR, A ; 同时完成D/A转换输出 图 7.42 阶梯波形图 产生阶梯波的程序如下: START: MOV A, #00H ;  MOV DPTR, #7FFFH ; 0832 的地址送DPTR MOV R1, #0AH ; 台阶数为 10 LP: MOVX @DPTR, A ; 送数据至 0832 CALL DELAY ; 1 ms延时 DJN2 R1, NEXT ; 不到 10 台阶转移 SJMP STRT ; 产生下一个周期 NEXT: ADD A, #10 ; 台阶增幅 SJMP LP ; 产生下一台阶 DELAY: MOV 20H, #249 ; 1 ms延时程序 AGAIN: NOP  NOP DJNZ 20H, AGAIN 2) 线反转法 线反转法也是识别闭合键的一种常用方法, 该法比行扫描速度快, 但在硬件上要求行线与列线外接上拉电阻。  先将行线作为输出线, 列线作为输入线, 行线输出全“0”信号, 读入列线的值, 然后将行线和列线的输入输出关系互换, 并且将刚才读到的列线值从列线所接的端口输出, 再读取行线的输入值。那么在闭合键所在的行线上值必为 0。这样, 当一个键被按下时, 必定可读到一对唯一的行列值。

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档