MegaDeth
10.10.2007, 21:45
контроллер впадает в спячку, но выходить из нее по прерыванию по изменению уровня на линиях ввода\вывода не желает. если включить но заранее подать выс уровень на линию - тогда горит светодиод (бит 4 GPIO=1 )
list p=12F629
#include <p12f629.inc>
__CONFIG _CP_OFF & _WDT_OFF & _MCLRE_OFF & _INTRC_OSC_NOCLKOUT
counter equ 0x0a
count1 EQU 0x0b
count2 equ 0x0c
#define led GPIO,4
#define KEY1 GPIO,0
#define KEY2 GPIO,1
#define KEY3 GPIO,3
;------calibr Gen--------
bsf STATUS,RP0;Bank 1
call 3FFh ;Get the calibr value
movwf OSCCAL ;Calibrate
clrf INTCON
init;-----------inst GPIO--------
bsf STATUS,RP0
movlw b'00000000'
movwf OPTION_REG
movlw B'00101111'
movwf TRISIO
movlw b'00001011'
movwf WPU
movlw b'00001011'
movf IOCB
bsf INTCON,3
bcf INTCON,0
bcf STATUS,RP0
movlw 0xff
movwf CMCON
clrf GPIO
;---------------------------
opr btfss KEY1
goto $+4
bcf led
sleep
nop
goto init
bsf led
goto opr
end
кто хотябы вообще имел дело с этим намекните что нетак понимяю что в этой писаине разбиратся никто небудет, даже отладчик дальше слипа не работает :)
list p=12F629
#include <p12f629.inc>
__CONFIG _CP_OFF & _WDT_OFF & _MCLRE_OFF & _INTRC_OSC_NOCLKOUT
counter equ 0x0a
count1 EQU 0x0b
count2 equ 0x0c
#define led GPIO,4
#define KEY1 GPIO,0
#define KEY2 GPIO,1
#define KEY3 GPIO,3
;------calibr Gen--------
bsf STATUS,RP0;Bank 1
call 3FFh ;Get the calibr value
movwf OSCCAL ;Calibrate
clrf INTCON
init;-----------inst GPIO--------
bsf STATUS,RP0
movlw b'00000000'
movwf OPTION_REG
movlw B'00101111'
movwf TRISIO
movlw b'00001011'
movwf WPU
movlw b'00001011'
movf IOCB
bsf INTCON,3
bcf INTCON,0
bcf STATUS,RP0
movlw 0xff
movwf CMCON
clrf GPIO
;---------------------------
opr btfss KEY1
goto $+4
bcf led
sleep
nop
goto init
bsf led
goto opr
end
кто хотябы вообще имел дело с этим намекните что нетак понимяю что в этой писаине разбиратся никто небудет, даже отладчик дальше слипа не работает :)