реклама на сайте
подробности

 
 
> ATtiny 2313
indi_88
сообщение May 6 2010, 13:10
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 6-05-10
Пользователь №: 57 112



Добрый день, возникли трудности с работой с МК. Это мой первый практический опыт в паянии и работе с МК.
Есть схема ультразвукового дальномера, пока собрал кусок: питание, кнопки управление, МК и 7сегм индикатор.

Столкнулся с проблемой, когда начал писать простенькую прошивку. Цель прошивки: просто отображать какие-то крякозяблы поочереди на 3х знакоместах (использую динамику). Пишу и шьюсь через винавр:

Код
#include <avr/io.h>
void delay_7s()
{
    unsigned int k, l;
    for(l=0; l<1; l++)
    {
        for(k=0;k<65000;k++){}
    }
}    
void main()
{
    DDRB = 0xFF;
    DDRD = 0xFF;
    for(;;)
    {
        PORTB = 0b00110011;
        PORTD = 0x40;
        delay_7s();
        PORTD = 0x0;
        //
        PORTB = 0b01010101;
        PORTD = 0x20;
        delay_7s();
        PORTD = 0x0;
        //
        PORTB = 0b11001100;
        PORTD = 0x10;
        delay_7s();
        PORTD = 0x0;
    }
}

Не могу понять почему, но информация отображается сразу на всех знакоместах. Проверял прошивку в Протеусе, там все работает. Следовательно, проблема со спаянной схемой.
Меня настараживает что моя тинька, когда на выводах лог 0, выдает 1,2-1,3 В !!!. Следовательно, напряжение после ограничивающих резюков перед транзисторами, колеблется от 0,74 В (когда на выводе PD6 (PD5 или PD4) лог 0) и до 0,82 В (когда лог 1). Думаю, что проблема в этом. То есть напряжения 0,74 и 0,82 способствуют постоянному открытию транзисторов.

Опыта мало, так что надеюсь на ваше помощь!

Сообщение отредактировал rezident - May 8 2010, 23:57
Причина редактирования: Оформление цитаты исходника.

Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
indi_88
сообщение May 6 2010, 17:58
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 6-05-10
Пользователь №: 57 112



Цитата
Значит вы неясно выражаете свои мысли

Прошу прощение)

Цитата
Что касается вопроса "почему выводятся сразу на все места" - осталось лишь одно разумное объяснение - вы перепутали цоколёвку индикатора.

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

Цитата
Ненормально. А что на базах транзисторов? Если еще больше - то у вас транзистор не той полярности (pnp) или попутаны выводы базы и коллектра. В результате в вывод стекает ток из индикатора. Других разумных объяснений нет - направление портов вы задали.

Маркировка на транзисторе: BC547B
Выводы транзисторов выбирал так:
если смотреть срез корпуса, то слева направо: к б э
На базах напряжения 0,74 (лог 0) или 0,82 (лог 1) вольт.

Меня очень смущают эти напряжения. Если они не падают ниже 0,74 В, то возможно что транзисторы постоянно открыты? Следовательно, тогда будут гореть все знакоместа
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- indi_88   ATtiny 2313   May 6 2010, 13:10
- - GDI   Все ноги питания и земли подключили? У биполярных ...   May 6 2010, 13:22
- - indi_88   Исправил ситуацию с принтскрином. Проблем с земле...   May 6 2010, 13:30
- - akl   Может поможет временное подключение лапы RESET к +...   May 6 2010, 13:37
- - AHTOXA   Цитата(indi_88 @ May 6 2010, 19:10) инфор...   May 6 2010, 13:45
- - Сергей Борщ   Используйте кнопку для оформления исходников. Ина...   May 6 2010, 14:06
- - indi_88   Я б изменил код в теме, но пропала кнопочка едит( ...   May 6 2010, 14:46
- - AHTOXA   Цитата(Сергей Борщ @ May 6 2010, 20:06) О...   May 6 2010, 15:00
- - indi_88   ЦитатаВы очень своеобразно трактуете понятие ...   May 6 2010, 15:08
|- - AHTOXA   Цитата(indi_88 @ May 6 2010, 21:08) Я пра...   May 6 2010, 15:41
- - Сергей Борщ   Цитата(indi_88 @ May 6 2010, 17:46) Что в...   May 6 2010, 16:24
|- - Сергей Борщ   Цоколевка похожа на правду, транзистор npn.Цитата(...   May 6 2010, 21:04
- - indi_88   Купил новый мк и транзисторы, попытаюсь сделать но...   May 7 2010, 14:50
- - -SANYCH-   Попробуйте вообще убрать транзисторы и индикатор с...   May 11 2010, 08:15
- - indi_88   Собрал кусок схемы на новом мк и транзисторах, с н...   May 12 2010, 12:42
- - -SANYCH-   Такие вещи лучше делать таймером. Если хотите узн...   May 12 2010, 13:14
- - indi_88   А если использовать такой код: Код for(unsign...   May 12 2010, 21:29
|- - Сергей Борщ   Цитата(indi_88 @ May 13 2010, 00:29) А ес...   May 13 2010, 06:50
- - -SANYCH-   ЦитатаВ симмуляторе аврстудио не хочет делать пауз...   May 13 2010, 07:58
- - indi_88   ЦитатаПотому что процессор с завода поставляется с...   May 13 2010, 09:23
|- - Сергей Борщ   Цитата(indi_88 @ May 13 2010, 12:23) но я...   May 13 2010, 09:44
- - indi_88   Хм, я начинаю понимать, то есть если я в мейкфайле...   May 13 2010, 09:57
|- - Сергей Борщ   Цитата(indi_88 @ May 13 2010, 12:57) Хм, ...   May 13 2010, 10:10
- - indi_88   Через понипрог убрал галочку с CKDIV и все заработ...   May 13 2010, 10:28
|- - Сергей Борщ   Цитата(indi_88 @ May 13 2010, 13:28) Чере...   May 13 2010, 10:53
- - indi_88   Спасибо, но я шью через винавр и использую com-про...   May 13 2010, 11:02


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th July 2025 - 04:33
Рейтинг@Mail.ru


Страница сгенерированна за 0.0324 секунд с 7
ELECTRONIX ©2004-2016