Снова PIC16F874
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Снова PIC16F874
Порт "отпускать" нужно не через RAx, а через TRISAx.
- Реклама
Re: Снова PIC16F874
Но ведь это открытый сток, почему бы и нет? Не понимаю тогда принципа?Аlex писал(а):Порт "отпускать" нужно не через RAx, а через TRISAx.
И в первом случае он отпускается, а после сброса С - не хочет.
2.7 Запрещается полное цитирование предыдущего сообщения. Допускается цитирование только части сообщения, необходимой для смысловой связи с предыдущим сообщением.
Предусматриваются следующие виды наказаний за нарушение пунктов данных Правил: за нарушение: п 2.7 - Предупреждение. При повторном нарушении - бан на усмотрение модератора.
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Снова PIC16F874
Не нашёл в проекте чуть выше этого куска кода. Хотел проверить в протеусе его, так было бы нагляднее что происходит.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, но увы, ничего не меняется
Re: Снова PIC16F874
Вот здесь точно найдете 144-ая строка и ниже
- Вложения
-
- Encoder_test_proba.rar
- (100.63 КБ) 190 скачиваний
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Снова PIC16F874
Ну всё теперь понятно стало. У Вас с порта С минус идёт на эту ногу через резик и светодиод, по этому, при сбросе PORTC, на ноге RA4 появляется нолик (ключа то, подтягивающего к плюсу, у него нет). Соответственно, чтобы Вы не записвали в RA4, на ноге реально будет всегда висеть минус.а после сброса С - не хочет
- Реклама
Re: Снова PIC16F874
Ну это то и мне понятно, но почему сам регистр PORTA то не модифицируется этой командой? Ну считали мы с этого порта 0, модифицируем в 1 и выдаем в порт, тем самым отпускаем (Z). Что не так понимаю?
Или это Протеус так ведет себя, а в реале будет иначе?
Или это Протеус так ведет себя, а в реале будет иначе?
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Снова PIC16F874
С чего Вы это взяли ? Всё модифицируется, и на протяжении всех команд, от RA4=1", там висит единица. А вот следующей командой (RA0=1) он уже сбрасывается. Думаю, понятно почему...Bkmz писал(а):но почему сам регистр PORTA то не модифицируется этой командой?
Re: Снова PIC16F874
Ладно попробую иначе. Оцепил эту ногу от светика. Делаю RA=1. Вывод отключается от 0 и переходит в Z. Ну т.е. как бы там 1. Но во внутреннем то регистре PORTA почему все нули, ведь при всех нулях этот вывод должен по идее прижат к земле. 
Последний раз редактировалось Bkmz Сб сен 07, 2013 14:39:33, всего редактировалось 2 раза.
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Снова PIC16F874
Повторю свой вопрос. С чего Вы это взяли ? Где смотрите ?Но во внутреннем то регистре PORTA почему все нули
Я Вам продемонстрировал, что это не так.
Re: Снова PIC16F874
опоздал. Всё ясно. А вот в МПЛАБЕ регистр нифига в 1 не выставляется, так и висит 0. Видимо косяк МПЛАБА. Спасибо, что разжевали, заодно и косяк выяснился МПЛаба
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Снова PIC16F874
Ну это, думаю, не косяк. Он просто показывает что реально находится на PORTA.
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Снова PIC16F874
Да, так и есть. Повесил PU и он стал показывать единицу в 4-ом разрядее. Так что МПЛАБ "умнее" протеусаАlex писал(а):Он просто показывает что реально находится на PORTA.
Re: Снова PIC16F874
Аlex писал(а):Порт "отпускать" нужно не через RAx, а через TRISAx.
Решил постареть и не разговаривать с соседями по лавочке как Дубровенко???
Зачем через TRISAx... в чём тайный смысл??? Для PA4 это лишнее...
"Я не даю готовых решений, я заставляю думать!"(С)
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Снова PIC16F874
а как ещё сделать Z-состояние на выводе ? Есть другие варианты ?Зачем через TRISAx... в чём тайный смысл???
ЗЫ: Задела фраза, адресуемая Диме ?
Re: Снова PIC16F874
PU- это подтягивающий резистор? Ну не думаю, что умнее, меня так это наоборот с толку сбило. А в Протеусе ни разу не пробовал исходник запускать. Сейчас первый раз попробовал и действительно ведь во внутреннем регистре 1 весит, а на RA4 - ноль. Спасибо Вам.Аlex писал(а):Повесил PU и он стал показывать единицу в 4-ом разрядее.
Так что МПЛАБ "умнее" протеуса
А не подскажете как перевести двоично-десятичный код в двоичный, а то че то не могу ничего найти, или хотя бы алгоритм.
Последний раз редактировалось Bkmz Сб сен 07, 2013 15:45:18, всего редактировалось 3 раза.
Re: Снова PIC16F874
Bkmz, что за компилятор.
И как определен RA4 ?
И как определен RA4 ?
Re: Снова PIC16F874
Для RA4 с OD без вариантов... настраиваем на вывод... если нужно Z-состояние, то просто пишем туда "1"... TRISA не трогаем...Аlex писал(а): Есть другие варианты ?![]()
Эта нога наилучшим образом приспособлена под one wire... должен знать...
Пркалывают инетовские говнокоды one wire под STM8, STM32 и др. ... настраивают пин как OD, а потом ещё и дёргают DDR или MODER... а зачем???
"Я не даю готовых решений, я заставляю думать!"(С)
Re: Снова PIC16F874
Hi-Tech. Определен как цифровой выход.dosikus писал(а):Bkmz, что за компилятор.
И как определен RA4 ?
- Dmitry Dubrovenko
- Поставщик валерьянки для Кота
- Сообщения: 2359
- Зарегистрирован: Вс янв 09, 2011 16:51:39
- Откуда: Санкт-Ленинград
- Контактная информация:
Re: Снова PIC16F874
А пулл-ап если подключается, то такая "1" уже не считается?Аlex писал(а):Открытый сток на выходе может давать только лог "0" (не считая Z-состояния)
Вы внимательно прочтите, о чём я писАл.
Ну, а насчёт "поговорить", Стас уже всё сказал.
Могу только насчёт "кажется" добавить, но не буду.
ICQ нет, и, в ближайшее время, не будет.
Re: Снова PIC16F874
По AVR'вской привычке...HHIMERA писал(а):... настраивают пин как OD, а потом ещё и дёргают DDR или MODER... а зачем???


