мигалка на Pic12f629

Поклонники продукции Microchip Technology Inc тусуются тут.
vovik15
Опытный кот
Сообщения: 768
Зарегистрирован: Сб ноя 08, 2008 18:32:36
Контактная информация:

мигалка на Pic12f629

Сообщение vovik15 »

здравствуйте! есть такой вопрос:
имеем 2 светодиода и 2 кнопки.
При нажатии на кнопку 1 светодиод 1 начинает мигать 50 раз,при этом нужно прервать мигание второго светодиода
при нажатии на кнопку 2 светодиод 2 начинает мигать 50 раз,при этом нужно прервать мигание первого светодиода
тоесть если мигает один светодиод при нажатии на кнгопку его нужно погасить и запустить мигание вторым светодиодом,и наооборот
помогите пожалуйста с кодом
спасибо!
Вложения
shema.rar
(12.11 КБ) 439 скачиваний
Реклама
Taska
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Вт фев 09, 2010 13:37:50
Откуда: Украина

Re: мигалка на Pic12f629

Сообщение Taska »

А сам, что не можешь написать?
Светодиод мигает с какой частотой?
Реклама
otest
Друг Кота
Сообщения: 7853
Зарегистрирован: Ср фев 11, 2009 20:35:58

Re: мигалка на Pic12f629

Сообщение otest »

Раз нарисовал в proteuse, то выкладывай весь проект со своим кодом.
mnbv
Грызет канифоль
Сообщения: 287
Зарегистрирован: Сб авг 03, 2013 16:01:29

Re: мигалка на Pic12f629

Сообщение mnbv »

пробуй
:100000002728A301A200FF30A207031CA307031C9B
:1000100023280330A100DF300F200328A101E83E90
:10002000A000A109FC30031C1828A00703181528FC
:10003000A0070000A10F152820181E28A01C2228A8
:100040000000222808008313831203130800830191
:10005000073099000C30831685008312851D3128E6
:100060003520051D34285E202D288510A40132304E
:10007000240203185D280514A50106302502031883
:100080004A280A300120051D46282D280130A507E1
:10009000031C3D280510A501063025020318592828
:1000A0000A300120051D55282D280130A507031C05
:1000B0004C280130A407031C372808000510A401B0
:1000C00032302402031886288514A5010630250243
:1000D000031873280A300120851D6F282D28013050
:1000E000A507031C66288510A50106302502031804
:1000F00082280A300120851D7E282D280130A50781
:10010000031C75280130A407031C602808008728F9
:02400E000000B0
:00000001FF
Реклама
Эиком - электронные компоненты и радиодетали
vovik15
Опытный кот
Сообщения: 768
Зарегистрирован: Сб ноя 08, 2008 18:32:36
Контактная информация:

Re: мигалка на Pic12f629

Сообщение vovik15 »

код работает,но хотелось бы чтобы мигал не 50 раз ,а 4 с частотой автомобильного поворотника
и исходник
Реклама
otest
Друг Кота
Сообщения: 7853
Зарегистрирован: Ср фев 11, 2009 20:35:58

Re: мигалка на Pic12f629

Сообщение otest »

светодиод 1 начинает мигать 50 раз,
Может следует подумать перед тем как писать?
и исходник
без него контрольную не примут.
Реклама
mnbv
Грызет канифоль
Сообщения: 287
Зарегистрирован: Сб авг 03, 2013 16:01:29

Re: мигалка на Pic12f629

Сообщение mnbv »

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

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

Device 12F629
Declare  Reminders = OFF    
Xtal = 4
Config INTOSCIO, CP_OFF, CPD_OFF, PWRTE_On, MCLRE_OFF, WDT_ON 
CMCON = 7                  
TRISIO =%00001100           
Dim k As Byte
Dim a As Byte
'*******************************
main:
    If GPIO.3 = 1 Then GoSub led1
    If GPIO.2 = 1 Then GoSub led2
GoTo main
'*******************************
led1:
GPIO.1 = 0
    For k = 0 To 49
        GPIO.0 = 1
            For a = 0 To 5
                DelayMS 10
                If GPIO.2 = 1 Then GoTo main
            Next a    
        GPIO.0 = 0
            For a = 0 To 5
                DelayMS 10
                If GPIO.2 = 1 Then GoTo main
            Next a         
    Next k
Return
'*******************************
led2:
GPIO.0 = 0
    For k = 0 To 49
        GPIO.1 = 1
            For a = 0 To 5
                DelayMS 10
                If GPIO.3 = 1 Then GoTo main
            Next a    
        GPIO.1 = 0
            For a = 0 To 5
                DelayMS 10
                If GPIO.3 = 1 Then GoTo main
            Next a         
    Next k
