您当前的位置:五五电子网电子知识单元电路接口电路MAX5581接口: MAX5581快速建立DAC与PIC微控制器的接口 正文
MAX5581接口: MAX5581快速建立DAC与PIC微控制器的接口

MAX5581接口: MAX5581快速建立DAC与PIC微控制器的接口

点击数:7696 次   录入时间:03-04 11:36:41   整理:http://www.55dianzi.com   接口电路
     ;T b'00000000' => Fosc/4  = 10MHz
     ;T b'00000001' => Fosc/16 = 2.5Mhz
     ;T b'00000010' => Fosc/64 = 625kHz
     ;T b'00000011' => Reserved.
  call  HWSPI_W_speed
;****************************************************************************** 
;     *** MAX5581 Initialization ***
   bcf PORTC,RC2  ;T RC2 = CS\ Make CS\ Low
  movlw 0xEC   ;T byte0 of settling time config
  call HWSPI_W_spidata_W ;T HW SPI WriteRead Operation  
  movlw 0x0F   ;T byte1 of settling time config
  call HWSPI_W_spidata_W ;T HW SPI WriteRead Operation
  bsf PORTC,RC2  ;T RC2 = CS\ Make CS\ high
;     *** MAX5581 Load All DAC Outputs to Zero Scale ***
Loopforever  bcf PORTC,RC2  ;T RC2 = CS\ Make CS\ Low
  movlw 0xD0   ;T byte0 of load all input/output to zeros
 

www.55dianzi.com  call HWSPI_W_spidata_W ;T HW SPI WriteRead Operation  
  movlw 0x00   ;T byte1 of load all input/output to zeros
  call HWSPI_W_spidata_W ;T HW SPI WriteRead Operation
  bsf PORTC,RC2  ;T RC2 = CS\ Make CS\ high
;     *** MAX5581 Load All DAC Outputs to Full Scale ***  
   bcf PORTC,RC2  ;T RC2 = CS\ Make CS\ Low
  movlw 0xDF& nbsp;  ;T byte0 of load all input/output to zeros
  call HWSPI_W_spidata_W ;T HW SPI WriteRead Operation  
  movlw 0xFF   ;T byte1 of load all input/output to zeros
  call HWSPI_W_spidata_W ;T HW SPI WriteRead Operation
  bsf PORTC,RC2  ;T RC2 = CS\ Make CS\ high 
;        movwf   xmtreg    ;T move w to xmtreg
;        call    asyxmtc   ;T call UART routine
;
      goto Loopforever        ;T loop forever
;******************************************************************************
errsrv 
  movlw 0x65  ; load w with 'e' = 0x65
         movwf xmtreg          ; move w to xmtreg
         call asyxmtc  ; call UART routine
dead     goto   dead              ; goto endless loop
;******************************************************************************
set_cf_error
  movlw  0x00   ; 0x00 into W
  sublw  0x00      ; Subtract W-0x00: If W<=N C set; If W&g

www.55dianzi.com t;N C clear.
  return            ; error=> cf="set"
;******************************************************************************
clear_cf_ok
  movlw  0x01   ; 0x00 into W
  sublw  0x00      ; Subtract W-0x00: If W<=N C set; If W>N C clear.
  return            ; suCCess=> cf="clear"
;*********** *******************************************************************
HWSPI_init    ;T SPI MSSP Initialization for M2EAM schematIC
     ;T CPOL,CPHA = 0,0  => CKP = 0 & CKE = 1

  bcf SSPCON1,SSPEN ;T DISAble the MSSP, SSPCON-5
;     
  bcf TRISC,SDO ;T TRISC bit5 RC5/SDO = 0 MOSI Output
  bcf TRISC,SCK ;T TRISC bit3 RC3/SCK = 0 SCLK Output
  bsf TRISC,SDI ;T TRISC bit4 RC4/SDI = 1 MISO Input
  movlw  0x0040     ;T SSPSTAT bit8 = 0 sampLED in middle
     ;T SSPSTAT bit6 = CKE = 1
        movwf  SSPSTAT  ;T Used to be sspstat on older PIC s
  movlw  0x0020  ;T SSPCON1 bit5 SSPEN = 1 Enables sycn serial port
            ;T SSPCON1 bit4 = CKP = 0
            ;T SSPCON1 bit3= 0 = Turn MSSP ON for SPI
            ;T SSPCON1 bit2-0 = 000b = SCLK = Fosc/4
            ;T SSPCON1 bit2 = 0 = Master
      movwf  SSPCON1  ;T Used to be sspcon on older PICs
  bsf INTCON,PEIE ;T INTCON bit6 = PEIE = 1 = Enable periph interrupt
  bsf PI

www.55dianzi.com nbsp;      retlw 0              
;******************************************************************************
;End of program

  END


表1. 配置写命令,将所有四路 DAC 的建立时间设置为3&mICro;s

SPI Line C7  C6  C5  C4  C3  C2  C1  C0  D7  D6  D5  D4  D3  D2  D1  D0
DIN         &nb sp; 1   1    1     0      1    1    0    0    0    0     0     0    1     1    1     1

表2. 装载全部DAC输出命令

SPI Line C3 C2 C1 C0 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
DIN (1st) 1    1   0    1    0     0      0    0    0   0   0   0    0   0   0    0
DIN (2nd) 1   1   0    1    1     1      1    1    1   1   1   1    1   1   1    1

表2中,第一个命令将所有DAC输出设置为零,第二个命令将所有DAC设置为满量程输出。



上一页  [1] [2] [3] 


本文关键字:控制器  接口  接口电路单元电路 - 接口电路