Обсуждаем контроллеры компании Atmel.
Ответить

Re: Таймер на Attiny 13

Сб ноя 11, 2017 20:21:47

попытка 2
фузы заводские

Добавлено after 21 minute 16 seconds:
а это с режимом powerdown
если есть возможность замерьте пожалуйста потребление ,самому интересно :))
Вложения
powerdown.hex
(1.06 KiB) Скачиваний: 496
noname1.hex
(676 байт) Скачиваний: 488

Re: Таймер на Attiny 13

Сб ноя 11, 2017 20:30:22

попытка 2
фузы заводские

Работает! Большое спасибо! :)
а Вы не могли бы исходники скнуть? вдруг что то придется подстроить, и чтобы больше не тревожить никого.. а как изменить задержку я разберусь, если что)) главное алгоритм работает правильно! :)

Re: Таймер на Attiny 13

Сб ноя 11, 2017 20:44:11

BASCOM AVR,вполне понятный язык,вот с комментариями
Спойлер$Regfile = "attiny13.dat" ' контроллер
$Crystal = 1200000 ' частота контоллера
$hwstack = 32 ' стек
$swstack = 8 '
$framesize = 16 '
Config PortB.3 = Input : PortB.3 = 0 '2 выв
Config PortB.0 = Output : PortB.0 = 0 '5 выв
Config PortB.1 = output : PortB.1 = 0 '6 выв
Config Debounce = 30 ' подпрограмма кнопки
do ' цикл
Debounce pinB.3 , 1 , Pr ' подпрограмма кнопки
loop
end


Pr: '
pORTB.0 = 1 ' вкл
waitms 200 ' 200 мсек
pORTB.0 = 0 ' выкл
wait 1 ' 1 сек
pORTB.0 = 1 '
waitms 200 '
pORTB.0 = 0 '
wait 1 '
PortB.1 = 1 '
waitms 200 '
PortB.1 = 0 '

Return

а это со сном
Спойлер$Regfile = "attiny13.dat"
$Crystal = 1200000
$hwstack = 32
$swstack = 8
$framesize = 16
Config PortB.3 = Input : PortB.3 = 0 '2
Config PortB.0 = Output : PortB.0 = 0 '5
Config PortB.1 = output : PortB.1 = 0 '6
Enable Interrupts
Pcmsk = 8
dim f as bit
f = 0
On Pcint0 Pr
Enable Pcint0
do
if f = 1 then
disable Pcint0
f = 0
pORTB.0 = 1
waitms 200
pORTB.0 = 0
wait 1
pORTB.0 = 1
waitms 200
pORTB.0 = 0
wait 1
PortB.1 = 1
waitms 200
PortB.1 = 0
Enable Pcint0
end if
powerdown 'idle
loop
end


Pr:
f = pinb.3

Return


P.S. Только прошу не пинать за корявый код

Re: Таймер на Attiny 13

Сб ноя 11, 2017 20:57:48

P.S. Только прошу не пинать за корявый код


во время загорания диодов, потребление показывает 0.02А.
ток покоя 0
но моему тестеру верить особо нельзя.. по этому как мог, померил)
еще раз.. Огромное Спасибо! :)

Re: Таймер на Attiny 13

Сб ноя 11, 2017 21:00:09

незачто )))

Re: Таймер на Attiny 13

Ср мар 07, 2018 18:38:17

Добрый день! Опять нужна Ваша помощь..
очень нужно добавить одну функцию в прошивку.
то что есть сейчас:
алгоритм....
-на 2 ногу подается кратковременный сигнал высокого уровня
- на 5 ноге появляется импульс, длительностью в 1/5 секунды
- через 1 секунду на 5 ноге импульс повторяется
-еще через 1 сек., на 6 ноге такой же импульс, а на 5 ноге ничего нет
- цикл завершен, до следующего входного сигнала.
Светодиоды будут для отладки, потом будут подключены устройства, через транзисторные ключи.

схема здесь
http://img.radiokot.ru/files/93084/medi ... 5yscmm.jpg

нужно изменить:
- если на входе 2 ноги будет "0", то на выходе 5 ноги будет третий сигнал, длительностью 800мсек.
- если на 2 ноге будет "1", то третий сигнал будет на 6 ноге 200мсек.

BASCOM AVR,вполне понятный язык,вот с комментариями
Спойлер$Regfile = "attiny13.dat" ' контроллер
$Crystal = 1200000 ' частота контоллера
$hwstack = 32 ' стек
$swstack = 8 '
$framesize = 16 '
Config PortB.3 = Input : PortB.3 = 0 '2 выв
Config PortB.0 = Output : PortB.0 = 0 '5 выв
Config PortB.1 = output : PortB.1 = 0 '6 выв
Config Debounce = 30 ' подпрограмма кнопки
do ' цикл
Debounce pinB.3 , 1 , Pr ' подпрограмма кнопки
loop
end


Pr: '
pORTB.0 = 1 ' вкл
waitms 200 ' 200 мсек
pORTB.0 = 0 ' выкл
wait 1 ' 1 сек
pORTB.0 = 1 '
waitms 200 '
pORTB.0 = 0 '
wait 1 '
PortB.1 = 1 '
waitms 200 '
PortB.1 = 0 '

Return

а это со сном
Спойлер$Regfile = "attiny13.dat"
$Crystal = 1200000
$hwstack = 32
$swstack = 8
$framesize = 16
Config PortB.3 = Input : PortB.3 = 0 '2
Config PortB.0 = Output : PortB.0 = 0 '5
Config PortB.1 = output : PortB.1 = 0 '6
Enable Interrupts
Pcmsk = 8
dim f as bit
f = 0
On Pcint0 Pr
Enable Pcint0
do
if f = 1 then
disable Pcint0
f = 0
pORTB.0 = 1
waitms 200
pORTB.0 = 0
wait 1
pORTB.0 = 1
waitms 200
pORTB.0 = 0
wait 1
PortB.1 = 1
waitms 200
PortB.1 = 0
Enable Pcint0
end if
powerdown 'idle
loop
end


Pr:
f = pinb.3

Return


P.S. Только прошу не пинать за корявый код

Re: Таймер на Attiny 13

Пт мар 09, 2018 10:06:01

1
Ответить