Сопряжение дозиметра с МК.

Что бы еще такого сделать?... Предлагайте! Обсудим все!!!
Аватара пользователя
просто КОТ
Друг Кота
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ
Контактная информация:

Re: Сопряжение дозиметра с МК.

Сообщение просто КОТ »

Я чёто из даташита не понял, как включить делилку на 8, на пин Т0. Т.к. пин Т0 подкючается цифрами 00000111, а делилка цифрами 00000010.
Изображение
И ты врёшь!!! © Vladisman
Изображение
Реклама
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: Сопряжение дозиметра с МК.

Сообщение Ser60 »

Ничего не выйдет. На вход прескайлера можно только подавать частоту от внутреннего генератора МК, а не сигналы с внешнего пина.
Реклама
Аватара пользователя
просто КОТ
Друг Кота
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ
Контактная информация:

Re: Сопряжение дозиметра с МК.

Сообщение просто КОТ »

А ка быть?! Частоту тока снижать?!
Попробуем. . .
Изображение
И ты врёшь!!! © Vladisman
Изображение
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: Сопряжение дозиметра с МК.

Сообщение Ser60 »

Можно, конечно, снижать частоту внешним делителем на 8 или 10, но я-бы подумал о другом МК. Например, тот-же 2313а. Иное решение - использовать прерывание по переполнению таймера и считать число переполнений, сохранив его во внешней переменной, скажем х. Тогда по-окончании счета число импульсов поступивших на вход таймера будет равно х*256+TCNT0. Счетчик таймера, таким образом, будет выступать в роли делителя на 256.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
просто КОТ
Друг Кота
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ
Контактная информация:

Re: Сопряжение дозиметра с МК.

Сообщение просто КОТ »

Да нет, просто кондёр в РЦ цепочке побольше взять!
Изображение
И ты врёшь!!! © Vladisman
Изображение
Реклама
Аватара пользователя
просто КОТ
Друг Кота
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ
Контактная информация:

Re: Сопряжение дозиметра с МК.

Сообщение просто КОТ »

Код: Выделить всё

#define F_CPU 8000000 // Инициализация
#include <avr/io.h>
#include <util/delay.h>

void maim(void)
{
DDRB=0b011011;
PORTB=0b10010;
MCUCR=0b01000000;
GTCCR=0b10000000;
asm("sei");
{
PORTB=001000   // Запускаю генератор
TCCR0B=0b00000111;   // Запускаю счётчик
_delay_ms(1000);
TCCR0B=0b00000000;   // Счётчик выключается
if (TCNT0>500)   // Если насчитал больше 500, зажечь синий светик
{
PORTB=000001;
_delay_ms(5000)
PORTB=000000;
}
else if (TCNT0>300)   // Если более 300, то ещё и зелёный
{
PORTB=000010;
_delay_ms(2000)
PORTB=000000;
}
else if (TCNT0>200)  // А если более 200, то ещё и красный
{
PORTB=010000;
_delay_ms(2000)
PORTB=000000;
}
asm("sleep")   // Потом сон
}
}

Код: Выделить всё

#define F_CPU 8000000 // Инициализация
#include <avr/io.h>
#include <util/delay.h>

void maim(void)
{
DDRB=0b011011;
PORTB=0b10010;
MCUCR=0b01000000;
GTCCR=0b10000000;
asm("sei");
{
PORTB=001000   // Запускаю генератор
TCCR0B=0b00000111;   // Запускаю счётчик
_delay_ms(1000);
TCCR0B=0b00000000;   // Счётчик выключается
if (TCNT0>300)   // Если насчитал больше 300, зажечь синий светик
{
PORTB=000001;
_delay_ms(5000)
PORTB=000000;
}
else if (TCNT0>200)   // Если хотя бы более 200, то ещё и зелёный
{
PORTB=000010;
_delay_ms(2000)
PORTB=000000;
}
else if (TCNT0<100)  // А если менее 100, то ещё и красный
{
PORTB=010000;
_delay_ms(2000)
PORTB=000000;
}
asm("sleep")   // Потом сон
}
}
Ребят, можете это откомпилировать?! А то у мя снова глюки с программой -- не пашет, после установки Винды 7.

Коды чуть разные, во втором не будет работать при кол-ве импульсов 0т 100 до 200 -- знаю. Он тестовый, для другого немного!
Изображение
И ты врёшь!!! © Vladisman
Изображение
Реклама
Ответить

Вернуться в «Умные мысли»