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

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

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

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

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

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

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

 
Опции темы

переполнение TMR2 ???

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

Дело с Pic16F877 имею не так давно, прочитал все доступные доки по ним, но ни как не могу разобрать с прерываниями, в частности по TMR2. Если не трудно пришлите элементарный кусочек проги, которая бы запускала процедуру Sub1 при переполнении TMR2 с помощью прерывания.
Реклама:
 
Непрочитано 11.02.2004, 20:42  
DK
Почётный гражданин KAZUS.RUN
 
Аватар для DK
 
Регистрация: 10.05.2003
Адрес: Москва
Сообщений: 2,480
Сказал спасибо: 734
Сказали Спасибо 1,899 раз(а) в 777 сообщении(ях)
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, время: 17:57.


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