I'm sending a 16-bit data word from the PIC 16f877A to the AD667, only this data is in the Timer1 register wich we can have access to from one pin , and i really don't know how to send it to the DAC
If you only use one device, you can directly connect the /CS pin to your microcontroller.
Can you check AD5330, that's a newer 8-bit, parallel interface DAC.
Just to clarify, do you intend to display the 16-bit counter/timer into analog form using AD667? If yes, then since AD667 is using a parallel interface, you should convert the 16-bit register into a parallel form so that each GPIO pin will handle 1-bit. So definitely data [DB11:DB0] should be connected to the microcontroller. /CS, lines [A3:A0] should also be connected depending on the timing performance/sequence you want to achieve, but you can short them all to GND to enable all latches to test if your device works as intended.
AD667 is a 12-bit DAC and your data is 16 bits so effectively the system is still 12 bits, we have other DACs in our portfolio which has 16-bit DAC registers. If you really just want to display your 16-bit counter into analog form, there are other couple of ways, I am not sure if using a DAC would be the best option considering different factors such as speed.
Thanks a lot for your reply Ivan, please tell me about this other ways there is to convert my data to analog form, and what 16-bit DAC will you recommend me? i got confused trying to pick one my self
Not an expert but internally in the microcontroller, you can utilize different peripherals(e.g. comparator) to achieve this, you can ask the manufacturer of your microcontroller.
If you want to use a DAC, the choice of parallel and SPI interface is really dependent on the update rate you want to achieve and the simplicity of the solution. And, do you have enough GPIOs for parallel communication in your microcontroller?
This PIC i'm using has a 8-bit Parallel Slave Port, so i'll be using the same configuration as the one on Figure 8 & Figure 9. It shows that i should use an address decoder, how can i do that ?