Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту


 
Опции темы

Pic12F675 - как выйти из режима SLEEP

Непрочитано 15.08.2013, 07:37  
Архип
Временная регистрация
 
Регистрация: 16.08.2010
Сообщений: 58
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Архип на пути к лучшему
По умолчанию Pic12F675 - как выйти из режима SLEEP

Не могу вывести контроллер 12F675 из режима слип по изменению состояния на входе GP3.


; настройка слова конфигурации микроконтроллера
;
__config 011C4h

;..... Инициализация TRISIO направление выводов (GP3 - аппар. только вход) .......
;
MOVLW 0bh ; Значение для выбора направления 0000 1011 b
MOVWF TRISIO ; Установить GP‹3,1:0› - вход, GP‹5:4,2› выходы

BCF GPIO,LEDB ; Потушить синий светодиод
BSF GPIO,LEDR ; Зажечь красный светодиод

BCF INTCON,PEIE ; разрешение обработки прерываний переферии ??????????????????????
BSF INTCON,GPIE ; разрешить прерывания при изменении на GPIO

CLRF IOCB
BSF IOCB,IOCB3 ; разрешаем прерывания по изменению на GP3
BCF INTCON,GPIF ; сброс флага прерывания для GPIO
BCF INTCON,GIE ; разрешение прерываний

SLEEP
NOP
CALL PAUSE
BCF GPIO,LEDR ; Потушить красный светодиод
CALL PAUSE
CALL PAUSE
CALL PAUSE
BSF GPIO,LEDB ; Зажечь синий светодиод

Где несоответствие?
Реклама:
Архип вне форума  
Непрочитано 15.08.2013, 07:53  
firew0rker
Заблокирован
 
Регистрация: 22.04.2010
Сообщений: 347
Сказал спасибо: 41
Сказали Спасибо 106 раз(а) в 95 сообщении(ях)
firew0rker на пути к лучшему
По умолчанию Re: Pic12F675 - как выйти из режима SLEEP

Вместо разрешения прерываний запрещаете их:
BCF INTCON,PEIE
BCF INTCON,GIE
firew0rker вне форума  
Непрочитано 15.08.2013, 08:05  
Архип
Временная регистрация
 
Регистрация: 16.08.2010
Сообщений: 58
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Архип на пути к лучшему
По умолчанию Re: Pic12F675 - как выйти из режима SLEEP

Сообщение от firew0rker Посмотреть сообщение
Вместо разрешения прерываний запрещаете их:
BCF INTCON,PEIE
BCF INTCON,GIE

Устал разрешать... Не хочет выходить также и с разрешением периферии. Общее разрешение прерываний GIE, согласно документации, должно работать, как с запретом, так и с разрешением. Разница - в одном случае выходит на прерывание адр. 04, в другом продолжает программу после инструкции NOP.
Архип вне форума  
Непрочитано 15.08.2013, 08:17  
AJScorp
Почётный гражданин KAZUS.RUN
 
Аватар для AJScorp
 
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,550
Сказал спасибо: 384
Сказали Спасибо 735 раз(а) в 416 сообщении(ях)
AJScorp на пути к лучшему
По умолчанию Re: Pic12F675 - как выйти из режима SLEEP

Где у Вас переключение банков?
AJScorp вне форума  
Непрочитано 15.08.2013, 08:19  
Архип
Временная регистрация
 
Регистрация: 16.08.2010
Сообщений: 58
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Архип на пути к лучшему
По умолчанию Re: Pic12F675 - как выйти из режима SLEEP

Вот такая схема
Архип вне форума  
Непрочитано 15.08.2013, 08:22  
Архип
Временная регистрация
 
Регистрация: 16.08.2010
Сообщений: 58
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Архип на пути к лучшему
По умолчанию Re: Pic12F675 - как выйти из режима SLEEP

