
Originally Posted by
SOMRU
GREETINGS ALL!!
AS USUAL I'M IN SEARCH OF THE OBVIOUS.
I'M USING 2 PIC16F870'S AND PBP.
IT CAN NOT BE THIS DIFFICULT TO TRANSFER A FOUR DIGIT NO. ie 1234
FROM ONE PIC TO ANOTHER WITH ALL THE MAGIC PBP HAS.
I SEEM TO BE MISSING THE INCANTATION, AND AM ASKING IF SOMEONE
COULD RECITE IT FOR ME. FOLLOWING IS THE CODE.
'PIC7 SENDING
DEFINE OSC 20 'DEFINE OSCILLATOR
DEFINE SER2_BITS 8
AMP VAR WORD 'DEFINE VARIABLES
AMPS VAR WORD
ARX VAR BYTE[4]
TDIR VAR BYTE
CDIR VAR BYTE
SDIR VAR BYTE
STR1 VAR BYTE
TIME VAR WORD
TIMES VAR WORD
ATEST VAR WORD
TTEST VAR WORD
TRX VAR BYTE[4]
C VAR BYTE
'EQUATES SECTION
TRISA = %00110001 'SET PORTS I/O
TRISB = %10011101
TRISC = %00001111
ADCON0 = %00000000
ADCON1 = %00000011 'PORTA ALL DIGITAL
TIME = 1234 'SET FOR TEST
AMP=5678
'MISC CODE xxxx OMITTED FOR BREVITY
GOSUB SND6
SND6: 'SEND DIGITS TO PIC6
HIGH PORTB.2
PAUSEUS 40
Serout2 PORTB.5 \PORTB.6,<font color=red>84</font color>,[TIME,AMP]
LOW PORTB.2
RETURN
'PIC6 RECIEVE
DEFINE OSC 20 'DEFINE OSCILLATOR
DEFINE SER2_BITS 8
AS VAR WORD 'DEFINE VARIABLES
A VAR WORD
B VAR BYTE
C VAR BYTE
F VAR BYTE
T VAR WORD
TRC VAR BYTE[4]
ARC VAR BYTE[4]
'EQUATES SECTION
TRISA = %00111110 'SET PORTS I/O
TRISB = %00000000
TRISC = %00000000
ADCON0 = %00000000
ADCON1 = %00000011 'PORTA ALL DIGITAL
EEPROM 0,[129,243,73,97,51,37,5,241,1,49] 'STORE CONSTANTS
LOOP: 'GET T & A FROM PIC 7
IF PORTA.4 = 1 THEN
SERIN2 PORTA.0 \PORTA.1,<font color=red>813</font color>,[T,A]
AS = A * 10
ENDIF
LOOP1: 'DISPLAY T & A
FOR C = 0 TO 3
READ T DIG C, PORTB SET SEGMENT
LOOKUP C,[$7F,$BF,$DF,$EF],PORTC 'SET DIGIT
PAUSE f
PORTC = $FF
NEXT C
FOR B = 0 TO 3
READ AS DIG B, PORTB
LOOKUP B,[$FE,$FD,$FB,$F7],PORTC
PAUSE f
PORTC = $FF
NEXT B
GOTO LOOP
THANKS ALL!
Bookmarks