Страница 1 из 6
Нуждаюсь в помощи! прога для PIC16F628A
Добавлено: Чт июл 31, 2008 07:21:39
DeNew
Народ помогите доделать прогамму, нашёл в инете но не доделанно не много, я не шуруплю в программированье.
Тема такая, есть схема таймера, работает, но проблем в том что с выхода нет лог1 RA4 при запуске таймера, вот нужно исправить проблемму.
Спасибо.
Язык СИ, проэкт создан в проге CCS_PCWH.
Re: Нуждаюсь в помощи! прога для PIC16F628A
Добавлено: Чт июл 31, 2008 07:52:41
BerZerK-ku
DeNew писал(а):
Тема такая, есть схема таймера, работает, но проблем в том что с выхода нет лог1 RA4 при запуске таймера, вот нужно исправить проблемму.
Спасибо.
Код: Выделить всё
case ST_SIGNAL : // Состояние "Сигнал окончания выдержки"
// (неустойчивое)
INTCON = 0;
TRISA = 0;
PORTA &= 0b11101111; // Выдача лог.0 на выход
signalsound(); // Звуковой сигнал "Окончание выдержки"
TRISA = 0b00010000; // Выход вернуть в Z-состояние
gSTATE = ST_READY; // Переход в состояние "Готовность"
break;
С PIC дело не имел, но судя по программе RA.4 устанавливается на выход только тут и нулем. Чтобы была 1, надо сделать замену:
PORTA &= 0b11101111;
на
PORTA |=0b00010000;
И может потом еще и сбросить этот бит, как то так:
перед строкой TRISA = 0b00010000;
поставить
PORTA &= 0b11101111;
Re: Нуждаюсь в помощи! прога для PIC16F628A
Добавлено: Чт июл 31, 2008 08:11:33
DeNew
BerZerK-ku писал(а):
PORTA &= 0b11101111;
на
PORTA |=0b00010000;
И может потом еще и сбросить этот бит, как то так:
перед строкой TRISA = 0b00010000;
поставить
PORTA &= 0b11101111;
Изменил но даже не почувствовал в работе таймера изменения, ведать не то

Добавлено: Чт июл 31, 2008 08:15:01
DeNew
Кстати вот это пишет при компиляции:
>>>Warning 203 "hometimer1.c"Line268(1.1): Condition always TRUE
хрен знает на что рычит
Добавлено: Чт июл 31, 2008 08:18:46
BerZerK-ku
Странно... в этом состоянии выход должен продержаться почти секунду.
Вопрос: вы точно сделали эти изменения, откомпилировали проект и зашили новую прошивку?
Если это так, то придется полностью разбираться с алгоритмом работы.
DeNew писал(а):Кстати вот это пишет при компиляции:
>>>Warning 203 "hometimer1.c"Line268(1.1): Condition always TRUE
хрен знает на что рычит
Он ругается на бесконечный цикл программы

на это не надо обращать внимания.
Добавлено: Чт июл 31, 2008 08:42:21
DeNew
BerZerK-ku писал(а):Странно... в этом состоянии выход должен продержаться почти секунду.
Вопрос: вы точно сделали эти изменения, откомпилировали проект и зашили новую прошивку?
Да конечно точно, и контрольная сумма изменилась, да не точно , тут вот это я умею

Добавлено: Чт июл 31, 2008 08:49:01
abc
В курсе, что PORTA,4 имеет открытый сток(коллектор) на выходе ? И чтобы получить с него единицу, надо "подтянуть" его к +5в резистором.
Добавлено: Чт июл 31, 2008 08:52:09
DeNew
abc писал(а):В курсе, что PORTA,4 имеет открытый сток(коллектор) на выходе ? И чтобы получить с него единицу, надо "подтянуть" его к +5в резистором.

без понятия об этом, и как реолизовать это, резюк на ножку и на +5в?
Добавлено: Чт июл 31, 2008 09:00:49
abc
Да. Для наглядности можете повесить последовательно 1кОм и светодиод.
Добавлено: Чт июл 31, 2008 09:04:13
DeNew
abc писал(а):Да.
сделал, но воз по ныне там, поставил 10кило резюк. Питание на выходе сугубо весит то что резюк скинул с 5вольт, не купейки больше не меньше.
Добавлено: Чт июл 31, 2008 09:11:16
BerZerK-ku
DeNew писал(а):
сделал, но воз по ныне там, поставил 10кило резюк. Питание на выходе сугубо весит то что резюк скинул с 5вольт, не купейки больше не меньше.
А как же иначе

