MCS系列单片机接口及其应用系统设计研讨.ppt

MCS系列单片机接口及其应用系统设计研讨.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MCS系列单片机接口及其应用系统设计研讨

D/A转换器与单片机接口主要涉及到: (1)数据线的连接 (2)地址线的连接 (3)控制线的连接 串行输入方式的DAC占用单片机I/O口的资源较少,如果系统中对DAC的时间要求不是很高,一般可以采用串行输入的DAC。 TLC5615是一种兼容SPI(Serial Peripheral Interface--串行外设接口)和MicroWire串行总线接口的CMOS型的10位DAC,它带有缓冲基准输入(高阻抗)的电压输出数字/模拟转换器(DAC)。 1 2 3 4 TLC5615 OUT 8 7 6 5 DIN SCLK DOUT Vcc REF in AGND 图4-23 TLC5615的内部结构 1)数据输入 由于DAC是12位寄存器,所以在写入10位数据后,最低2位写入2个“0”。 2)输出缓存器 输出缓存器具有满电源电压输出,它带有短路保护并能驱动有100pF负载电容的2kΩ负载。 3)外部基准 外部基准电压输入经过缓冲,使得DAC输入电阻与代码无关。因此,REFin的输入电阻为10MΩ,输入电容典型值为5pF,它们与输入代码无关。基准电压决定DAC的满度输出。 4)逻辑接口 逻辑输入端可使用TTL或CMOS逻辑电平。使用满电源电压幅度时,CMOS逻辑可得到最小的功耗。使用TTL逻辑电平时,功耗需求增加约2倍。 5)串行时钟和更新速率TLC5615的最大串行时钟频率近似为14MHz。通常,数字更新速率受片选周期的限制。对于满度输入阶跃跳变,10位DAC的建立时间为12.5μs,这把更新频率限制在80kHz。 6)菊花链接器件 :如果时序关系合适,可以在一个链路中把一个器件的DOUT端连接到下一个器件的DIN端以实现DAC的菊花链接。DIN端得数据延迟16个时钟周期加1个时钟宽度后出现在DOUT端。DOUT是低功率的图腾柱输出。当 为低电平时,DOUT在SCLK下降沿变化;当 为高电平时,DOUT保持在最近数据位的值并不进入高阻抗状态。如图所示. D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 0 0 使用菊花链功能时,可以传送4个高虚拟位在前的16位输入数据序列: 来自DOUT的数据需要输入时钟16个下降沿,因此,需要额外的时钟宽度。当菊花链接多个TLC5615器件时,因为数据传送需要16个输入时钟周期加上1个额外的输入时钟下降沿数据在DOUT端输出端,所以数据需要4个高虚拟位。为了提供与12位数据转换器传送的硬件与软件兼容性,两个额外位总是需要的。 (1)设计要求 使用TLC5615设计一个方波信号发生器。 (2)设计分析 最小的单片机系统 +数/模转换器(TLC5615) +放大器(LM358) +可变电阻(模拟电压变化) +直流电压表(DC VOLTMETER) (3)系统原理图设计 单片机AT89C51 瓷片电容CAP 30pf 晶振CRYSTAL 12MHz 电阻RES 放大器LM358 按钮BUTTON 可变电阻 POT-LIN 数/模转换器TLC5615 直流电压表 DC VOLTMETER 示波器 OSCILLOSCOPE (4)程序流程图设计 程序设计分析: TLC5615 DAC输入锁存器为12位宽度: 不使用菊花链功能时,DIN只需输入12位数据。DIN输入的12位数据中,前10位为TLC5615输入的D/A转换数据,并且输入时,高位在前,低位在后,后2位必须写入为0的2位数值。 10位数值最大数:max=1023=11min=0 需用两个寄存器:bpqh、bpql,变量为i,bpq=0( uchar ) bpqh=i/bpq,max=0000000011;bpql=i%bpq,max 12位数处理方法: bpqh《=6(前两位)+bpql(全部)+“00” 方波:转换最小值0+等间隔+转换最大值1023+等间隔 锯齿波:0 +等间隔+1+…..+1023+等间隔+0…… (5)源程序设计(汇编语言) #include reg52.h #include absacc.h #define uchar unsigned char #define uint unsigned int uchar bpq=0; uchar bdata bpqh; //高地址 sbit m7=bpqh^7; //高地址位 uchar bdata bpql; //低地址 sbit l7=bpql^7; //低地址位 sbit SDA=P1^4;

文档评论(0)

骨干 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档