На склад поступили жидко-кристаллические индикаторы и дисплеи от KSE

PIC18 управление светодиодом

Новичок
 
Регистрация: 01.09.2013
Сообщений: 16
Репутация: 11
1 8
0 0
 
07.12.2013 15:30 #1
Есть такая простецкая программа:
Код:
void main() {
    //Всё цифровое
    ADCON1 = 0b11111111;

    TRISDbits.RD1 = 0;
    TRISDbits.RD2 = 1;

    while (1) {
        if (PORTDbits.RD2) {
            //Зажигаем
            PORTDbits.RD1 = 1;
        } else {
            //Гасим
            PORTDbits.RD1 = 0;
        }
    }
}
Суть в том, что если есть сигнал на RD2, то зажигаем светодиод на RD1, если нет, то гасим.
В proteus всё пашет как надо. Прошил МК, и наблюдаю непонятные вещи:

Т.е.
1. светодиод на RD1 зажигается не зависимо от того, есть ли сигнал на RD2
2. Он зажигается не при любом напряжении, а только до 4.5 В
3. Почему то не получилось запитать схему от 2х батареек, которые дают 2,6 В (слишком мало что ли?)
4. Почему то не получилось запитать схему от зарядки телефона, которая даёт 5,7 В (слишком много что ли?)

Столько всего не понятного на голову свалилось.. Растолкуйте кто нибудь
Оценка
В многообразии литиевых батареек и аккумуляторов нет какого-то универсального или идеального варианта. Выбирая тот или иной вариант для питания устройства, разработчику приходится оперировать множеством параметров, используя наиболее оптимальное их сочетание для каждого приложения. Разберем параметры для различных приложений.
Знаток
 
Аватар для bobesh
 
Регистрация: 01.02.2009
Сообщений: 850
Репутация: 149
142 39
3 3
 
10.12.2013 08:42 #2
Наверное потому, что в программе одна закрывающая скобка лишняя. Как компилятор интерпретирует такую комбинацию не известно.
__________________
Компьютер не подчиняется законам физики. Только в нем глюки возникают из ничего, файлы исчезают в никуда, а объем измеряется в метрах и называется весом.
Оценка
Новичок
 
Регистрация: 12.12.2011
Сообщений: 12
Репутация: 14
4 0
0 0
 
10.12.2013 09:57 #3
valerik88,
1. ток через светодиод обязательно надо ограничивать. Поставьте резистор 200-300 ом. Иначе можете попалить и диод и порт МК.
2. От двух батареек работать должно, смотрите на какое напряжение настроен Brown-out Reset. А лучше его совсем отключить. Читайте даташит, раздел "SPECIAL FEATURES OF THE CPU"
3. Питание этого МК - до 5.5В Больше я бы не советовал подавать.
4. Непонятно как воспринимает МК вход, висящий в воздухе. Это КМОП, все таки. Посадите его на землю через резистор.
5. И читайте дальше даташит :-) Там много интересного на тему конфигурации входов/выходов
Оценка
Ответ
Похожие темы
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход
Электронные компоненты. Бесплатная доставка по России
Часовой пояс GMT +3, время: 13:37.
Обратная связь РадиоЛоцман Вверх