dac0832与单片机的接口电路 启动adc0832实现模数转换有单缓冲和双缓冲两种方式。多缓冲方式是在多片adc0832配合时采用;本设计中只须一片adc0832就可完成工作,所以采用单缓冲方式,向其8位数据输入口输入数据,然后在其写触发管脚wr1发送一低电平脉冲,该芯片就会将收到的数字量转换成模拟量输出。其输出为电流输信号,而控制发光二极管亮度需要用电压实现,所以需要外接由运算放大器构成的电流电压转换电路, adc0832与单片机的接口电路如图1: 图中,由于选片端cs接到了p217,所以启动dac0832开始转换时,需要将单片机的p217 脚设置为低电平。 输出的电流经过运算放大器转换成电压,如果需转换的数字量为b, 则对应输出电压值为: 其中vref是外接的基准电压,输出电压最高为0 v,最低为- vref ,如果基准电压取5 v,则最低输出电压为- 5 v,为了满足负电压输出的要求,运算放大器的电源电压vcc要高于5 v,vee要低于- 5 v,本设计中运算放大器采用lm324芯片,电源电压vcc取10 v,vee取- 10 v。 1.2 基准电
间要加上120ω的终端匹配电阻才能保证总线的正常通讯。 传感器节点的can总线软件设计 传感器节点的can 总线软件设计主要包括三个部分: can 节点初始化、报文发送和报文接收。can 节点的通讯实质上就是对can 控制器内部各寄存器进行读写,由于这些寄存器或发送、接收缓冲器均有确定的地址,cpu 可通过外设访问指令对它们进行读写操作。can 总线通讯的成功与否重点是sja1000 的初始化设置,初始化程序通过将can 控制器的寄存器写入控制字,确定can 的工作方式。用p89c668 的p217 作为片选信号与sja1000 的cs引脚相连,sja1000 的片内寄存器和p89c668 单片机寄存器是重叠编址的,因此sja1000 寄存器寻址时要定义成片外ram 寻址。 由于视觉传感器检测系统要进行的视觉检测任务多为在线检测,实时性要求较强,这里各传感器节点采用中断接收方式接收上位机的控制命令,节点初始化后,当收到上位机发出的一帧信息后,判断其报文标志符是否符合自己的接收代码寄存器和验收屏蔽寄存器的设置,若不符则不接收,若通过则确认为本节点应收信息后装入接收缓冲器,sja1000