Нашел схему вибротаймера на этом сайте radiokot.ru/circuit/digital/home/71/.
Много лишнего показалось. И т.к. не разбираюсь в мк, но хотелось бы сделать напоминалку на 1 час (бесконечный цикл)
Решил упростить до безобразия. Схема ниже.
Возможно переделать чтобы был сигнал каждый час (на вибротаблетку), предварительно поставив маломощный транзистор.
прошивка для микроконтроллера написана в среде BASCOM-AVR.
Исходник прошивки:
$regfile = "attiny13.dat"
Config Portb = Output
Do
Portb = 255
Waitms 100
Portb = 0
Waitms 100
Loop
End
т.е. что бы каждые пол часа был сигнал. В Протеусе выполняется каждые 24 мин. (потеря 2 мин на 10 мин.)
если поставлю на каждый час , то сигнал будет происходить каждые 48 мин.
У меня все тот же вопрос, в реальной жизни будет работать ???
спящий писал(а):К ресет ненадо прикладывать питание - это же сброс контроллера.
С такими комментариями запинают.Действительно ресет это сброс контроллера, но сброс низким уровнем.Значит при отключеном ресет вполне вероятно, что Мк посчитает это низким уровнем.Так что подключать к плюсу нужно, но через резистор 1кОм -10кОм чтобы была возможность внутрисхемного программирования.Пусть на этом Мк это и не нужно, но для общего развития пригодится.
спящий писал(а):
А вот это что? while (1==1), или вот так while (1) я в СИ неочень.А вот _delay_ms(2000) туда любое число вставлять можно?
while(условие для повторения цикла) если в результат в условии не равен нулю, цикл повторяется.Соответственно 1 не может быть нулем, значит цикл будет продолжаться бесконечно.
В делей можно использовать любые целые числа, если они большие, то точность снижается, и если за допустимый предел выходит, по идее тоже должно предупредить.
Переменные не получится запихать.
Я немножко продвинулся и стало интересно ). Светодиодом моргать научился, а вот управлять клавишами нет =)
Может кто поможет организовать такую програмку:
две кнопки, два диода
если нажимаешь одну кнопку диод мограет 0,5 сек., каждые 10 секунд;
если нажимаешь вторую, второй диод моргает (0,5 сек) через 4, потом 8 и 16 секунд = цикл повторяется.
Вроде можно организовать с помощю циклов, только как ума не прилажу.
мяу, если не ответите я не обижусь и буду сам пытаться, хотя многое перепробывал %))
появилась окончательная задача.
Без кнопок, 2 светодиода.
Один моргает каждые 10 сек., второй каждые 5 мин.. Как это организовать в программном коде, пробывал через for кучу ошибок мне пишет, с флагами тоже неочень понятно.
еще непонятно как задать второй порт, один PORTB , а др. как указать?
Всем хорошего дня !!!:)))
в Code Avr написал вот такую программу
while (1)
{
PORTB.0 = 1;
delay_ms(300);
PORTB.0 = 0;
delay_ms(7500);
PORTB.1 = 1;
delay_ms(1000);
PORTB.1 = 0;
delay_ms(10000);
}
}
запустил в протеусе.
1й светодиод мигнул на 1й,18,36,55 секунде
2й на 8,26
организация в силе один должен блымать каждые 10 сек., второй каждые 5 мин.
может быть я что то не так делаю
Спасибо всем за ответы, но я только что спалил мк.
Прошивал Фьюзы на Аttiny13 в режиме 128кГц, ругнулся, умер... земля ему пухом.
Всем спасибо, разживусь на новый продолжу. Хорошего вечера
Я когда первый МК прошил (а это именно Тини13) всё заработало, с первого раза. Потом нечаянно питание с 3В до 12В повысил. МК даже не успел ничего сделать. Яркая вспышка всех светодиодов и всё погасло. Так я сжог первый МК...
А возможно ли увеличить время до 3 минут.
И время повтора через каждые 10 - 20 - 40 - 60 минут пока не отключишь или не переведёшь в дежурку.
А то на работе иногда кемаю а вот что то услышать не могу.
А то приматал бы к уху эту бибикулку (активный бузер) вот его прекрасно слышу.