;................ Калибровка внутреннего OSC генератора .............................
;
BSF STATUS,RP0 ; ВЫБРАТЬ БАНК 1
CALL 3FFh ; Считать калибровочную константу
MOVWF OSCCAL ; Калибровать генератор
;
;............... Инициализация регистра OPTION_REG ..................................
;
BCF OPTION_REG,T0CS ; Выбор внутреннего источника тактирования TMR0
BSF OPTION_REG,PSA ; Назначить предварительный делитель перед WDT
BCF OPTION_REG,PS2 ; Значение коэф предварительного делителя (старш)
BSF OPTION_REG,PS1 ; Значение коэф предварительного делителя(1:4)
BCF OPTION_REG,PS0 ; Значение коэф предварительного делителя
;
;..... Инициализация TRISIO направление выводов (GP3 - аппар. только вход) .......
;
MOVLW 0bh ; Значение для выбора направления 0000 1011 b
MOVWF TRISIO ; Установить GP‹3,1:0› - вход, GP‹5:4,2› выходы
;
;............... Инициализация регистра ANSEL ......................
;
CLRF ANSEL ; Все выводы цифровые,источник тактовой частоты АЦП - Fosc/2
BSF ANSEL,ANS0 ; Настроить вывод GP0 - аналоговый
BSF ANSEL,ANS1 ; Настроить вывод GP1 - аналоговый
BSF ANSEL,ADCS0 ; Выбрать источник тактового сигнала АЦП - Fosc/8 (100)
;
BCF STATUS,RP0 ; ВЫБРАТЬ БАНК 0
Архип вне форума  
Непрочитано 15.08.2013, 09:22  
AJScorp
Почётный гражданин KAZUS.RUN
 
Аватар для AJScorp
 
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,550
Сказал спасибо: 384
Сказали Спасибо 735 раз(а) в 416 сообщении(ях)
AJScorp на пути к лучшему
По умолчанию Re: Pic12F675 - как выйти из режима SLEEP

BSF STATUS, RP0 ;IOCB в банке 1
Сообщение от Архип Посмотреть сообщение
CLRF IOCB
BSF IOCB,IOCB3 ; разрешаем прерывания по изменению на GP3
BCF STATUS, RP0 ;GPIO в банке 0
AJScorp вне форума  
Непрочитано 15.08.2013, 09:42  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Pic12F675 - как выйти из режима SLEEP

Там еще вроде порт надо прочесть после прерывания в обязательном порядке. Были такие грабли.
Easyrider83 вне форума  
Непрочитано 15.08.2013, 10:42  
alvadep
Почётный гражданин KAZUS.RUN
 
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,042
Сказал спасибо: 589
Сказали Спасибо 3,967 раз(а) в 1,825 сообщении(ях)
alvadep на пути к лучшему
По умолчанию Re: Pic12F675 - как выйти из режима SLEEP

Вроде порт надо прочесть и до перехода в режим SLEEP.
alvadep вне форума  
Непрочитано 15.08.2013, 10:53  
alvadep
Почётный гражданин KAZUS.RUN
 
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,042
Сказал спасибо: 589
Сказали Спасибо 3,967 раз(а) в 1,825 сообщении(ях)
alvadep на пути к лучшему
По умолчанию Re: Pic12F675 - как выйти из режима SLEEP

Архип, использование директивы banksel наглядней чем
Цитата:
BSF STATUS,RP0 ; ВЫБРАТЬ БАНК 1
Потом и самому будет легче читать код.
alvadep вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Решено] Так, рассказик :)) Я долго ржал :)) DK Отвлекитесь, эмбеддеры! 7 31.08.2007 22:33
[Решено] Сборник перлов любителей кабельщины mikesmith Отвлекитесь, эмбеддеры! 135 14.08.2007 15:49
[Решено] про блоки питания бу-га-га! zalman Отвлекитесь, эмбеддеры! 12 29.01.2007 10:46
[Решено] Всем эмбеддерам посвящается... Decan Отвлекитесь, эмбеддеры! 0 24.10.2005 14:43


Часовой пояс GMT +4, время: 13:05.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.