Return
'*******************************
End
Форматирование слетело и прога выглядит... некрасиво.
vovik15
Опытный кот
Сообщения: 768
Зарегистрирован: Сб ноя 08, 2008 18:32:36
Контактная информация:

Re: мигалка на Pic12f629

Сообщение vovik15 »

а на си нету?
mnbv
Грызет канифоль
Сообщения: 287
Зарегистрирован: Сб авг 03, 2013 16:01:29

Re: мигалка на Pic12f629

Сообщение mnbv »

На С нет, я не религиозен. Мне пока для PIC12,16,18 и бэйсика хватает.
otest
Друг Кота
Сообщения: 7853
Зарегистрирован: Ср фев 11, 2009 20:35:58

Re: мигалка на Pic12f629

Сообщение otest »

В железе работать не будет.
mnbv
Грызет канифоль
Сообщения: 287
Зарегистрирован: Сб авг 03, 2013 16:01:29

Re: мигалка на Pic12f629

Сообщение mnbv »

Смотря как кнопки давить:-P. Прога написана по задаче, не более, реальных ограничений я не ставил., да и писал 10 минут.
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: мигалка на Pic12f629

Сообщение dosikus »

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

Re: мигалка на Pic12f629

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

mnbv писал(а):Форматирование слетело и прога выглядит... некрасиво.
Для этого есть тэги.
Ваш пост с кодом поправил.
vovik15 писал(а):а на си нету?
Не вижу разницы, если Вы ни того и ни этого языка не знаете :dont_know:
mnbv писал(а):С прерываниями изящнее, но какбыавтор ногу сброса задействовал, а ей начхать на изменение входного уровня.
А каким боком нога ресет относится к прерываниям ? :roll:
mnbv
Грызет канифоль
Сообщения: 287
Зарегистрирован: Сб авг 03, 2013 16:01:29

Re: мигалка на Pic12f629

Сообщение mnbv »

Alex, спасибо.
У 629 есть прерывание по изменению логического уровня на входе А0...А5, но кроме А3, ноги сброса - она не ставит флага прерывания.
Последний раз редактировалось mnbv Вт сен 24, 2013 20:09:42, всего редактировалось 1 раз.
vovik15
Опытный кот
Сообщения: 768
Зарегистрирован: Сб ноя 08, 2008 18:32:36
Контактная информация:

Re: мигалка на Pic12f629

Сообщение vovik15 »

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

Re: мигалка на Pic12f629

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

vovik15 писал(а):си я немножко знаю,чуть чуть смогу подкоректировать
Тогда ничего не понимаю. В сети полно примеров со всякими миганиями, кнопками и тому подобное... Берите и корректируйте под свою задачу.
mnbv писал(а):У 629 есть прерывание по изменению логического уровня на входе А0...А5, но кроме А3, ноги сброса - она не ставит флага прерывания.
А, вон о чём Вы. Понятно...
otest
Друг Кота
Сообщения: 7853
Зарегистрирован: Ср фев 11, 2009 20:35:58

Re: мигалка на Pic12f629

Сообщение otest »

мне ждать код?
Прежде чем просить о помощи нужно самому что то сделать.
Форуму ждать код?
vovik15
Опытный кот
Сообщения: 768
Зарегистрирован: Сб ноя 08, 2008 18:32:36
Контактная информация:

Re: мигалка на Pic12f629

Сообщение vovik15 »

написал я вод такой код,но он не работает

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

#include <pic.h>
// pic12f629

__CONFIG (INTIO & UNPROTECT & BOREN & MCLRDIS & PWRTEN & WDTDIS);

// === используемые функции
void podgot (void); // подготовка МК
void Left (void);
void delay (void);

void main (void){ 
podgot(); 
while(1){ 


Left();
GPIO0=1;
//if(GPIO2==1) L(); //L


//if(GPIO3==1) L(); //R
//else GPIO0=0;


} //конец бесконечного цикла
} 


// === подготовка МК
void podgot (void)
{
INTCON = 0; // запрет прерываний
CMCON  = 7; // отключаем аналоговый компаратор
TRISIO = 0b001100;
GPIO = 0; // чистим
GPPU = 0; // все подтягивающие R: 1 - откл., 0 - вкл.

}

void Left (void)
{
unsigned char x;
x=0;
while(x<5)
{
GPIO1=1;
delay();
GPIO1=0;
delay();
x++;
}
}

void delay (void)
{
unsigned int delay = 999;
while (delay-->0);
} 
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: мигалка на Pic12f629

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

"не работает" - это как ?

Я так понял, Вы делаете что-то типа ленивого поворотника - щёлкнул ручкой один раз и поворотник сам мигает ?
vovik15
Опытный кот
Сообщения: 768
Зарегистрирован: Сб ноя 08, 2008 18:32:36
Контактная информация:

Re: мигалка на Pic12f629

Сообщение vovik15 »

да,я делаю поворотник
Ответить

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