Когда порт настроен на вход - работает подтяжка, когда на выход - установлена 1
Попробуйте вот этот вариант.
Добавлено: Чт июл 31, 2008 09:24:31
abc
сделал, но воз по ныне там
Еще. Компаратор должен быть отключен :
Код: Выделить всё
CLRF PORTA
MOVLW 0x07 ;Turn comparators off and
MOVWF CMCON ;enable pins for I/O functions
BCF STATUS, RP1
BSF STATUS, RP0 ;Select Bank1
CLRF TRISA ;Set PORTA as outputs
BCF STATUS, RP0 ;Select Bank0
Это должно быть в начале программы ( при инициализации портов ).
Добавлено: Чт июл 31, 2008 09:41:40
DeNew
BerZerK-ku писал(а):
Попробуйте вот этот вариант.
Увы но нет на выходе лог1, но зато ноль на выходе стабильный, а то летало 0,05..0,1 вольт.
Кстати прога чем делаю, полный боекомплект. CCS_PCWH_v4.020_and_RegFiles
http://drive.stream24.ru/7530081
Добавлено: Чт июл 31, 2008 10:04:26
BerZerK-ku
Странно... нашел пару упущений в исправленной программе, но все они выставляли бы 1 на выход. Шаманство какое-то

Либо необходимо знание архитектуры ПИК-а.
Добавлено: Чт июл 31, 2008 10:05:46
BerZerK-ku
[quote="abc"]Еще. Компаратор должен быть отключен :
quote]
Если я прваилно понял, то есть такая строка в программе
Добавлено: Чт июл 31, 2008 10:08:16
DeNew
BerZerK-ku писал(а):Странно... нашел пару упущений в исправленной программе, но все они выставляли бы 1 на выход. Шаманство какое-то

Либо необходимо знание архитектуры ПИК-а.
Вот и я про то , что не понятно, если Вам не понятно, то я вообще в полном ауте.
Добавлено: Чт июл 31, 2008 10:11:11
BerZerK-ku
DeNew писал(а):
Вот и я про то , что не понятно, если Вам не понятно, то я вообще в полном ауте.
Такой вопрос: а вам известен алгоритм работы программы? т.е. что она вообще должна делать?
Судя по коду передергивание данного выхода должно происходить примерно раз в 10минут. Или его можно вызвать по нажатию кнопки?
Добавлено: Чт июл 31, 2008 10:18:28
DeNew
BerZerK-ku писал(а):DeNew писал(а):
Вот и я про то , что не понятно, если Вам не понятно, то я вообще в полном ауте.
Такой вопрос: а вам известен алгоритм работы программы? т.е. что она вообще должна делать?
Судя по коду передергивание данного выхода должно происходить примерно раз в 10минут. Или его можно вызвать по нажатию кнопки?
Ну вообще толком нет, я понял одно то, что выставляется кнопками еденицы минут десятки минут, и кнопка старт стоп, при нажатии на старт\стоп начинает мигать индикатор и время отсчитывается в минус, и соответственно пока считает на выходе должно быть лог 1, после завершения отсчета пищит зумер, и по идее лог0 на выход, проще не куда, а вот деделал ли то что я предпологаю автор не знаю.
вот графы
Для основной программы
http://www.pic16.nm.ru/likbezc/hometimer_graf04.gif
Для обработчика прерываний:
http://www.pic16.nm.ru/likbezc/hometimer_graf05.gif
Добавлено: Чт июл 31, 2008 10:34:12
BerZerK-ku

а теперь с запаянным резистором на RA.4 попробуйте зашить первоначальный вариант программы и проверить.
Добавлено: Чт июл 31, 2008 10:36:52
DeNew
BerZerK-ku писал(а):
а теперь с запаянным резистором на RA.4 попробуйте зашить первоначальный вариант программы и проверить.
Пробовал, уже увы увы, бермудский мама его
