Снова PIC16F874

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

Re: Снова PIC16F874

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

Порт "отпускать" нужно не через RAx, а через TRISAx.
Реклама
Аватара пользователя
Bkmz
Нашел транзистор. Понюхал.
Сообщения: 164
Зарегистрирован: Пт сен 02, 2011 09:14:44

Re: Снова PIC16F874

Сообщение Bkmz »

Аlex писал(а):Порт "отпускать" нужно не через RAx, а через TRISAx.
Но ведь это открытый сток, почему бы и нет? Не понимаю тогда принципа?
И в первом случае он отпускается, а после сброса С - не хочет.

2.7 Запрещается полное цитирование предыдущего сообщения. Допускается цитирование только части сообщения, необходимой для смысловой связи с предыдущим сообщением.

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

Re: Снова PIC16F874

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

Bkmz писал(а):Проект целиком чуть выше. Ну да ладно, вот этот кусок:

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

		RA4=0;                               //на порт повесили 0
		__delay_ms(DT);                         //
		RA4=1;		                          //порт отпустили (Z)

		if (d1==0) PORTC=0;                   //при обнулении PORTC происходит прижимание к 0 RA4
			else PORTC = number[d1];   //

		RA4=1;                                     //пытаюсь отпустить (состояние Z) RA4, но увы, ничего не меняется
Не нашёл в проекте чуть выше этого куска кода. Хотел проверить в протеусе его, так было бы нагляднее что происходит.
Аватара пользователя
Bkmz
Нашел транзистор. Понюхал.
Сообщения: 164
Зарегистрирован: Пт сен 02, 2011 09:14:44

Re: Снова PIC16F874

Сообщение Bkmz »

Вот здесь точно найдете 144-ая строка и ниже
Вложения
Encoder_test_proba.rar
(100.63 КБ) 190 скачиваний
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Снова PIC16F874

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

а после сброса С - не хочет
Ну всё теперь понятно стало. У Вас с порта С минус идёт на эту ногу через резик и светодиод, по этому, при сбросе PORTC, на ноге RA4 появляется нолик (ключа то, подтягивающего к плюсу, у него нет). Соответственно, чтобы Вы не записвали в RA4, на ноге реально будет всегда висеть минус.
Реклама
Аватара пользователя
Bkmz
Нашел транзистор. Понюхал.
Сообщения: 164
Зарегистрирован: Пт сен 02, 2011 09:14:44

Re: Снова PIC16F874

Сообщение Bkmz »

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

Re: Снова PIC16F874

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

Bkmz писал(а):но почему сам регистр PORTA то не модифицируется этой командой?
С чего Вы это взяли ? Всё модифицируется, и на протяжении всех команд, от RA4=1", там висит единица.
scr.JPG
(226.17 КБ) 409 скачиваний
А вот следующей командой (RA0=1) он уже сбрасывается. Думаю, понятно почему...
Аватара пользователя
Bkmz
Нашел транзистор. Понюхал.
Сообщения: 164
Зарегистрирован: Пт сен 02, 2011 09:14:44

Re: Снова PIC16F874

Сообщение Bkmz »

Ладно попробую иначе. Оцепил эту ногу от светика. Делаю RA=1. Вывод отключается от 0 и переходит в Z. Ну т.е. как бы там 1. Но во внутреннем то регистре PORTA почему все нули, ведь при всех нулях этот вывод должен по идее прижат к земле. :dont_know:
Последний раз редактировалось Bkmz Сб сен 07, 2013 14:39:33, всего редактировалось 2 раза.
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Снова PIC16F874

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

Но во внутреннем то регистре PORTA почему все нули
Повторю свой вопрос. С чего Вы это взяли ? Где смотрите ?
Я Вам продемонстрировал, что это не так.
Аватара пользователя
Bkmz
Нашел транзистор. Понюхал.
Сообщения: 164
Зарегистрирован: Пт сен 02, 2011 09:14:44

Re: Снова PIC16F874

Сообщение Bkmz »

опоздал. Всё ясно. А вот в МПЛАБЕ регистр нифига в 1 не выставляется, так и висит 0. Видимо косяк МПЛАБА. Спасибо, что разжевали, заодно и косяк выяснился МПЛаба
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Снова PIC16F874

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

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

Re: Снова PIC16F874

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

Аlex писал(а):Он просто показывает что реально находится на PORTA.
Да, так и есть. Повесил PU и он стал показывать единицу в 4-ом разрядее.
scr.JPG
(276.51 КБ) 391 скачивание
Так что МПЛАБ "умнее" протеуса :)
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: Снова PIC16F874

Сообщение HHIMERA »

Аlex писал(а):Порт "отпускать" нужно не через RAx, а через TRISAx.
:)))
Решил постареть и не разговаривать с соседями по лавочке как Дубровенко??? :))
Зачем через TRISAx... в чём тайный смысл??? Для PA4 это лишнее...
"Я не даю готовых решений, я заставляю думать!"(С)
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Снова PIC16F874

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

Зачем через TRISAx... в чём тайный смысл???
а как ещё сделать Z-состояние на выводе ? Есть другие варианты ? :))

ЗЫ: Задела фраза, адресуемая Диме ? :)))
Аватара пользователя
Bkmz
Нашел транзистор. Понюхал.
Сообщения: 164
Зарегистрирован: Пт сен 02, 2011 09:14:44

Re: Снова PIC16F874

Сообщение Bkmz »

Аlex писал(а):Повесил PU и он стал показывать единицу в 4-ом разрядее.


Так что МПЛАБ "умнее" протеуса :)
PU- это подтягивающий резистор? Ну не думаю, что умнее, меня так это наоборот с толку сбило. А в Протеусе ни разу не пробовал исходник запускать. Сейчас первый раз попробовал и действительно ведь во внутреннем регистре 1 весит, а на RA4 - ноль. Спасибо Вам.
А не подскажете как перевести двоично-десятичный код в двоичный, а то че то не могу ничего найти, или хотя бы алгоритм.
Последний раз редактировалось Bkmz Сб сен 07, 2013 15:45:18, всего редактировалось 3 раза.
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: Снова PIC16F874

Сообщение dosikus »

Bkmz, что за компилятор.
И как определен RA4 ?
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: Снова PIC16F874

Сообщение HHIMERA »

Аlex писал(а): Есть другие варианты ? :))
Для RA4 с OD без вариантов... настраиваем на вывод... если нужно Z-состояние, то просто пишем туда "1"... TRISA не трогаем...
Эта нога наилучшим образом приспособлена под one wire... должен знать...
Пркалывают инетовские говнокоды one wire под STM8, STM32 и др. ... настраивают пин как OD, а потом ещё и дёргают DDR или MODER... а зачем??? :)))
"Я не даю готовых решений, я заставляю думать!"(С)
Аватара пользователя
Bkmz
Нашел транзистор. Понюхал.
Сообщения: 164
Зарегистрирован: Пт сен 02, 2011 09:14:44

Re: Снова PIC16F874

Сообщение Bkmz »

dosikus писал(а):Bkmz, что за компилятор.
И как определен RA4 ?
Hi-Tech. Определен как цифровой выход.
Аватара пользователя
Dmitry Dubrovenko
Поставщик валерьянки для Кота
Сообщения: 2359
Зарегистрирован: Вс янв 09, 2011 16:51:39
Откуда: Санкт-Ленинград
Контактная информация:

Re: Снова PIC16F874

Сообщение Dmitry Dubrovenko »

Аlex писал(а):Открытый сток на выходе может давать только лог "0" (не считая Z-состояния)
А пулл-ап если подключается, то такая "1" уже не считается? :)
Вы внимательно прочтите, о чём я писАл. :wink:

Ну, а насчёт "поговорить", Стас уже всё сказал.
Могу только насчёт "кажется" добавить, но не буду. :)))
ICQ нет, и, в ближайшее время, не будет.
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: Снова PIC16F874

Сообщение dosikus »

HHIMERA писал(а):... настраивают пин как OD, а потом ещё и дёргают DDR или MODER... а зачем??? :)))
По AVR'вской привычке... :)))
Ответить

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