How can I get this to stop flickering? It flickers even at 16MHz. With 4 MHz it taks the GSCLK about 250 ms to complete making all the GSDATA that are 0's really stand out causing a flicker.
Is there some other way I could do the GSCLK so I am not just turning the GSCLK pin H/L 4096 times?
Code:ANSEL = 0 'ALL DIGITAL CMCON = 7 'COMPARATORS OFF TRISA = %00000000 TRISB = %00000000 DPIN CON 7 SCLK CON 6 XLAT CON 5 BLANK CON 2 VPRG var PORTA.0 DCPRG var PORTA.2 C1 var byte C2 var byte C3 var word GSDATA var wordNOTE: This code is basically the same as the above Adruno code but I have a different fade routine. The above code used direct PORT addressing for GSCLK like I did but they were using an 8MHz Adruno for their project and it worked fine. I don't understand why this will not work in PBP with 16 MHz running the show.Code:GOSUB preset '*************************************************** '* Main Loop * '*************************************************** LOOP: FOR GSDATA = 4095 TO 0 STEP -16 gosub setgs gosub lightemup NEXT FOR GSDATA = 4095 TO 0 STEP 16 gosub setgs gosub lightemup NEXT goto LOOP '*************************************************** '* Set GS * '*************************************************** SETGS: for C1 = 0 to 15 ' for 16 outputs shiftout dpin,sclk,1,[GSDATA\12] ' shift out 12 bit GS Data next PORTB = %00100000 ' high xlat PORTB = %00000000 ' low xlat return '*************************************************** '* LIGHT EM UP * '*************************************************** LIGHTEMUP: PORTB = %00000100 ' high blank PORTB = %00000000 ' All outputs = ON for C3 = 0 to 4095 ' Generate 4096 GSCLK pulses PORTA = %00001000 ' GSCLK HIGH PORTA = %00000000 ' GSCLK LOW next return '*************************************************** '* Preset * '*************************************************** PRESET: 'HIGH DCPRG HIGH VPRG ' Put into dot correction mode HIGH blank ' All outputs OFF low dpin ' Starts dot correction low xlat For C1 = 0 to 15 ' 16 Ports shiftout dpin,sclk,1,[%111111\6] ' 6 bits of Dot Correction per port next high xlat ' Latch bits into dot correct register low xlat low VPRG ' Enter GS Mode for C1 = 0 to 15 for C2 = 0 to 11 shiftout dpin,sclk,1,[%111111111111\12] next next high xlat ' Latch bits into GS register low xlat high SCLK '193rd CLK pulse LOW SCLK low blank ' All outputs = ON return




Bookmarks