SOMRU
- 5th December 2006, 16:33
Greetings !! As Usual I'm In Search Of Answers,
We're Using A Pic16f870 Using The Following Code:
DEFINE OSC 20 'DEFINE OSCILLATOR
DEFINE SER2_BITS 8
AS VAR BYTE 'DEFINE VARIABLES
D VAR BYTE
F VAR BYTE
N VAR BYTE
S VAR BYTE
T VAR BYTE
I VAR BYTE
A VAR BYTE
B VAR BYTE
K VAR BYTE
E VAR BYTE
'EQUATES SECTION
TRISA = %00111110 'SET PORTS I/O
TRISB = %00000000
TRISC = %00000000
ADCON0 = %00000000
ADCON1 = %00000011 'PORTA ALL DIGITAL
A = 123 'INITIATE VARIABLES
AS = 0 'FOR TEST RUN
D = 0
F = 200
N = 0
T = 1234
S = 0
A = 0
B = 0
I = 0
K = 0
'IT ALL STARTS HERE
PAUSE F
LOOP: 'GET T&C FROM PIC7
'IF PORTA.4 = 1 THEN
'SERIN2 PORTA.0 \ PORTA.1, 396, [T, A]
AS = A * 10
ENDIF
LOOP1: '8 DIGITS TO DISPLAY T & A
FOR E = 0 TO 3
PAUSE F 'DISPLAY T =1234
LOOKUP T DIG E,[$41,$F3,$49,$61,$33,$25,$05,$F1,$01,$31], PORTB
LOOKUP E,[$EF,$DF,$BF,$7F],PORTC 'SET DIGIT
PAUSE F
PORTC = $FF
NEXT E
FOR B = 0 TO 3
PAUSE F 'DISPLAY A =5678
LOOKUP AS DIG B,[$41,$F3,$49,$61,$33,$25,$05,$F1,$01,$31], PORTB
LOOKUP B,[$F7,$FB,$FD,$FE],PORTC
PAUSE F
PORTC = $FF
NEXT B
PAUSE F
GOTO LOOP ' DISPLAY FOREVER
The First Lookup To Grab The Digit And Convert It To Segments
The Next Lookup Grabs Digit Placement
Placement Works Briliantly Over The Eight Digits But Am Unable To
Grab The Individual Digits
Could Someone Please Point Out The Obvious For Me?
Thanks!!
We're Using A Pic16f870 Using The Following Code:
DEFINE OSC 20 'DEFINE OSCILLATOR
DEFINE SER2_BITS 8
AS VAR BYTE 'DEFINE VARIABLES
D VAR BYTE
F VAR BYTE
N VAR BYTE
S VAR BYTE
T VAR BYTE
I VAR BYTE
A VAR BYTE
B VAR BYTE
K VAR BYTE
E VAR BYTE
'EQUATES SECTION
TRISA = %00111110 'SET PORTS I/O
TRISB = %00000000
TRISC = %00000000
ADCON0 = %00000000
ADCON1 = %00000011 'PORTA ALL DIGITAL
A = 123 'INITIATE VARIABLES
AS = 0 'FOR TEST RUN
D = 0
F = 200
N = 0
T = 1234
S = 0
A = 0
B = 0
I = 0
K = 0
'IT ALL STARTS HERE
PAUSE F
LOOP: 'GET T&C FROM PIC7
'IF PORTA.4 = 1 THEN
'SERIN2 PORTA.0 \ PORTA.1, 396, [T, A]
AS = A * 10
ENDIF
LOOP1: '8 DIGITS TO DISPLAY T & A
FOR E = 0 TO 3
PAUSE F 'DISPLAY T =1234
LOOKUP T DIG E,[$41,$F3,$49,$61,$33,$25,$05,$F1,$01,$31], PORTB
LOOKUP E,[$EF,$DF,$BF,$7F],PORTC 'SET DIGIT
PAUSE F
PORTC = $FF
NEXT E
FOR B = 0 TO 3
PAUSE F 'DISPLAY A =5678
LOOKUP AS DIG B,[$41,$F3,$49,$61,$33,$25,$05,$F1,$01,$31], PORTB
LOOKUP B,[$F7,$FB,$FD,$FE],PORTC
PAUSE F
PORTC = $FF
NEXT B
PAUSE F
GOTO LOOP ' DISPLAY FOREVER
The First Lookup To Grab The Digit And Convert It To Segments
The Next Lookup Grabs Digit Placement
Placement Works Briliantly Over The Eight Digits But Am Unable To
Grab The Individual Digits
Could Someone Please Point Out The Obvious For Me?
Thanks!!