' 'Program to simulate the LORAN C signal 12112009 'working xtal wrong manually set to 40 Mc but correct for free standing xtal 'RA.0 normal=1 100kc RA.1 inverted=2 100KC ra.2= duration ra.3 GRI start trigger 'RA.X is backwards from decimal. msb first lsb last 'dlycnt sets remainder of GRI 10ms + dlycnt DEVICE SX28, OSCHS3, TURBO, STACKX, OPTIONX FREQ 40_000_000 dlycnt var word 'dlycnt = 250 'dlycnt X 200us + 10ms = GRI can not use a constant causes 200 us tail glitch sigin Pin rb.0 input 'character in signal LCout pin ra output 'Signal control port ra nibble PROGRAM Start Start: ' GROUP 1 do 'Pulse 0 loop until sigin = 1 LCout = %1101 'Loran on slot 0 do loop until sigin = 0 do loop until sigin = 1 LCout = %1000 'Loran off slot 1 do loop until sigin = 0 do loop until sigin = 1 'Loran off slot 2 LCout = %1000 do loop until sigin = 0 do loop until sigin = 1 LCout = %1000 'Loran off slot 3 do loop until sigin = 0 do loop until sigin = 1 LCout = %1000 'Loran off slot 4 do loop until sigin = 0 do 'Pulse 1 loop until sigin = 1 LCout = %1001 'Loran on slot 0 do loop until sigin = 0 do loop until sigin = 1 LCout = %1000 'Loran off slot 1 do loop until sigin = 0 do loop until sigin = 1 'Loran off slot 2 LCout = %1000 do loop until sigin = 0 do loop until sigin = 1 LCout = %1000 'Loran off slot 3 do loop until sigin = 0 do loop until sigin = 1 LCout = %1000 'Loran off slot 4 do loop until sigin = 0 do 'Pulse 2 loop until sigin = 1 LCout = %1010 'Loran on slot 0 do loop until sigin = 0 do loop until sigin = 1 LCout = %1000 'Loran off slot 1 do loop until sigin = 0 do loop until sigin = 1 'Loran off slot 2 LCout = %1000 do loop until sigin = 0 do loop until sigin = 1 LCout = %1000 'Loran off slot 3 do loop until sigin = 0 do loop until sigin = 1 LCout = %1000 'Loran off slot 4 do loop until sigin = 0 do 'Pulse 3 loop until sigin = 1 LCout = %1010 'Loran on slot 0 do loop until sigin = 0 do loop until sigin = 1 LCout = %1000 'Loran off slot 1 do loop until sigin = 0 do loop until sigin = 1 'Loran off slot 2 LCout = %1000 do loop until sigin = 0 do loop until sigin = 1 LCout = %1000 'Loran off slot 3 do loop until sigin = 0 do loop until sigin = 1 LCout = %1000 'Loran off slot 4 do loop until sigin = 0 do 'Pulse 4 loop until sigin = 1 LCout = %1001 'Loran on slot 0 do loop until sigin = 0 do loop until sigin = 1 LCout = %1000 'Loran off slot 1 do loop until sigin = 0 do loop until sigin = 1 'Loran off slot 2 LCout = %1000 do loop until sigin = 0 do loop until sigin = 1 LCout = %1000 'Loran off slot 3 do loop until sigin = 0 do loop until sigin = 1 LCout = %1000 'Loran off slot 4 do loop until sigin = 0 do 'Pulse 5 loop until sigin = 1 LCout = %1010 'Loran on slot 0 do loop until sigin = 0 do loop until sigin = 1 LCout = %1000 'Loran off slot 1 do loop until sigin = 0 do loop until sigin = 1 'Loran off slot 2 LCout = %1000 do loop until sigin = 0 do loop until sigin = 1 LCout = %1000 'Loran off slot 3 do loop until sigin = 0 do loop until sigin = 1 LCout = %1000 'Loran off slot 4 do loop until sigin = 0 do 'Pulse 6 loop until sigin = 1 LCout = %1001 'Loran on slot 0 do loop until sigin = 0 do loop until sigin = 1 LCout = %1000 'Loran off slot 1 do loop until sigin = 0 do loop until sigin = 1 'Loran off slot 2 LCout = %1000 do loop until sigin = 0 do loop until sigin = 1 LCout = %1000 'Loran off slot 3 do loop until sigin = 0 do loop until sigin = 1 LCout = %1000 'Loran off slot 4 do loop until sigin = 0 do 'Pulse 7 loop until sigin = 1 LCout = %1010 'Loran on slot 0 do loop until sigin = 0 do loop until sigin = 1 LCout = %1000 'Loran off slot 1 do loop until sigin = 0 do loop until sigin = 1 'Loran off slot 2 LCout = %1000 do loop until sigin = 0 do loop until sigin = 1 LCout = %1000 'Loran off slot 3 do loop until sigin = 0 do loop until sigin = 1 LCout = %1000 'Loran off slot 4 do loop until sigin = 0 do 'Pulse 8 loop until sigin = 1 LCout = %1000 'Loran on slot 0 do loop until sigin = 0 do loop until sigin = 1 LCout = %1000 'Loran off slot 1 do loop until sigin = 0 do loop until sigin = 1 'Loran off slot 2 LCout = %1000 do loop until sigin = 0 do loop until sigin = 1 LCout = %1000 'Loran off slot 3 do loop until sigin = 0 do loop until sigin = 1 LCout = %1000 'Loran off slot 4 do loop until sigin = 0 do 'Pulse 9 loop until sigin = 1 LCout = %1001 'Loran on slot 0 do loop until sigin = 0 do loop until sigin = 1 LCout = %1000 'Loran off slot 1 do loop until sigin = 0 do loop until sigin = 1 'Loran off slot 2 LCout = %1000 do loop until sigin = 0 do loop until sigin = 1 LCout = %1000 'Loran off slot 3 do loop until sigin = 0 do loop until sigin = 1 LCout = %1000 'Loran off slot 4 do loop until sigin = 0 'XXXXXXXXXXX Group 1 delay XXXXXXXXXXXXX for dlycnt = 1 to 250 do loop until sigin = 1 do loop until sigin = 0 next ' Let the next pulse reset to 0 better timing measure LCout = %0000 'GROUP 2 gri 50000=40 do 'Pulse 0 loop until sigin = 1 LCout = %0001 'Loran on slot 0 do loop until sigin = 0 do loop until sigin = 1 LCout = %0000 'Loran off slot 1 do loop until sigin = 0 do loop until sigin = 1 'Loran off slot 2 LCout = %0000 do loop until sigin = 0 do loop until sigin = 1 LCout = %0000 'Loran off slot 3 do loop until sigin = 0 do loop until sigin = 1 LCout = %0000 'Loran off slot 4 do loop until sigin = 0 do 'Pulse 1 loop until sigin = 1 LCout = %0010 'Loran on slot 0 do loop until sigin = 0 do loop until sigin = 1 LCout = %0000 'Loran off slot 1 do loop until sigin = 0 do loop until sigin = 1 'Loran off slot 2 LCout = %0000 do loop until sigin = 0 do loop until sigin = 1 LCout = %0000 'Loran off slot 3 do loop until sigin = 0 do loop until sigin = 1 LCout = %0000 'Loran off slot 4 do loop until sigin = 0 do 'Pulse 2 loop until sigin = 1 LCout = %0010 'Loran on slot 0 do loop until sigin = 0 do loop until sigin = 1 LCout = %0000 'Loran off slot 1 do loop until sigin = 0 do loop until sigin = 1 'Loran off slot 2 LCout = %0000 do loop until sigin = 0 do loop until sigin = 1 LCout = %0000 'Loran off slot 3 do loop until sigin = 0 do loop until sigin = 1 LCout = %0000 'Loran off slot 4 do loop until sigin = 0 do 'Pulse 3 loop until sigin = 1 LCout = %0001 'Loran on slot 0 do loop until sigin = 0 do loop until sigin = 1 LCout = %0000 'Loran off slot 1 do loop until sigin = 0 do loop until sigin = 1 'Loran off slot 2 LCout = %0000 do loop until sigin = 0 do loop until sigin = 1 LCout = %0000 'Loran off slot 3 do loop until sigin = 0 do loop until sigin = 1 LCout = %0000 'Loran off slot 4 do loop until sigin = 0 do 'Pulse 4 loop until sigin = 1 LCout = %0001 'Loran on slot 0 do loop until sigin = 0 do loop until sigin = 1 LCout = %0000 'Loran off slot 1 do loop until sigin = 0 do loop until sigin = 1 'Loran off slot 2 LCout = %0000 do loop until sigin = 0 do loop until sigin = 1 LCout = %0000 'Loran off slot 3 do loop until sigin = 0 do loop until sigin = 1 LCout = %0000 'Loran off slot 4 do loop until sigin = 0 do 'Pulse 5 loop until sigin = 1 LCout = %0001 'Loran on slot 0 do loop until sigin = 0 do loop until sigin = 1 LCout = %0000 'Loran off slot 1 do loop until sigin = 0 do loop until sigin = 1 'Loran off slot 2 LCout = %0000 do loop until sigin = 0 do loop until sigin = 1 LCout = %0000 'Loran off slot 3 do loop until sigin = 0 do loop until sigin = 1 LCout = %0000 'Loran off slot 4 do loop until sigin = 0 do 'Pulse 6 loop until sigin = 1 LCout = %0001 'Loran on slot 0 do loop until sigin = 0 do loop until sigin = 1 LCout = %0000 'Loran off slot 1 do loop until sigin = 0 do loop until sigin = 1 'Loran off slot 2 LCout = %0000 do loop until sigin = 0 do loop until sigin = 1 LCout = %0000 'Loran off slot 3 do loop until sigin = 0 do loop until sigin = 1 LCout = %0000 'Loran off slot 4 do loop until sigin = 0 do 'Pulse 7 loop until sigin = 1 LCout = %0001 'Loran on slot 0 do loop until sigin = 0 do loop until sigin = 1 LCout = %0000 'Loran off slot 1 do loop until sigin = 0 do loop until sigin = 1 'Loran off slot 2 LCout = %0000 do loop until sigin = 0 do loop until sigin = 1 LCout = %0000 'Loran off slot 3 do loop until sigin = 0 do loop until sigin = 1 LCout = %0000 'Loran off slot 4 do loop until sigin = 0 do 'Pulse 8 loop until sigin = 1 LCout = %0000 'Loran on slot 0 do loop until sigin = 0 do loop until sigin = 1 LCout = %0000 'Loran off slot 1 do loop until sigin = 0 do loop until sigin = 1 'Loran off slot 2 LCout = %0000 do loop until sigin = 0 do loop until sigin = 1 LCout = %0000 'Loran off slot 3 do loop until sigin = 0 do loop until sigin = 1 LCout = %0000 'Loran off slot 4 do loop until sigin = 0 do 'Pulse 9 loop until sigin = 1 LCout = %0010 'Loran on slot 0 do loop until sigin = 0 do loop until sigin = 1 LCout = %0000 'Loran off slot 1 do loop until sigin = 0 do loop until sigin = 1 'Loran off slot 2 LCout = %0000 do loop until sigin = 0 do loop until sigin = 1 LCout = %0000 'Loran off slot 3 do loop until sigin = 0 do loop until sigin = 1 LCout = %0000 'Loran off slot 4 do loop until sigin = 0 for dlycnt =1 to 250 do loop until sigin = 1 do loop until sigin = 0 next goto start