Thanks, it works now!
First i tried to inplement your code in mine but that didnd work.
So I fit my program in yours and the first test works.
Here's my code fore enyone with the same problem.
Now I'm have to set all my other code in it. Hope it don't make problems with the changed config now.
Code:
@ device pic16F628a, INTRC_OSC_NOCLKOUT
@ device pic16F628a, MCLR_ON
@ device pic16F628a, LVP_OFF
@ device pic16F628a, WDT_OFF
@ device pic16F628a, PWRT_ON
@ device pic16F628a, BOD_ON
INCLUDE "modedefs.bas" 'for shiftout
CMCON=7
TRISA=0
TRISB=0
PORTA=0
PORTB=0
PIE1 = %00000010
'0------- Disable EE write complete interrupt
'-0------ Disable comparator interrupt
'--0----- Disable USART receive interrupt
'---0---- Disable USART transmit interrupt
'----x--- unimplemented
'-----0-- Disable CCP1 interrupt
'------1- Enable TMR2 to PR2 match interrupt
'-------0 Disable TMR1 overflow interrupt
T2CON = %00000010
'X------- Unimplemented
'-0000--- postscale 1:1
'-----0-- Timer2 off
'------10 prescaler 1:16
segments var byte
counter var byte
GIE VAR INTCON.7
PEIE VAR INTCON.6
TMR2IF VAR PIR1.1
TMR2ON VAR T2CON.2
ON INTERRUPT GOTO ISR
PR2 = 124 ' load period register for 2mSec
PEIE = 1 ' Enable peripheral interupt
GIE = 1 ' enable Global interrupt
TMR2ON = 1 ' TMR2 ON
GOTO LOOP
disable
ISR:
'first half of the displays
segments=%01011011 '5
counter=%01010101 'on displays
SHIFTOUT PORTB.0, PORTB.1, LSBFIRST,[counter\8,segments\8] 'data, clock
pulsout PORTA.4,1 'for latch 74hc595
'remaining displays
segments = %00110000 '1
counter=%10101010
SHIFTOUT PORTB.0, PORTB.1, LSBFIRST,[counter\8,segments\8] 'data, clock
pulsout PORTA.4,1 'for latch 74hc595
'------- ^^my try
TOGGLE PORTB.0
TMR2IF = 0 ' Clear interrupt flag
resume
enable
LOOP:
'TOGGLE PORTB.1
GOTO LOOP
end
Bookmarks