你的位置: 首页 > 家电弱电 > 单片机

SPI串行扩展应用实例

2016-12-21 17:36:25 | 人围观 | 评论:

AT89C51片内RAM30H31H单元中的16位数据通过SPI总线接口传送到数模转换器TLC 5615

分析TLC56153线串行总线接口10位电压输出数/模转换器,它既可与单片机的 SPI总线接口相连接,又可与单片机的Microware总线(另外一种三线制总线)接口相连接。TLC5615内部结构如图1所示。

TLC5615通过固定增益为2的运放缓冲电阻网络,把10位数字数据转换为模拟电压。在TLC5615芯片上电时,内部电路把D/A寄存器复位为0。其输出具有与基准输入相同的极性,表达式为:Vo=2×REF×CODE/1024

1 TLC5615内部结构

其中,CODE是通过串行总线接口输入的待转换的数据;REF是基准电压。

TLC5615最大的串行时钟速率不超过14MHz10DAC的建立时间为12.5μs,通常更新速率限制至80kHz以内。TLC561516位移位寄存器在SCLK的控制下从DIN引脚输入数据,高位在前,低位在后。16位移位寄存器中间的10位数据在上升沿的作用下输入10位的D/A 寄存器供给D/A转换。

AT89C51TLC5615通过串行总线接口传送8位数据如图2所示。因AT89C51没有SPI接口,可用软件的办法来模拟SPI的总线操作。P1.1模拟SPI的数据输出端(MOSI),P1.2模拟SPISCK输出端,P1.3模拟SPI的从机选择端(SS);TLC5615是数/模转换器,不会向AT89C51发送数据,故不需要模拟SPI的数据输入端(MISO)。

AT89C51将片内RAM30H3lH单元中的16位数据传送到TLC5615的参考程序如下:





标签:

相关内容推荐: