Доброго времени суток, написал простую программку мигания светодиодом (светодиод двухцветный) и прилепил кнопку для изменения пред делителя. Проблема в том, что в симуляторе данная программа работает, а в реале (т.е. в контроллере) нет. Контроллер PIC12F675, на PIC12F629 та же беда. Не пойму где ошибка...
код:
TR_0 EQU 0X21
ST_SIG EQU 0X22
OP_1 EQU 0X23
CL_1 EQU 0X24
TR_1 EQU 0X25
TR_2 EQU 0X26
;TR_2 EQU 0X30
;TR_3 EQU 0X31
;M_1 EQU 0X32
Org 0X00
GOTO MAIN
;ORG 0X01
;MOVLW .32
;ORG 0X02
;MOVLW .180
Org 0X04
GOTO TMR_0
;***************************************************************************
MAIN: ;установка портов
BSF STATUS, RP0
CLRF GPIO
MOVLW B'00000111'
MOVWF CMCON
MOVLW B'00001111'
MOVWF TRISIO
MOVLW B'00000000'
MOVWF OPTION
MOVLW B'10100000'
MOVWF INTCON
;CALL 0X03F8
;MOVWF OSCCAL
MOVLW 0X00
MOVWF WPU
MOVWF IOCB
BCF STATUS, RP0
CLRWDT
CLRF TMR0
BCF STATUS, Z
;=========================================================================
START: ;программа
MOVFW GPIO
MOVWF OP_1
BTFSC OP_1, 2 ;кнопка
GOTO START1 ; отпущена
BSF STATUS, RP0 ;нажата
MOVLW 0X06
MOVWF OPTION
BCF STATUS, RP0
CLRF TMR0
BCF STATUS, Z
BSF GPIO, 5
BCF GPIO, 4
CALL T_0
BCF GPIO, 5
BSF GPIO, 4
CALL T_0
MOVFW GPIO
MOVWF OP_1
BTFSS OP_1, 2
GOTO START1
GOTO START
;-------------------------------------------------------------------
START1: ;кнопка отпущена
;BTFSS GPIO, 3
;GOTO START1
BSF STATUS, RP0 ;банк 1
MOVLW 0X03 ;загрузить предделитель в W
MOVWF OPTION ;предделитель в OPTION
BCF STATUS, RP0 ;банк 0
CLRF TMR0
BCF STATUS, Z
BSF GPIO, 5
BCF GPIO, 4
CALL T_0
BCF GPIO, 5
BSF GPIO, 4
CALL T_0
MOVFW GPIO
MOVWF OP_1
BTFSC OP_1, 2
GOTO START1
GOTO START
;=========================================================================
T_0:
BTFSS STATUS, Z
GOTO T_0
CLRF TR_0
BCF STATUS, Z
RETURN
TMR_0:
BCF INTCON, T0IF
INCF TR_0, 1
MOVFW TR_0
XORLW .48
RETFIE