データシートサーチシステム |
|
AD8801ARZ データシート(PDF) 11 Page - Analog Devices |
|
AD8801ARZ データシート(HTML) 11 Page - Analog Devices |
11 / 16 page AD8801/AD8803 REV. A –11– The subroutine begins by setting appropriate bits in the Serial Control register to configure the serial port for Mode 0 opera- tion. Next the DAC’s Chip Select input is set low to enable the AD8801/AD8803. The DAC address is obtained from memory location DAC_ADDR, adjusted to compensate for the 8051’s serial data format, and moved to the serial buffer register. At this point, serial data transmission begins automatically. When all 8 bits have been sent, the Transmit Interrupt bit is set, and the subroutine then proceeds to send the DAC value stored at location DAC_VALUE. Finally the Chip Select input is re- turned high, causing the appropriate AD8801/AD8803 output voltage to change, and the subroutine ends. The 8051 sends data out of its shift register LSB first, while the AD8801/AD8803 require data MSB first. The subroutine there- fore includes a BYTESWAP subroutine to reformat the data. This routine transfers the MSB-first byte at location SHIFT1 to an LSB-first byte at location SHIFT2. The routine rotates the MSB of the first byte into the carry with a Rotate Left Carry in- struction, then rotates the carry into the MSB of the second byte with a Rotate Right Carry instruction. After 8 loops, SHIFT2 contains the data in the proper format. The BYTESWAP routine in Listing 1 is convenient because the DAC data can be calculated in normal LSB form. For example, producing a ramp voltage on a DAC is simply a matter of re- peatedly incrementing the DAC_VALUE location and calling the LD_8801 subroutine. If the µC’s hardware serial port is being used for other purposes, the AD8801/AD8803 can be loaded by using the parallel port. A typical parallel interface is shown in Figure 26. The serial data is transmitted to the DAC via the 8051’s Port1.7 output, while Port1.6 acts as the serial clock. Software for the interface of Figure 26 is contained in Listing 2. The subroutine will send the value stored at location DAC_VALUE to the AD8801/AD8803 DAC addressed by location DAC_ADDR. The program begins by setting the AD8801/AD8803’s Serial Clock and Chip Select inputs high, then setting Chip Select low to start the serial interface process. The DAC address is loaded into the accumulator and three Rotate Right shifts are per- formed. This places the DAC address in the 3 MSBs of the ac- cumulator. The address is then sent to the AD8801/AD8803 via the SEND_SERIAL subroutine. Next, the DAC value is loaded into the accumulator and sent to the AD8801/AD8803. Finally, the Chip Select input is set high to complete the data transfer. ; This 8051 µC subroutine loads an AD8801 or AD8803 DAC with an 8-bit value, ; using the 8051’s parallel port #1. ; The DAC value is stored at location DAC_VALUE ; The DAC address is stored at location DAC_ADDR ; ; Variable declarations PORT1 DATA 90H ;SFR register for port 1 DAC_VALUE DATA 40H ;DAC Value DAC_ADDR DATA 41H ;DAC Address (0 through 7) LOOPCOUNT DATA 43H ;COUNT LOOPS ; ORG 100H ;arbitrary start LD_8803: ORL PORT1,#11110000B ;set CLK, /CS and /SHDN high, CLR PORT1.5 ;Set Chip Select low MOV LOOPCOUNT,#3 ;Address is 3 bits MOV A,DAC_ADDR ; Get DAC address RR A ; Rotate the DAC RR A ;address to the Most RR A ;Significant Bits (MSBs) ACALL SEND_SERIAL ;Send the address MOV LOOPCOUNT,#8 ;Do 8 bits of data MOV A,DAC_VALUE ACALL SEND_SERIAL ;Send the data SETB PORT1.5 ;Set /CS high RET ;DONE SEND_SERIAL: RLC A ;Move next bit to carry MOV PORT1.7,C ;Move data to SDI CLR PORT1.6 ;Pulse the SETB PORT1.6 ; CLK input DJNZ LOOPCOUNT,SEND_SERIAL ;Loop if not done RET; END Listing 2. Software for the 8051 to AD8801/AD8803 Parallel Port Interface |
同様の部品番号 - AD8801ARZ |
|
同様の説明 - AD8801ARZ |
|
|
リンク URL |
プライバシーポリシー |
ALLDATASHEET.JP |
ALLDATASHEETはお客様のビジネスに役立ちますか? [ DONATE ] |
Alldatasheetは | 広告 | お問い合わせ | プライバシーポリシー | リンク交換 | メーカーリスト All Rights Reserved©Alldatasheet.com |
Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
Family Site : ic2ic.com |
icmetro.com |