Помогите с созданием таймера включения
- Jman
- Мучитель микросхем
- Сообщения: 414
- Зарегистрирован: Ср янв 26, 2011 13:43:30
- Откуда: С того берега моря
- Контактная информация:
Помогите с созданием таймера включения
Доброго времени суток. Задача такова - при включении питания происходит отчет времени допустим 1 минута, после чего на порт МК выдается импульс на секунд 10. На порте транзисторный ключь и реле. Знаю что просто реализовать, но с кодом проблема. Прошу помочь форумчан с написанием кода. Спасибо.
- Вложения
-
- 111.jpg
- (24.58 КБ) 302 скачивания
Последний раз редактировалось Jman Вт мар 06, 2012 09:18:15, всего редактировалось 2 раза.
[color=#4080FF]- Бежит этот подлец-электрон, а вокруг его масса (аж 10 в 23й) штук ионов кремния и 10 в 15й ионов примеси и он, подлец, взаимодействует![/color]
- Реклама
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: Помогите с созданием таймера включения
Код: Выделить всё
delay_ms(60000);
PORTX.x= 1;
delay_ms(10000);
PORTX.x= 0;Docendo discimus
- Jman
- Мучитель микросхем
- Сообщения: 414
- Зарегистрирован: Ср янв 26, 2011 13:43:30
- Откуда: С того берега моря
- Контактная информация:
Re: Помогите с созданием таймера включения
Спасибо за оперативность. Это в цикле будет вертеться - правильно я понял? А событие должно выполняться один раз. Подали питание на схему, посчитал 1 минуту, дал импульс и стоп все операции, пока снова не выключить - включить питание.
[color=#4080FF]- Бежит этот подлец-электрон, а вокруг его масса (аж 10 в 23й) штук ионов кремния и 10 в 15й ионов примеси и он, подлец, взаимодействует![/color]
Re: Помогите с созданием таймера включения
Тогда не в цикле. Просто в конец бесконечный цикл-затычку и всё.
Re: Помогите с созданием таймера включения
...
for(;;);
for(;;);
- Реклама
- Jman
- Мучитель микросхем
- Сообщения: 414
- Зарегистрирован: Ср янв 26, 2011 13:43:30
- Откуда: С того берега моря
- Контактная информация:
Re: Помогите с созданием таймера включения
Я прошу меня простить, в С я полный чайник и радиолюбитель из кружка, что такое затычка и с чем ее едят?. Понимаю что какая-то скобка, но какая? =)ploop писал(а):Тогда не в цикле. Просто в конец бесконечный цикл-затычку и всё.
[color=#4080FF]- Бежит этот подлец-электрон, а вокруг его масса (аж 10 в 23й) штук ионов кремния и 10 в 15й ионов примеси и он, подлец, взаимодействует![/color]
- Jman
- Мучитель микросхем
- Сообщения: 414
- Зарегистрирован: Ср янв 26, 2011 13:43:30
- Откуда: С того берега моря
- Контактная информация:
Re: Помогите с созданием таймера включения
Это вместо while?Flasher писал(а):...
for(;;);
[color=#4080FF]- Бежит этот подлец-электрон, а вокруг его масса (аж 10 в 23й) штук ионов кремния и 10 в 15й ионов примеси и он, подлец, взаимодействует![/color]
Re: Помогите с созданием таймера включения
Угу. Можно и while (true) засунуть.
- Jman
- Мучитель микросхем
- Сообщения: 414
- Зарегистрирован: Ср янв 26, 2011 13:43:30
- Откуда: С того берега моря
- Контактная информация:
Re: Помогите с созданием таймера включения
Распишите пожалуйста на базе кода, который дал pyzhman. Как оно все визуально выглядит?
[color=#4080FF]- Бежит этот подлец-электрон, а вокруг его масса (аж 10 в 23й) штук ионов кремния и 10 в 15й ионов примеси и он, подлец, взаимодействует![/color]
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: Помогите с созданием таймера включения
В CVAVR можно и без затычки, компилятор сам ее вставит.
Docendo discimus
- Jman
- Мучитель микросхем
- Сообщения: 414
- Зарегистрирован: Ср янв 26, 2011 13:43:30
- Откуда: С того берега моря
- Контактная информация:
Re: Помогите с созданием таймера включения
Распишите пожалуйста на базе кода, который дал pyzhman. Как оно все визуально выглядит?
[color=#4080FF]- Бежит этот подлец-электрон, а вокруг его масса (аж 10 в 23й) штук ионов кремния и 10 в 15й ионов примеси и он, подлец, взаимодействует![/color]
- Jman
- Мучитель микросхем
- Сообщения: 414
- Зарегистрирован: Ср янв 26, 2011 13:43:30
- Откуда: С того берега моря
- Контактная информация:
Re: Помогите с созданием таймера включения
Скажите еще - с задержками, что в посте выше, какая частота тактирования?
[color=#4080FF]- Бежит этот подлец-электрон, а вокруг его масса (аж 10 в 23й) штук ионов кремния и 10 в 15й ионов примеси и он, подлец, взаимодействует![/color]
Re: Помогите с созданием таймера включения
Неважно, delay_ms пересчитывает задержку относительно частоты, заданной в проекте. Правильно задашь - будет правильная задержка.
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: Помогите с созданием таймера включения
Да один в один все и выглядит. А частоту задай в свойствах проекта; компилятор все сам посчитает.
Docendo discimus
- Jman
- Мучитель микросхем
- Сообщения: 414
- Зарегистрирован: Ср янв 26, 2011 13:43:30
- Откуда: С того берега моря
- Контактная информация:
Re: Помогите с созданием таймера включения
Ок. Спасибо всем большое! Как освобожусь - попробую компильнуть, спаяю. Отпишусь. Хорошо что есть такой форум, где не остаются равнодушными к чужим проблемам.!
[color=#4080FF]- Бежит этот подлец-электрон, а вокруг его масса (аж 10 в 23й) штук ионов кремния и 10 в 15й ионов примеси и он, подлец, взаимодействует![/color]
- Jman
- Мучитель микросхем
- Сообщения: 414
- Зарегистрирован: Ср янв 26, 2011 13:43:30
- Откуда: С того берега моря
- Контактная информация:
Re: Помогите с созданием таймера включения
Получится ли вот так это реализовать?
int flag = 1;
while (flag) {
delay_ms(60000);
PORTX.x= 1;
delay_ms(10000);
PORTX.x= 0;// Place your code here
flag = 0;
}
int flag = 1;
while (flag) {
delay_ms(60000);
PORTX.x= 1;
delay_ms(10000);
PORTX.x= 0;// Place your code here
flag = 0;
}
[color=#4080FF]- Бежит этот подлец-электрон, а вокруг его масса (аж 10 в 23й) штук ионов кремния и 10 в 15й ионов примеси и он, подлец, взаимодействует![/color]
- Jman
- Мучитель микросхем
- Сообщения: 414
- Зарегистрирован: Ср янв 26, 2011 13:43:30
- Откуда: С того берега моря
- Контактная информация:
Re: Помогите с созданием таймера включения
Chip type : AT90S2323
AVR Core Clock frequency: 4,000000 MHz
Memory model : Tiny
External RAM size : 0
Data Stack size : 32
*****************************************************/
#include <90s2323.h>
#include <delay.h>
void main(void)
{
PORTB=0x00;
DDRB=0x01;
for (;;)
{
delay_ms(6000);
PORTB.0= 1;
delay_ms(1000);
PORTB.0= 0;
}
}
Реле постоянно щелкает согласно задержкам =( Что-то наверное не то делаю.
AVR Core Clock frequency: 4,000000 MHz
Memory model : Tiny
External RAM size : 0
Data Stack size : 32
*****************************************************/
#include <90s2323.h>
#include <delay.h>
void main(void)
{
PORTB=0x00;
DDRB=0x01;
for (;;)
{
delay_ms(6000);
PORTB.0= 1;
delay_ms(1000);
PORTB.0= 0;
}
}
Реле постоянно щелкает согласно задержкам =( Что-то наверное не то делаю.
[color=#4080FF]- Бежит этот подлец-электрон, а вокруг его масса (аж 10 в 23й) штук ионов кремния и 10 в 15й ионов примеси и он, подлец, взаимодействует![/color]
Re: Помогите с созданием таймера включения
Угу. Все задержки выполняются внутри цикла. А надо - перед циклом.Что-то наверное не то делаю.
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: Помогите с созданием таймера включения
Код: Выделить всё
Chip type : AT90S2323
AVR Core Clock frequency: 4,000000 MHz
Memory model : Tiny
External RAM size : 0
Data Stack size : 32
*****************************************************/
#include <90s2323.h>
#include <delay.h>
void main(void)
{
PORTB=0x00;
DDRB=0x01;
delay_ms(6000);
PORTB.0= 1;
delay_ms(1000);
PORTB.0= 0;
}Docendo discimus
- Jman
- Мучитель микросхем
- Сообщения: 414
- Зарегистрирован: Ср янв 26, 2011 13:43:30
- Откуда: С того берега моря
- Контактная информация:
Re: Помогите с созданием таймера включения
#include <90s2323.h>
#include <delay.h>
void main(void)
{
PORTB=0x00;
DDRB=0x01;
delay_ms(6000);
PORTB.0= 1;
delay_ms(1000);
PORTB.0= 0;
}
while (1) {
};
Вот так что-ли?
#include <delay.h>
void main(void)
{
PORTB=0x00;
DDRB=0x01;
delay_ms(6000);
PORTB.0= 1;
delay_ms(1000);
PORTB.0= 0;
}
while (1) {
};
Вот так что-ли?
[color=#4080FF]- Бежит этот подлец-электрон, а вокруг его масса (аж 10 в 23й) штук ионов кремния и 10 в 15й ионов примеси и он, подлец, взаимодействует![/color]


