HELLO EVERYONE
I AM TRYING TO WRITE A PROGRAM FOR PIC18F6520 TO FEED THE DATA IN AD9954 (DDS). I HAVE USED SPI TRANSFER MODE.
WHEN I USE DEBUGGER AS MPLAB SIM AND SEE THE LOGIC ANALYZER OUTPUT FOR SDO PORT AND CLK PORT NOTHING COMES OUT.
PLEASE HELP ME.
HERE IS MY PROGRAM
I AM TRYING TO WRITE A PROGRAM FOR PIC18F6520 TO FEED THE DATA IN AD9954 (DDS). I HAVE USED SPI TRANSFER MODE.
WHEN I USE DEBUGGER AS MPLAB SIM AND SEE THE LOGIC ANALYZER OUTPUT FOR SDO PORT AND CLK PORT NOTHING COMES OUT.
PLEASE HELP ME.
HERE IS MY PROGRAM
Rich (BB code):
LIST P=18F6520 ;directive to define processor
#include <P18F6520.INC> ;processor specific variable definitions
;******************************************************************************
;Configuration bits
CONFIG OSC = EC
CONFIG OSCS = OFF
CONFIG WDT = OFF
CONFIG LVP = OFF
CONFIG DEBUG = ON
;******************************************************************************
;Variable definitions
; These variables are only needed if low priority interrupts are used.
; More variables may be needed to store other special function registers used
; in the interrupt routines.
CBLOCK 0x060
WREG_TEMP ;variable used for context saving
STATUS_TEMP ;variable used for context saving
BSR_TEMP ;variable used for context saving
ENDC
CBLOCK 0x000
EXAMPLE ;example of a variable in access RAM
ENDC
;******************************************************************************
;EEPROM data
; Data to be programmed into the Data EEPROM is defined here
ORG 0xf00000
DE "Test Data",0,1,2,3,4,5
;******************************************************************************
;Reset vector
; This code will start executing when a reset occurs.
ORG 0x0000
goto Main ;go to start of main code
;******************************************************************************
;Start of main program
Main:
X EQU 0X07
clrf PIR1
MOVLW 0X08
MOVWF PIE1
MOVLW 0X10
MOVWF TRISC
MOVLW 0X00
MOVWF SSPSTAT
MOVLW 0X20
MOVWF SSPCON1
;----------------------------------------------------------------
movlw 0x00
movwf SSPBUF
call CHECK
movlw 0x00
movwf SSPBUF
call CHECK
movlw 0x00
movwf SSPBUF
call CHECK
movlw 0x22
movwf SSPBUF
call CHECK
movlw 0x00
movwf SSPBUF
call CHECK
;--------------------------------------------
movlw 0x01
movwf SSPBUF
CALL CHECK
movlw 0x00
movwf SSPBUF
call CHECK
movlw 0x00
movwf SSPBUF
call CHECK
movlw 0x00
movwf SSPBUF
call CHECK
;----------------------------------------------------------------
movlw 0x04
movwf SSPBUF
call CHECK
movlw 0x33
movwf SSPBUF
call CHECK
movlw 0x33
movwf SSPBUF
call CHECK
movlw 0x33
movwf SSPBUF
call CHECK
movlw 0x33
movwf SSPBUF
call CHECK
;----------------------------------------------------------------
CALL DELAY1
BSF PORTC,7
CALL DELAY1
BCF PORTC,7
CALL DELAY1
FIN
GOTO FIN
;*******************SPI output subroutine***********************
CHECK
BTFSS PIR1,3
BRA CHECK
BCF PIR1,3
RETURN
;*******************DELAY subroutine***********************
DELAY1
MOVLW D'05'
MOVWF X
DELAY2
DECFSZ X,F
BRA DELAY2
RETURN
;---------------------------------------------s
;******************************************************************************
;End of program
END
Last edited by a moderator: