Joe,
I appreciate all the help and suggestions.
Here is my code, a schematic, and a photo of my setup.
I have tried all kinds of things, and my underlying suspicion isnt that I am doing something wrong. I am just not finished with what is right.
I have rewritten my code more similar to Boris' snippets, and his seems to work, heh. But mine still does not. Yet.
My Configs are set as follows:
__config _HS_OSC & _WDT_ON & _LVP_OFF & _CP_OFF & _WRT_OFF & _CPD_OFF & _BODEN_ON & _PWRTE_ON
Code:
'''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''
'' NS73M Control Test Environment ''
'''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''
' We are using a PIC 16F877A
'
ADCON1=%00000111
Include "ModeDefs.Bas"
DEFINE OSC 4
TRISB=0
DEFINE LCD_DREG PORTA 'Define PIC port used for LCD Data lines
DEFINE LCD_DBIT 0 'Define first pin of portb connected to LCD DB4
DEFINE LCD_RSREG PORTA 'Define PIC port used for RS line of LCD
DEFINE LCD_RSBIT 4 'Define Porta pin used for RS connection
DEFINE LCD_EREG PORTB 'Define PIC prot used for E line of LCD
DEFINE LCD_EBIT 0 'Define PortB pin used for E connection
DEFINE LCD_BITS 4 'Define the 4 bit communication mode to LCD
DEFINE LCD_LINES 2 'Define using a 2 line LCD
NS_CK VAR PORTB.1 ' I2C Clock Pin
NS_DA VAR PORTB.2 ' I2C Data Pin
NS_CON VAR BYTE ' I2C Device (the NS73M) Control Address/ReadWrite Value
NS_REG VAR BYTE ' NS73M Register Address
NS_VAL VAR BYTE ' NS73M Register Value
NS_CON = %11001100 ' Value of NS73M Address, with "Write" Bit
NS_REG=$0E:NS_VAL=$05:GOSUB WRITEDAMMIT ' Reset the chip right off... They said to.
NS_REG=$01:NS_VAL=$B4:GOSUB WRITEDAMMIT ' Pilot On, Forced Subcarrier On
NS_REG=$02:NS_VAL=$07:GOSUB WRITEDAMMIT ' Full (2mw) Power, Unlock Detect On,
NS_REG=$03:NS_VAL=$58:GOSUB WRITEDAMMIT ' Lower Byte of Freq Address in Hex
NS_REG=$04:NS_VAL=$2A:GOSUB WRITEDAMMIT ' Upper Byte of Freq Address in Hex
NS_REG=$08:NS_VAL=$18:GOSUB WRITEDAMMIT ' CEX Band = 3 (For Now. Different Bands for Different Freq's)
NS_REG=$00:NS_VAL=$A1:GOSUB WRITEDAMMIT ' Xmtr RF On, 200mv input level for 100% Modulation
NS_REG=$0E:NS_VAL=$05:GOSUB WRITEDAMMIT ' Another Reset
NS_REG=$06:NS_VAL=$1E:GOSUB WRITEDAMMIT ' Set the Charge Pumps, whatever Charge Pumps are...
GOTO LCDSTUFF
WRITEDAMMIT:
I2CWRITE NS_DA,NS_CK,NS_CON,NS_REG,[NS_VAL] ' I2CWRITE Command. Supposed to work.
PAUSE 10 ' Don't know if this is necessary, but everyone writing to EEProms use it, I figured it couldn't hurt.
RETURN
LCDSTUFF:
LCDOUT $FE, 1
LCDOUT $FE, 2
PAUSE 500
LCDOUT $FE, $80
LCDOUT " Are We"
LCDOUT $FE, $C0
LCDOUT "Transmitting ??"
PAUSE 1000
THEEND:
END


I know the chip in the schematic says "16F84AP". disregard that. In reality, it is a 16F877A; the pin connections are the same still.
Any ideas would be a godsend. Thanks!
Cheers!
SmugWimp
Bookmarks