CON _clkmode = xtal1 + pll16x _xinfreq = 5_000_000 '80 MHz _PinHigh = 1 _PinLow = 0 CLK_Display = 0 SER0_Display = 1 SER1_Display = 2 SER2_Display = 3 SER3_Display = 4 SER4_Display = 5 SER5_Display = 6 SER6_Display = 7 SER7_Display = 8 LAT_Display = 16 EN_Display = 31 VAR byte invert long new_data1, new_data2, odd_string0, odd_string1, str_addrT_0, str_addrT_1 long flash_counter, flash_timer, flashnumber long Display_data_0_B[8] long Display_data_1_B[8] long Display_data_2_B[8] long Display_data_0_T[8] long Display_data_1_T[8] long Display_data_2_T[8] long Display_Stack [30] long Display_data_0_B_H[8] long Display_data_1_B_H[8] long Display_data_2_B_H[8] long Display_data_0_T_H[8] long Display_data_1_T_H[8] long Display_data_2_T_H[8] byte Display_Wait byte new_buffer byte Animationload[7] PUB Main SetPins repeat outa[LAT_Display] := _PinHigh outa[EN_Display] := _PinLow repeat (512) outa[CLK_Display] := _PinLow outa[SER0_Display] := 1 outa[SER1_Display] := 1 outa[SER2_Display] := 1 outa[SER3_Display] := 0 outa[SER4_Display] := 0 outa[SER5_Display] := 1 outa[SER6_Display] := 0 outa[SER7_Display] := 0 outa[CLK_Display] := _PinHigh outa[CLK_Display] := _PinLow outa[LAT_Display] := _PinLow outa[CLK_Display] := _PinHigh outa[CLK_Display] := _PinLow waitcnt(cnt+100000) outa[LAT_Display] := _PinHigh outa[EN_Display] := _PinHigh repeat (512) outa[CLK_Display] := _PinLow outa[SER0_Display] := 0 outa[SER1_Display] := 0 outa[SER2_Display] := 0 outa[SER3_Display] := 1 outa[SER4_Display] := 1 outa[SER5_Display] := 0 outa[SER6_Display] := 1 outa[SER7_Display] := 1 outa[CLK_Display] := _PinHigh outa[CLK_Display] := _PinLow outa[LAT_Display] := _PinLow outa[CLK_Display] := _PinHigh outa[CLK_Display] := _PinLow waitcnt(cnt+100000) '''''''''''''''''''''''''''''''''''''''''''''''' outa[LAT_Display] := _PinHigh outa[EN_Display] := _PinLow repeat (512) outa[CLK_Display] := _PinLow outa[SER0_Display] := 1 outa[SER1_Display] := 0 outa[SER2_Display] := 0 outa[SER3_Display] := 1 outa[SER4_Display] := 0 outa[SER5_Display] := 0 outa[SER6_Display] := 1 outa[SER7_Display] := 1 outa[CLK_Display] := _PinHigh outa[CLK_Display] := _PinLow outa[LAT_Display] := _PinLow outa[CLK_Display] := _PinHigh outa[CLK_Display] := _PinLow waitcnt(cnt+100000) outa[LAT_Display] := _PinHigh outa[EN_Display] := _PinHigh repeat (512) outa[CLK_Display] := _PinLow outa[SER0_Display] := 1 outa[SER1_Display] := 1 outa[SER2_Display] := 0 outa[SER3_Display] := 0 outa[SER4_Display] := 0 outa[SER5_Display] := 1 outa[SER6_Display] := 1 outa[SER7_Display] := 0 outa[CLK_Display] := _PinHigh outa[CLK_Display] := _PinLow outa[LAT_Display] := _PinLow outa[CLK_Display] := _PinHigh outa[CLK_Display] := _PinLow waitcnt(cnt+100000) '''''''''''''''''''''''''''''''''''''''''''''''' outa[LAT_Display] := _PinHigh outa[EN_Display] := _PinLow repeat (512) outa[CLK_Display] := _PinLow outa[SER0_Display] := 0 outa[SER1_Display] := 1 outa[SER2_Display] := 0 outa[SER3_Display] := 0 outa[SER4_Display] := 1 outa[SER5_Display] := 1 outa[SER6_Display] := 1 outa[SER7_Display] := 0 outa[CLK_Display] := _PinHigh outa[CLK_Display] := _PinLow outa[LAT_Display] := _PinLow outa[CLK_Display] := _PinHigh outa[CLK_Display] := _PinLow waitcnt(cnt+100000) outa[LAT_Display] := _PinHigh outa[EN_Display] := _PinHigh repeat (512) outa[CLK_Display] := _PinLow outa[SER0_Display] := 1 outa[SER1_Display] := 0 outa[SER2_Display] := 1 outa[SER3_Display] := 1 outa[SER4_Display] := 0 outa[SER5_Display] := 0 outa[SER6_Display] := 0 outa[SER7_Display] := 1 outa[CLK_Display] := _PinHigh outa[CLK_Display] := _PinLow outa[LAT_Display] := _PinLow outa[CLK_Display] := _PinHigh outa[CLK_Display] := _PinLow waitcnt(cnt+100000) '''''''''''''''''''''''''''''''''''''''''''''''' outa[LAT_Display] := _PinHigh outa[EN_Display] := _PinLow repeat (512) outa[CLK_Display] := _PinLow outa[SER0_Display] := 0 outa[SER1_Display] := 0 outa[SER2_Display] := 1 outa[SER3_Display] := 1 outa[SER4_Display] := 1 outa[SER5_Display] := 0 outa[SER6_Display] := 0 outa[SER7_Display] := 1 outa[CLK_Display] := _PinHigh outa[CLK_Display] := _PinLow outa[LAT_Display] := _PinLow outa[CLK_Display] := _PinHigh outa[CLK_Display] := _PinLow waitcnt(cnt+100000) outa[LAT_Display] := _PinHigh outa[EN_Display] := _PinHigh repeat (512) outa[CLK_Display] := _PinLow outa[SER0_Display] := 0 outa[SER1_Display] := 1 outa[SER2_Display] := 1 outa[SER3_Display] := 0 outa[SER4_Display] := 1 outa[SER5_Display] := 1 outa[SER6_Display] := 0 outa[SER7_Display] := 0 outa[CLK_Display] := _PinHigh outa[CLK_Display] := _PinLow outa[LAT_Display] := _PinLow outa[CLK_Display] := _PinHigh outa[CLK_Display] := _PinLow waitcnt(cnt+100000) return PUB SetPins dira[CLK_Display] := 1 dira[SER1_Display] := 1 dira[SER2_Display] := 1 dira[SER3_Display] := 1 dira[SER4_Display] := 1 dira[SER5_Display] := 1 dira[SER6_Display] := 1 dira[SER7_Display] := 1 dira[SER0_Display] := 1 dira[LAT_Display] := 1 dira[EN_Display] := 1 return