longer delay cascading arrays upto 700ms
Code:'**************************************************************** '* Name : delayline.BAS * '* Author : richard * '* Notice : * '* : All Rights Reserved * '* Date : * '* Version : 1.0 * '* Notes : 16f1825 * '* : * '**************************************************************** #CONFIG __config _CONFIG1, _FOSC_INTOSC & _CP_OFF & _WDTE_ON & _PWRTE_ON & _MCLRE_ON & _CLKOUTEN_OFF __config _CONFIG2, _PLLEN_ON & _LVP_OFF #ENDCONFIG OSCCON=$70 DEFINE OSC 32 ' Oscillator internal ANSELA=0 ANSELC=0 ' Select no analog TRISA=%111111 TRISC=%001111 PulseArray0 var byte [32] ' 1023 bits total this will allow delay of upto 700ms PulseArray1 var byte [32] PulseArray2 var byte [32] PulseArray3 var byte [32] tail var byte head var byte Arraytail var byte clear Arraytail=0 RunController: tail = Arraytail head = tail+1 PulseArray0.0[tail] = Porta.5 'set the last bit in the array as per b.0 PulseArray1.0[tail]= PulseArray0.0[head] PulseArray2.0[tail]= PulseArray1.0[head] PulseArray3.0[tail]= PulseArray2.0[head] Arraytail = head latc.4 = !latc.4 ' use p4 to check loop time on scope latc.5 = PulseArray3.0[head] ' output this bit ~ 700ms delay pauseus 500 ; adj to suit goto RunController




Bookmarks