Easyelectronics.ru

Электроника для всех
Текущее время: 13 ноя 2019, 08:03

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



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: PIC12F510 - управление ножками порта..
СообщениеДобавлено: 28 фев 2019, 00:50 
Заглядывает иногда

Зарегистрирован: 08 фев 2016, 01:50
Сообщения: 66
Всем привет.
Никогда PICами не занимался, а тут срочно потребовалось подергать ножками проца. Почитал статьи/форумы, написал коротенькую программу, но не работает..
Подскажите пжлста, что не так делаю.

Код:
#include <xc.h>

// PIC12F510 Configuration Bit Settings

// 'C' source line config statements

// CONFIG
#pragma config OSC = IntRC      // Oscillator Select (INTOSC with 1.125 ms DRT)
#pragma config WDT = OFF        // Watchdog Timer Enable bit (WDT disabled)
#pragma config CP = OFF         // Code Protect (Code protection off)
#pragma config MCLRE = ON       // Master Clear Enable bit (GP3/MCLR Functions as MCLR)
#pragma config IOSCFS = OFF     // Internal Oscillator Frequency Select bit (4 MHz INTOSC Speed)

// #pragma config statements should precede project file includes.
// Use project enums instead of #define for ON and OFF.

//__CONFIG(MCLRE_ON & CP_OFF & WDT_OFF & IOSCFS_OFF & OSC_IntRC_RB4EN);
//__CONFIG(MCLRDIS & UNPROTECT & INTOSC);


//--------------------------------------------
void main(void) {
   
    ADCON0 = 0;                     // disable AN0, AN1, AN2 inputs
    CM1CON0bits.C1ON = 0;           //     and comparator 1 -> RB0,RB1 digital
 
    GPIO = 0; // start from a known state
    TRISGPIO = 0b001111;
     
    for(;;){
           
      GPIO = 0b100000;
      GPIObits.GP5 = 1;
     
   }
                       
    return;
}



Настроил на выход 4-ю и 5-ю ноги порта, далее в цикле двумя способами пробую установить единицу на 5-й ноге.

З.Ы. Проц тактируется от внутреннего RC-генератора.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PIC12F510 - управление ножками порта..
СообщениеДобавлено: 28 фев 2019, 01:02 
Старожил

Зарегистрирован: 05 дек 2015, 16:56
Сообщения: 315
Смотрите в даташите что ещё на ножках с портом совмещено. Особенно обратите внимание на аналоговые узлы - микрочип любит зачем-то по умолчанию настроить ножки контроллера как аналоговые входы и использовать их, например, для компаратора (который приходится отключать сразу после старта)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PIC12F510 - управление ножками порта..
СообщениеДобавлено: 28 фев 2019, 01:12 
Заглядывает иногда

Зарегистрирован: 08 фев 2016, 01:50
Сообщения: 66
Gipsy писал(а):
Смотрите в даташите что ещё на ножках с портом совмещено. Особенно обратите внимание на аналоговые узлы - микрочип любит зачем-то по умолчанию настроить ножки контроллера как аналоговые входы и использовать их, например, для компаратора (который приходится отключать сразу после старта)


Да, про это как-раз прочитал на их форуме и оттуда же кусок кода заимствовал :

Цитата:
ADCON0 = 0; // disable AN0, AN1, AN2 inputs
CM1CON0bits.C1ON = 0; // and comparator 1 -> RB0,RB1 digital


Думал, этого будет достаточно..


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PIC12F510 - управление ножками порта..
СообщениеДобавлено: 28 фев 2019, 01:21 
Заглядывает иногда

Зарегистрирован: 16 сен 2018, 10:41
Сообщения: 124
А оно вообще запускается? MCLR куда подключен? Программатор его после программирования отпускает или в сбросе держит?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PIC12F510 - управление ножками порта..
СообщениеДобавлено: 28 фев 2019, 01:24 
Заглядывает иногда

Зарегистрирован: 16 сен 2018, 10:41
Сообщения: 124
Gipsy писал(а):
... микрочип любит зачем-то по умолчанию настроить ножки контроллера как аналоговые входы и использовать их, например, для компаратора (который приходится отключать сразу после старта)

Затем, что если на них заведён аналоговый сигнал для компаратора, то входному КМОП каскаду это не понравится.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PIC12F510 - управление ножками порта..
СообщениеДобавлено: 28 фев 2019, 03:13 
Заглядывает иногда

Зарегистрирован: 26 фев 2018, 03:06
Сообщения: 111
сброс не забыли притянуть на +пит?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PIC12F510 - управление ножками порта..
СообщениеДобавлено: 28 фев 2019, 10:04 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 2345
Ну или отключите ресет пока:
#pragma config MCLRE = OFF


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PIC12F510 - управление ножками порта..
СообщениеДобавлено: 28 фев 2019, 11:32 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 2345
В протеусе прекрасно всё ставится высокий уровень на GP5, так что дело и правда в неподтянутом ресете скорее всего:


Вложения:
Screenshot_20190228_093131.png
Screenshot_20190228_093131.png [ 3.11 Кб | Просмотров: 591 ]
Screenshot_20190228_093107.png
Screenshot_20190228_093107.png [ 6.2 Кб | Просмотров: 591 ]
Screenshot_20190228_093030.png
Screenshot_20190228_093030.png [ 1.23 Кб | Просмотров: 591 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PIC12F510 - управление ножками порта..
СообщениеДобавлено: 28 фев 2019, 11:48 
Заглядывает иногда

Зарегистрирован: 08 фев 2016, 01:50
Сообщения: 66
Схему приаттачил. Вроде подтяжка сброса к питанию есть.
Сейчас попробую #pragma config MCLRE = OFF


Вложения:
pic.jpg
pic.jpg [ 77.22 Кб | Просмотров: 589 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PIC12F510 - управление ножками порта..
СообщениеДобавлено: 28 фев 2019, 13:31 
Заглядывает иногда

Зарегистрирован: 08 фев 2016, 01:50
Сообщения: 66
Отключение ножки сброса помогло.. Хмм, интересно почему..


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PIC12F510 - управление ножками порта..
СообщениеДобавлено: 28 фев 2019, 18:01 
Старожил
Аватара пользователя

Зарегистрирован: 01 июн 2013, 11:15
Сообщения: 408
Откуда: Киев, Украина
charoit писал(а):
Настроил на выход 4-ю и 5-ю ноги порта


Четвертая может быть либо сбросом (тогда ноль на ней сбрасывает процессор), либо входной (напряжение на ней не должно быть выше напряжения на 1 ноге, а то будут чудеса).
Выходной она не может быть никогда. Совсем.

_________________
Микроконтроллеры - это наше всё!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PIC12F510 - управление ножками порта..
СообщениеДобавлено: 28 фев 2019, 18:07 
Заглядывает иногда

Зарегистрирован: 08 фев 2016, 01:50
Сообщения: 66
4-я нога - имелось ввиду GP4, 3-й вывод МК на схеме.


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

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


Кто сейчас на конференции

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


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

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

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB