' {$STAMP BS2} ' {$PBASIC 2.5} 'Set up Pin arrangement SerialData1 PIN 2 SerialClock1 PIN 3 SerialLatch1 PIN 4 OutputEnabel1 PIN 5 SerialData2 PIN 7 SerialClock2 PIN 8 SerialLatch2 PIN 9 OutputEnabel2 PIN 10 SerialData3 PIN 12 SerialClock3 PIN 13 SerialLatch3 PIN 14 OutputEnabel3 PIN 15 'Data Variables EPromData1 VAR Byte EPromData2 VAR Byte EPromData3 VAR Byte EPromPointer1 VAR Byte EPromPointer2 VAR Byte EPromPointer3 VAR Byte FrameTimer VAR Byte '##########MAIN PROGRAM############### Main: GOSUB Fill_Data_In_EPROM GOSUB Setup DO UNTIL FrameTimer = 150 GOSUB FrameRaster FrameTimer = FrameTimer + 1 LOOP END '##########SUB ROUTINES LOCATED BELOW.########### Fill_Data_In_EPROM: DATA %01111111, %11000001, %00100000, 'Frame #10 Scan1 %10111111, %11000011, %11100000, 'Frame #10 Scan2 %11011111, %11000101, %00110000, 'Frame #10 Scan3 %11101111, %11000101, %00100000, 'Frame #10 Scan4 %11110111, %11000011, %11100000, 'Frame #10 Scan5 %11111011, %11000001, %00110000, 'Frame #10 Scan6 %11111101, %11000001, %00101000, 'Frame #10 Scan7 %11111110, %11000101, %00101000, 'Frame #10 Scan8 %11111111, %01000011, %11110000, 'Frame #10 Scan9 %11111111, %10000001, %00100000 'Frame #10 Scan10 RETURN Setup: LOW SerialLatch1 LOW SerialLatch2 LOW SerialLatch3 OutputEnable1 VAR Bit OutputEnable2 VAR Bit OutputEnable3 VAR Bit EPromPointer1 = 0 EPromPointer2 = 1 EPromPointer3 = 2 FrameTimer = 0 RETURN FrameRaster: OutputEnable1 = 0 OutputEnable2 = 0 OutputEnable3 = 0 OUTPUT OutputEnable1 OUTPUT OutputEnable2 OUTPUT OutputEnable3 DO UNTIL EPromPointer1 > 30 READ EPromPointer1, EPromData1 READ EPromPointer2, EPromData2 READ EPromPointer3, EPromData3 SHIFTOUT SerialData1, SerialClock1, LSBFIRST, [EPromData1] SHIFTOUT SerialData2, SerialClock2, LSBFIRST, [EPromData2] SHIFTOUT SerialData3, SerialClock3, LSBFIRST, [EPromData3] PULSOUT SerialLatch3, 1 PULSOUT SerialLatch1, 1 PULSOUT SerialLatch2, 1 EPromPointer1 = EPromPointer1 + 3 EPromPointer2 = EPromPointer2 + 3 EPromPointer3 = EPromPointer3 + 3 LOOP EPromPointer1 = 0 EPromPointer2 = 1 EPromPointer3 = 2 RETURN