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

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

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

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

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

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

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 10.02.2004, 21:51  
Picallka
Гость
 
Сообщений: n/a
По умолчанию переполнение TMR2 ???

Дело с Pic16F877 имею не так давно, прочитал все доступные доки по ним, но ни как не могу разобрать с прерываниями, в частности по TMR2. Если не трудно пришлите элементарный кусочек проги, которая бы запускала процедуру Sub1 при переполнении TMR2 с помощью прерывания.
Реклама:
 
Непрочитано 11.02.2004, 20:42  
DK
Почётный гражданин KAZUS.RU
 
Аватар для DK
 
Регистрация: 10.05.2003
Адрес: Москва
Сообщений: 2,528
Сказал спасибо: 737
Сказали Спасибо 1,927 раз(а) в 799 сообщении(ях)
DK на пути к лучшему
По умолчанию

А какая разница , TMR1 или TMR2? Я вот так делал. Мне нужно было несколько переполнений таймера - слишком частота большая

Код:
pause2
	bsf T2CON,TMR2ON
	bcf flag_int,0
test			
	btfss PIR2,TMR2IF
	goto test
	bcf PIR2,TMR2IF
	decfsz cnt_tmr2,1
	goto test
	movlw 0ah
	movwf cnt_tmr2
	bcf T2CON,TMR2ON
	bcf STATUS,RP1
	bcf STATUS,RP0
	clrf TMR2
	call Init2
DK вне форума  
Сказали "Спасибо" DK
warel (24.06.2019)
Непрочитано 11.02.2004, 21:32  
Xonuc
Гость
 
Сообщений: n/a
По умолчанию

; Вектор сброса
org 0x000
goto start

; Вектор прерываний
org 0x004

; Сохранение регистров W, STATUS, PCLATH
movwf W_TEMP
swapf STATUS,W
bcf STATUS,PR1
bcf STATUS,PR0
movwf STATUS_TEMP
movf PCLATH,W
movwf PCLATH_TEMP
clrf PCLATH

; Проверка что прерывание от TMR2
btfss PIR1,TMR2IF
goto cont
; Обработка прерываний от TMR2
bcf PIR1,TMR2IF


goto int_end

; Проверка других источников прерываний
cont:



; Завершение прерываний
int_end:

; Востановить регистры PCLATH, STATUS, W
movf PCLATH_TEMP,W
movwf PCLATH
swapf STATUS_TEMP,W
movwf STATUS
swapf W_TEMP,F
swapf W_TEMP,W
retfie

start:
; Настройка TMR2, например
movlw B'00000100'
movwf T2CON

; Включение прерываний от TMR2
bsf STATUS,PR0
bsf PIE1,TMR2IE
bcf STATUS,PR0

; Разрешение периферийных прерываний
bsf INTCON,PEIE

; Глобальное разрешение прерываний
bsf INTCON,GIE

main:

; Ваша программа

goto main
end
 
 

Закладки
Опции темы

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

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

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


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot