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