pic12f675

Поклонники продукции Microchip Technology Inc тусуются тут.
Ответить
Bondosha
Открыл глаза
Сообщения: 66
Зарегистрирован: Вт авг 07, 2018 09:44:46

pic12f675

Сообщение Bondosha »

в симуляции в протеусе рисует бесконечное число импульсов, а прога написана как на один импульс(собственно и должен быть один). в чем может быть проблема?

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

#include <stdio.h>
#include <stdlib.h>

// PIC12F675 Configuration Bit Settings
// 'C' source line config statements

#include <xc.h>

/*define clock freq*/

#ifndef _XTAL_FREQ
#define _XTAL_FREQ 4000000  // 4MHZ crystal
#endif


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

// CONFIG
#pragma config FOSC = INTRCIO   // Oscillator Selection bits (INTOSC oscillator: I/O function on GP4/OSC2/CLKOUT pin, I/O function on GP5/OSC1/CLKIN)
#pragma config WDTE = OFF       // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = OFF      // Power-Up Timer Enable bit (PWRT disabled)
#pragma config MCLRE = ON      // MCLR
#pragma config BOREN = OFF      // Brown-out Detect Enable bit (BOD disabled)
#pragma config CP = OFF         // Code Protection bit (Program Memory code protection is disabled)
#pragma config CPD = OFF        // Data Code Protection bit (Data memory code protection is disabled)

void mydelay_ms(unsigned int cycles) {
    unsigned int i;

    for (i = 1; i <= cycles; i++) {
        __delay_ms(1);
    }
}

void main()
{
    GPIO0 = 0x00;                        // make all GPIO port output
    TRISIO = 0x00;                     // TRISIO direction as output
    ADCON0 = 0x00;                // Internal ADC OFF
    ANSEL = 0x00;                  // All Analog selections pins are assigned as digital I/O
    CMCON  = 0x07;          // Shut off the Comparator
    VRCON  = 0x00;         // Shut off the Voltage Reference
        GPIO0 = 1;                      // Make GPIO0 port high
        mydelay_ms(500); 
        GPIO0 = 0;                     // Make GPIO0 port low
        mydelay_ms(130);
    }
Реклама
Аватара пользователя
pasha_zv
Мучитель микросхем
Сообщения: 460
Зарегистрирован: Пт фев 17, 2017 11:18:07
Откуда: Ставрополь-Донское

Re: pic12f675

Сообщение pasha_zv »

студент? диплом? курсовик?

за 5000 рублей, помогу.
LIVE - EVIL
Реклама
Bondosha
Открыл глаза
Сообщения: 66
Зарегистрирован: Вт авг 07, 2018 09:44:46

Re: pic12f675

Сообщение Bondosha »

[uquote="pasha_zv",url="/forum/viewtopic.php?p=3437149#p3437149"]студент? диплом? курсовик?

за 5000 рублей, помогу.[/uquote]
ага, сейчас. курсовые уже свои отписала, это работа
Пока_без_кота
Потрогал лапой паяльник
Сообщения: 359
Зарегистрирован: Чт авг 08, 2013 01:06:54

Re: pic12f675

Сообщение Пока_без_кота »

А что по Вашему делает программа после того, как сделает этот самый 1 импульс ?
Реклама
Эиком - электронные компоненты и радиодетали
Bondosha
Открыл глаза
Сообщения: 66
Зарегистрирован: Вт авг 07, 2018 09:44:46

Re: pic12f675

Сообщение Bondosha »

[uquote="Пока_без_кота",url="/forum/viewtopic.php?p=3437151#p3437151"]А что по Вашему делает программа после того, как сделает этот самый 1 импульс ?[/uquote]
должна сформировать и все, типа конец программы. одиночный импульс и его надо на осциллографе увидеть
Реклама
Пока_без_кота
Потрогал лапой паяльник
Сообщения: 359
Зарегистрирован: Чт авг 08, 2013 01:06:54

Re: pic12f675

Сообщение Пока_без_кота »

[uquote="Bondosha",url="/forum/viewtopic.php?p=3437154#p3437154"]должна сформировать и все, типа конец программы. одиночный импульс и его надо на осциллографе увидеть[/uquote]
Увы нет, она будет выполнятся циклически. А вот как этого избежать, уже поищите сами.
Реклама
Bondosha
Открыл глаза
Сообщения: 66
Зарегистрирован: Вт авг 07, 2018 09:44:46

Re: pic12f675

Сообщение Bondosha »

[uquote="Пока_без_кота",url="/forum/viewtopic.php?p=3437157#p3437157"][uquote="Bondosha",url="/forum/viewtopic.php?p=3437154#p3437154"]должна сформировать и все, типа конец программы. одиночный импульс и его надо на осциллографе увидеть[/uquote]
Увы нет, она будет выполнятся циклически. А вот как этого избежать, уже поищите сами.[/uquote]
так искала, не нашла, поэтому и написала сюда
Пока_без_кота
Потрогал лапой паяльник
Сообщения: 359
Зарегистрирован: Чт авг 08, 2013 01:06:54

Re: pic12f675

Сообщение Пока_без_кота »

Хорошо, как бы Вы написали програму, если бы ХОТЕЛИ, чтобы она выполнялась циклически ?
Bondosha
Открыл глаза
Сообщения: 66
Зарегистрирован: Вт авг 07, 2018 09:44:46

