此模块采用MAX518芯片与PlC16F877通过fc总线方式接口的方式,详细的电路图如图1所示。
PlC16F877单片机内部有同步串行口SSP部件,设置SSP的控制寄存器SSPCON的低4位为1011,使SSP部件工作在I2C主控方式下,然后通过数据线SDA、时钟线SCL向MAX518芯片传送要转换的数据。
图1 D/A电路
采用I2C总线工作方式驱动MAX518芯片时,整个传输过程分为发送启动信号、发送数据位、发送停止信号3个阶段。
MAX518芯片采用串行输入方式,输出D/A数据时,需要顺序输入3个字节,3个字节发送完毕后,MSSP模块产生停止条件,MAX518才开始进行数/模转换。
个字节为地址字节,格式为:
地址字节中的ADO和AD1需要和MAX518管脚上的ADO和AD1一致。图1所示ADO和AD1接地,所以表格中的ADO和AD1都应为0。MAX518自身的特点和其连接方式决定向它发送的地址字节为58H,即只有向其发送58H地址时,才能选通它。
第二个字节为命令字节,格式为:
A0位表示本次D/A转换结果数据要送给二路输出中的哪一路,可以为OOH或01H。命令字节为00 H时,选择D/A0通道输出模拟量;当为01H时,选择D/AI通道输出模拟量。
第三个字节就是数据字节,即要进行D/A转换的8位二进制数,范围为OOH~FFH。
当MSSP模块产生启动条件、地址字节发送成功、命令字节发送成功、待转换的数据量发送成功、产生停止条件时,SSPIF都会被置1。因此在编写程序时,可以通过查询该标志位,确定相应的步骤是否完成。如果该步骤没有完成,继续等待查询;如果己经完成,清除SSPIF标志后,继续进行下一步操作。
欢迎转载,信息来源维库电子市场网(www.dzsc.com)
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。