;EvenSimplerGpsdo.ASM PROCESSOR 12F629 INCLUDE "P12F629.INC" errorlevel 1 ; =============================================================== ; GPIO 0, 1 and 3 used for programming. ; GP5 is Clock In #define Iout 2 #define Qout 4 __config 0x3F93 ;EC Mode for ext clock input ;CPD Off, CP Off, Boden Off, MCLRE = I/O, PWRTE Off, WDT Off, org 0 nop clrw movwf INTCON ;disable interrupts goto startup ;jump to main code ints retfie ;interrupt service routine code startup bsf STATUS,RP0 ;ram page 1 movlw b'00000000' ;All outputs movwf TRISIO ; movlw b'10001000' ; movwf OPTION_REG bcf STATUS, RP0 clrf Temp Loop ;20MHz Input, 5MHz clock loops at 10kHz bcf Temp, Iout movf Temp, W movwf GPIO call Delay nop nop bcf Temp, Qout movf Temp, W movwf GPIO call Delay nop nop bsf Temp, Iout movf Temp, W movwf GPIO call Delay nop nop bsf Temp, Qout movf Temp, W movwf GPIO call Delay goto Loop ;================== Delay ;5.N + 5 clocks including call and return, 4 times movlw d'23' ; + 20 extra clocks in the calling loop movwf DelCount ; DelLoop ; nop nop decfsz DelCount goto DelLoop return ;----------------------------------------------- cblock 0x20 ;64 Bytes availalble Temp DelCount Counter endc end