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

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

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

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

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

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

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

 
Опции темы
Непрочитано 10.04.2010, 19:53  
pve70
Временная регистрация
 
Регистрация: 09.02.2007
Сообщений: 91
Сказал спасибо: 0
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
pve70 на пути к лучшему
По умолчанию Re: Детектор нуля и Tiny13

Здесь смотри http://avrhobby.ru/index.php?option=...tsmk&Itemid=53
Реклама:
pve70 вне форума  
Непрочитано 11.04.2010, 19:32  
Dtolok
Гражданин KAZUS.RU
 
Регистрация: 28.11.2007
Адрес: харьков
Сообщений: 850
Сказал спасибо: 339
Сказали Спасибо 43 раз(а) в 23 сообщении(ях)
Dtolok на пути к лучшему
По умолчанию Re: Детектор нуля и Tiny13

да вот собственно:

sub procedure Data_temperature( dim i as byte )

Ow_Reset(PORTA, i) ' Onewire reset signal
Ow_Write(PORTA, i, 0xCC) ' Issue command SKIP_ROM
Ow_Write(PORTA, i, 0x44) ' Issue command CONVERT_T
' Delay_ms(100)
Ow_Reset(PORTA, i)
Ow_Write(PORTA, i, 0xCC) ' Issue command SKIP_ROM
Ow_Write(PORTA, i, 0xBE) ' Issue command READ_SCRATCHPAD
temp = Ow_Read(PORTA, i)
temp = (Ow_Read(PORTA, i) ‹‹ + temp
end sub
sub procedure Data_analog( dim i as byte )
'влажность и получение кода нажатой клавиши
adc_rd = Adc_Read(i)
adc_rd = (adc_rd - 205)/6
end sub
sub procedure interrupt '

if INTCON.INT0IF = 1 then
'прерывание по "0"
PORTC.2 =1
TMR0L = 0xFA
TempTMR0 = 0 'обнуление ячейки кол-ва циклов счета
INTCON.INT0IF = 0
INTCON.TMR0IF = 0
T0CON.TMR0ON = 1 ' запуск таймера
PORTC.2 = 0
else
'прерывание по таймеру
if INTCON.TMR0IF = 1 then
TMR0L = 0xFA
INTCON.TMR0IF = 0


if (TempTMR0 › TMRLamp1) and (TempTMR0 › TMRLamp2) then
T0CON.TMR0ON = 0
PORTC.1 = 0 'выключение симисторов когда все каналы уже включены
PORTC.0 = 0 '
end if
if TempTMR0 = max then
T0CON.TMR0ON = 0 'выключение симисторов если кол-во циклов максимум (т.е. уже новое прерывание должно быть)
PORTC.1 = 0 '
PORTC.0 = 0 '

else
TempTMR0 = TempTMR0 + 1
end if
'вот здесь сравнение значения счетчика таймера и числа на котомо надо включить лампу
if TempTMR0 = TMRLamp1 then
PORTC.0 = 1 'включить лампу 1
end if
if TempTMR0 = TMRLamp2 then
PORTC.1 = 1 'включить лампу 2
end if
INTCON.TMR0IF = 0 '
end if
end if

end sub

в общем суть такая:
происходит прерывание по детектору "0" - включаем таймер и начинаем считать кол-во раз когда таймер обновляется у меня счетчик равен точно не помню наверно 60 т.е. 60 раз таймер обнулится прежде чем произойдет следующее прервание по детектору "0". (значение таймера каждый раз загружается при окончании счета таймера и возникновении прерывания по таймеру- поэтому периоды у нас одинаковые). Дальше в программе я указываю на каком значении счетчика по таймеру мне зажечь лампу (у меня их две и каждая регулируется отдельно) . как только значение счетчика счета прерывания таймера совпадает со значением заданным в программе, в прерывании PORTC.1= 1 т.е на симистор подается "1" и он открывается... в принципе нет необходимости уже дальше считать если все лампы горят... обнуляешь порты и ждешь следующего прерывания по детектору "0" , а в это время я считываю значения температуры с датчиков...
Dtolok вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Детектор отбоя телефонной линии XRM Поиск схем. Делимся схемами 1 28.09.2011 23:27
Очень низкочастотный детектор innovator_king Поиск схем. Делимся схемами 11 20.08.2010 00:27
VmLab и tiny13 alevladel Микроконтроллеры, АЦП, память и т.д 2 03.02.2010 09:57
Настройка нуля ОУ Iljichs Электроника - это просто 1 03.01.2010 13:14
TINY13 280959 Микроконтроллеры, АЦП, память и т.д 10 16.10.2009 10:53


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


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