Например TDA7294

Форум РадиоКот • Просмотр темы - PIC12 GPIO на вход
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Вт дек 23, 2025 13:16:55

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: PIC12 GPIO на вход
СообщениеДобавлено: Вс дек 01, 2013 09:48:04 
Родился

Зарегистрирован: Вс сен 15, 2013 07:33:45
Сообщений: 9
Рейтинг сообщения: 0
МК 12f683.
Не получается снять сигнал с некоторых ножек GPIO
Программа простецкая. Ждём сигнал с любой ножки, после этого подаём сигнал на все ножки сразу.
Код:
//12f683.h
#include <pic.h>;

__CONFIG(MCLRDIS & WDTDIS & INTIO);

void main() {
    TRISIO = 0b11111111;
    ANSEL = 0b0000111;

    while (!(GPIO0 || GPIO1 || GPIO2 || GPIO3|| GPIO4|| GPIO5)) {
        _delay(10);
    }

    TRISIO = 0;
    GPIO =  0b11111111;

    while (1) {
    }
}


При подаче сигнала на любую из первых трёх ножек, ничего не происходит.
Изображение

При подаче сигнала на любую из оставшихся трех ножек, всё работает, как ожидалось.
Изображение

Вопрос: Почему сигнал не снимается с первых трех ножек?

Поменял на ANSEL = 0; Заработала 3я ножка (GP2) первые две по прежнему не работают



Всё спасибо, разобрался!
Нужно было ещё компаратор отключить CMCON = 0x07


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC12 GPIO на вход
СообщениеДобавлено: Вс дек 01, 2013 11:04:56 
Мудрый кот
Аватар пользователя

Карма: 7
Рейтинг сообщений: 93
Зарегистрирован: Ср сен 07, 2011 21:40:30
Сообщений: 1802
Рейтинг сообщения: 1
Цитата:
The ANSEL register is used to configure the Input
mode of an I/O pin to analog. Setting the appropriate
ANSEL bit high will cause all digital reads on the pin to
be read as ‘0’ and allow analog functions on the pin to
operate correctly.


Цитата:
Note: The ANSEL and CMCON0 registers must
be initialized to configure an analog
channel as a digital input. Pins configured
as analog inputs will read ‘0’.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC12 GPIO на вход
СообщениеДобавлено: Ср дек 18, 2013 10:22:18 
Нашел транзистор. Понюхал.

Зарегистрирован: Ср фев 16, 2011 22:58:23
Сообщений: 193
Рейтинг сообщения: 0
Вы не правильно моделируете схему!!!
В протеусе, даже разомкнутая кнопка имеет сопротивление, по этому схему подачи сигнала нужно изменить
Регистр ANSELХ определяет, какая "ножка" (если можно так сказать), будет работать как аналоговая или цифровая. Для работы как цифровая, необходимо установить (это значит "1") соответствующий биты в этом регистре.
Вход GP3 MCLR/Vpp не может быть настроен как выход, значит не "все на выход"!
Необходимо учесть параметры сигнала (выход с открытым коллектором, с подтяжкой, изолированный итп), и при необходимости выключить или включить подтягивающие резисторы. Если этого не сделать, то при отсутствии входного сигнала (просто голый провод или разомкнутое реле), на входе будет творить ахинея, и если мимо пробежал например кот))), схема ложно сработает. По этому применяют активный логический уровень "0" (для защиты от помех), и "подтяжку" к питанию. По этому у ножки пика у вас не синий и не красный квадратик, а серый, что говорит о неопределённом состоянии.
В вашем случае, необходимо подтянуть сигнальные линии к земле через резистор в 4,7-10 кОм для моделирования
Если вам надо, могу выложить код на асме.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y