Re: pic12f675

Сообщение Bondosha »

[uquote="Пока_без_кота",url="/forum/viewtopic.php?p=3437165#p3437165"]Хорошо, как бы Вы написали програму, если бы ХОТЕЛИ, чтобы она выполнялась циклически ?[/uquote]
с while

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

while(1)
    {
        GPIO0=1;                      // Make GPIO0 port high
        __delay_ms(500); 
        GPIO0=0;                     // Make GPIO0 port low
        __delay_ms(130);
    }
Аватара пользователя
RoboC
Мудрый кот
Сообщения: 1795
Зарегистрирован: Ср апр 04, 2012 09:55:53
Откуда: Северодонецк
Контактная информация:

Re: pic12f675

Сообщение RoboC »

Добавте после

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

mydelay_ms(130);
строчку

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

while(1)	{ }
Последний раз редактировалось RoboC Вт авг 14, 2018 14:00:48, всего редактировалось 1 раз.
У того, кто делает — получается редко. У того, кто не делает — не получается никогда.
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: pic12f675

Сообщение pyzhman »

После этого

mydelay_ms(130);

поставьте затычку.

Добавлено after 59 seconds:
Ага, такую.
Docendo discimus
Bondosha
Открыл глаза
Сообщения: 66
Зарегистрирован: Вт авг 07, 2018 09:44:46

Re: pic12f675

Сообщение Bondosha »

[uquote="RoboC",url="/forum/viewtopic.php?p=3437171#p3437171"]Добавте после

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

mydelay_ms(130);
строчку

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

while(1)	{ }
[/uquote]
спасибо большое) а то только после университета, еще совсем зеленая)
Аватара пользователя
pasha_zv
Мучитель микросхем
Сообщения: 460
Зарегистрирован: Пт фев 17, 2017 11:18:07
Откуда: Ставрополь-Донское

Re: pic12f675

Сообщение pasha_zv »

вай мээээээ...... молодаааааяяяяяяя........ тари - рам..... молодааааяяяяяя....

не иди делать технику, не надо. техника не виновата.

иди лучше в адместруацию презерватива.
там все такие: тупые врушки.
LIVE - EVIL
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25295
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: pic12f675

Сообщение КРАМ »

[uquote="Bondosha",url="/forum/viewtopic.php?p=3437175#p3437175"]только после университета[/uquote]
МК не имеет режима остановки выполнения кода, иначе чем режим sleep. То есть ВСЕГДА в программе должен быть бесконечный цикл. Иначе счетчик команд продолжит исполнение по непрошитой кодом программной флеши (непрошитый флеш - это обычная команда с кодом 0x3FFF) до конца этой флеши и затем обнулится, вернувшись на начало кода.
Аватара пользователя
SSkot
Друг Кота
Сообщения: 3506
Зарегистрирован: Пн июл 23, 2018 10:36:20
Откуда: Казань

Re: pic12f675

Сообщение SSkot »

в конце мейна напиши бесконечный цикл при помощи оператора for, например или используй конструкцию с goto
ZZZ С Нами Бог ZZZ
Аватара пользователя
pasha_zv
Мучитель микросхем
Сообщения: 460
Зарегистрирован: Пт фев 17, 2017 11:18:07
Откуда: Ставрополь-Донское

Re: pic12f675

Сообщение pasha_zv »

да пусть лучше еду готовить учится.
походу в институте одни пельмени жрала?

ОДНАКО..., САМ СЕБЯ ПОДЪЕ....
на пельмени и пиво программисты клюют.

ЗЫ. девочка - замуж. срочно замуж.
родишь дитя. разведешься. будешь драть алиментя с бывшего. и ВОТ:
наконец поумнеешь и выйдешь замуж нормально.
и будешь ему готовить БОРЩ. и сыну тоже ;)
LIVE - EVIL
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15575
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: pic12f675

Сообщение BOB51 »

[uquote="КРАМ",url="/forum/viewtopic.php?p=3438586#p3438586"][uquote="Bondosha",url="/forum/viewtopic.php?p=3437175#p3437175"]только после университета[/uquote]
МК не имеет режима остановки выполнения кода, иначе чем режим sleep. То есть ВСЕГДА в программе должен быть бесконечный цикл. Иначе счетчик команд продолжит исполнение по непрошитой кодом программной флеши (непрошитый флеш - это обычная команда с кодом 0x3FFF) до конца этой флеши и затем обнулится, вернувшись на начало кода.[/uquote]

Можно "заглушку" для такого дела (или иначе - аварийный останов) сотворить:

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

stop:
  goto stop
а как под Си...?
:dont_know:
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: pic12f675

Сообщение Аlex »

BOB51 писал(а):а как под Си...?

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

while(1) continue;
-=Vovka=-
Опытный кот
Сообщения: 844
Зарегистрирован: Пн апр 11, 2011 10:08:52

Re: pic12f675

Сообщение -=Vovka=- »

[uquote="Аlex",url="/forum/viewtopic.php?p=3438763#p3438763"]

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

while(1) continue;
[/uquote]
еще проще:

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

while(1) ;
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: pic12f675

Сообщение Аlex »

Эквивалентно.
Ответить

Вернуться в «PIC»