подключил кнопку, зумер и LED.  
Код. Думаю надо будет просмотреть его на свежую голову может что упустил. Теперь надо поработать над внешними прерываниями и режимом сна, и начину разводить плату.
Код:
LIST      P=PIC12F629
      __CONFIG      H'3F86
      
      STATUS      EQU      H'03
      CMCON      EQU      H'19
      GPIO      EQU      H'05
      OSCCAL      EQU      H'10
      TRISIO      EQU      H'05
      WPU         EQU      H'15
      OPTION_REG    EQU      H'01
      Reg_1      EQU      H'20
      Reg_2      EQU      H'21
      HOLD      EQU      H'22
      org         0
      
   
; инициализация 
      bcf         STATUS,5       ; банк 0
      clrf      GPIO         ; очистка порта
      movlw      .7            
      movwf      CMCON         ; отключение компоратора
      bsf         STATUS,5      ; банк 1
      call       3FFh           ; загрузка калибровочной константы
      movwf       OSCCAL             
      ; активная подтяжка
      movlw      b'11001100      
      movwf      WPU
      bcf         OPTION_REG,7    
      ; настроика выходов порта
      movlw      b'11100100     
      movwf      TRISIO         
      bcf         STATUS,5      ; банк 0
   
; кнолпка
; взрыв с трёх секундной задержкой
but1   movlw      .100      ; трёх сек удерж кнгопки
      movwf      HOLD
but2   btfss      GPIO,2
      btfsc      GPIO,2
      goto       but1      ; сброс счетчика если отпустили кнопку раньше трёх секунд
      call      Pause
      decfsz      HOLD, F
      goto      but2
      
      
      call      IndSig      ;индикация
      
      
; при удержании более 10 секунд взрыв без задержки   
      movlw      .250      ; шесть секунд удержание для включения режима без задержки
      movwf      HOLD      
but3   btfss      GPIO,2
      btfsc      GPIO,2
      goto       delay_boom   ; если неудержали шесть секунд взрыв с задеожкой
      call      Pause
      decfsz      HOLD, F
      goto      but3
      call      IndSig      ;индикация
   
but4   btfss      GPIO,2      ; ожидание изменения на входе
      goto       but4      
      goto       boom      
      
delay_boom   
      movlw      .125   
      movwf      HOLD
d_b      call      Pause      
      decfsz      HOLD, F
      goto       d_b
      
      
;ПЕРЕДАЧА СИГНАЛА 
boom   movlw      .133         ; Заголовок 2400мкС
      call      BASESIGNAL   
      movlw      .34            ; ID игрока bit 8
      call      BASESIGNAL
      movlw      .34            ; ID игрока bit 7
      call      BASESIGNAL 
      movlw      .34            ; ID игрока bit 6
      call      BASESIGNAL
      movlw      .34            ; ID игрока bit 5
      call      BASESIGNAL 
      movlw      .34            ; ID игрока bit 4
      call      BASESIGNAL
      movlw      .34            ; ID игрока bit 3
      call      BASESIGNAL 
      movlw      .34            ; ID игрока bit 2
      call      BASESIGNAL
      movlw      .34            ; ID игрока bit 1
      call      BASESIGNAL 
      movlw      .34            ; ID команды bit 2
      call      BASESIGNAL
      movlw      .34            ; ID команды bit 1
      call      BASESIGNAL 
      movlw      .34            ; Урон bit 4
      call      BASESIGNAL
      movlw      .34            ; Урон bit 3
      call      BASESIGNAL 
      movlw      .34            ; Урон bit 2
      call      BASESIGNAL
      movlw      .68            ; Урон bit 1
      call      BASESIGNAL 
      goto      boom
      
      
;БАЗОВЫЙ  ИМПУЛЬС 56kHZ, ДЛИТЕЛЬНОСТЬ ЗАВИСИТ ОТ Reg_1         
BASESIGNAL   movwf      Reg_1
SIGNAL      bsf         GPIO,0
Pause1      movlw       .2
            movwf       Reg_2
wr          decfsz      Reg_2, F
            goto        wr
            nop
         bcf         GPIO,0
Pause2      movlw       .1
            movwf       Reg_2
wr1         decfsz      Reg_2, F
            goto        wr1
            nop
         decfsz   Reg_1,F
         goto      SIGNAL
;ЗАДЕРЖКА МЕЖДУ ИМПУЛЬСАМИ delay = 582 machine cycles
Pause3      movlw       .193
            movwf       Reg_2
wr2         decfsz      Reg_2, F
            goto        wr2
            nop
            nop
         return
         
;delay = 25'000 machine cycles
Pause       movlw       .118
            movwf       Reg_1
            movlw       .33
            movwf       Reg_2
wr3          decfsz      Reg_1, F
            goto        wr3
            decfsz      Reg_2, F
            goto        wr3
            nop
            nop
         return
;сигнал индикации      
IndSig   movlw      b'11010010
      movwf      GPIO
      movlw      .20   
      movwf      HOLD
d_b1   call      Pause      
      decfsz      HOLD, F
      goto       d_b1      
      clrf      GPIO
      return   
      
      end