Поклонники продукции Microchip Technology Inc тусуются тут.
Ответить

Re: Нестандартный вывод динамической индикации,нужна подсказ

Ср июл 15, 2020 17:32:30

все нестандартные решения ВСЕГДА чреваты граблями причем порой самыми неожидаными и проявляющимися в определены условный момент.. в таком подпаленом мк всеже луче сделать вывод иначе через регистры или спец цип драйвера или оставит битую ципрку наа другую поделку попроше
и взять новый мк

Re: Нестандартный вывод динамической индикации,нужна подсказ

Ср июл 15, 2020 17:34:10

...Например присмотритесь с каких пинов вывод на сегменты,там есть как пины порта А так и порта В...
А какая разница с каких пинов/портов всё управляется в устройстве на МК? Тем МК и хорош, что любые ( почти любые ) выводы могут быть как входами, так и выходами. Достаточно часто сначала разводят печатную плату со связями наиболее удобными для разводки, а уже потом пишут программу под полученную схему. Так что это не "изврат", а "упрощение жизни" создателю печатной платы за счет небольшого "усложнения жизни" программисту ( судя по рисунку ПП, так оно и есть ).

Re: Нестандартный вывод динамической индикации,нужна подсказ

Ср июл 15, 2020 17:50:18

Так что это не "изврат", а "упрощение жизни" создателю печатной платы за счет небольшого "усложнения жизни" программисту ( судя по рисунку ПП, так оно и есть ).

Какая разница каким словом это называется если это нестандартный метод и хочу в нем разобраться....BSF ом поднимал флаги на пинах,BCF ом пускал,мплаб долго ругался но все же скомпилировал,а вот протез начал какие-то карказябры выдавать... :facepalm:

Re: Нестандартный вывод динамической индикации,нужна подсказ

Ср июл 15, 2020 17:57:56

...Какая разница каким словом это называется если это нестандартный метод...

А кто сказал, что это "нестандартный" метод? Где можно ознакомиться со списком "стандартных"? :-D Начните с простого. Для начала выведите конкретный сегмент на конкретном знакоместе. Потом этот-же сегмент на другом знакоместе, затем то-же самое с другим сегментом. И.т.д. После составьте таблицу где столбцы - конкретные пины МК, строки - состояние дисплея в конкретный момент времени. не забудьте про полное гашение дисплея, когда все знакоместа неактивны. В Вашем случае для "стандартного" метода удобнее всего для включения сегментов выделить пины RB0-RB6 ( тупая таблица знакогенератора ). RB7 и пины PORTA выделить под активацию знакомест.

Re: Нестандартный вывод динамической индикации,нужна подсказ

Ср июл 15, 2020 19:22:53

Для начала выведите конкретный сегмент на конкретном знакоместе.

Вот теперь стало всё предельно ясно...А именно то что Вы не знаете даже чем статическая индикация отличается от динамической...Читайте дальше зайца,носова,нечаева и подобных самородков.......В статической индикации все намного проще организовать причем не важно какого порта будут пины,только пинов у контроллера частенько совсем не хватает.

Re: Нестандартный вывод динамической индикации,нужна подсказ

Ср июл 15, 2020 20:31:05

Вечный ученик, да без разницы, статическая или динамическая индикация. Вы просто сами не умеете работать с МК. Не понимаете что такое битовые и логические операции. Какая разница - на одном порту висит или на нескольких разных? Только в количестве инструкций. Что для динамической индикации совершенно неважно. Так что вы лучше не людей поучайте, что им читать, а сами почитайте, как работать с портами МК и про логические операции. И что такое Read-Modify-Write, который тут упоминали. Немного поясню - помимо BSF, BCF, чтобы поменять состояние только нескольких пинов порта, можно текущее значение порта считать в регистр, применить к нему через лог. И или лог. ИЛИ маску и записать назад. Тем самым в 3 инструкции поменяются только нужные пины порта. На C это вообще одной командой делается и одинаково для любого МК.

Добавлено after 8 minutes 43 seconds:
Re: Нестандартный вывод динамической индикации,нужна подсказка.
Код:
movf PortА,0 ; Копировать содержимое PortА в регистр W
andlw b‘00001111’ ; побитное И содержимого W и числа 00001111
movwf PortA ; копировать содержимое W в порт A.

Подумайте над этим что-ли. Хотя это в любом учебнике разъяснено должно быть.

Re: Нестандартный вывод динамической индикации,нужна подсказ

Ср июл 15, 2020 20:43:43

У вас правильный ник...Не "вечный" ученик задаёт вопросы, а не доказывает свои умозаключения.
Кстати динамическая индикация - это набор статических индикаций изменяемых во времени. Скорость изменения выбирается исходя из инерционности глаз-мозг человека.

Re: Нестандартный вывод динамической индикации,нужна подсказ

Ср июл 15, 2020 21:01:14

У вас правильный ник..

Знаю.Почитайте первое сообщение в теме.Кем оно написано и какой вопрос я задал??? Почитали?Так вот в ответ почти все пытаются объяснить какой я мудак и не понимаю некоторых вещей,а реально в какую сторону попробовать покопать подсказали только три человека......злые вы,уиду я от вас...

Re: Нестандартный вывод динамической индикации,нужна подсказ

Ср июл 15, 2020 21:35:17

RB4,RB5,RB6,RB7,RA0,RA1,RA2 осуществить управление сегментами

Сдвиги и лог. операции. Ну допустим мы слева направо писать будем. RB4 - старший бит, RA2 - младший. Вот есть у нас число для записи, пусть будет 0b01111001, где ведущий ноль - лишний. Начнем с младших 3х бит. "Извлечем" их наложением маски 0b00000111 И с числом. Получим 0b00000001. Если нам на остальные пины порта плевать - ну так и пишем его прямо в порт А. "Извлекаем" старшие 4 - И с 0b01111000 = 0b01111000, сдвиг влево на 1 (из-за ведущего ноля), получили 0b11110000. Ну ведь всё-равно что будут нули в RB0-3? Так и пишем прямо тоже.
Если б было не всё-равно на остальные пины порта, то надо R-M-W делать.
На C это вообще элементарно делается:
Код:
char out = 0b01111001;
PORTA = (out & 0b111);
PORTB = (out & 0b01111000) << 1;

Re: Нестандартный вывод динамической индикации,нужна подсказ

Ср июл 15, 2020 22:35:51

Можно поподробней,а то с побитным выводом даже компилироваться не хочет

Вы бы привели текст исходника. который не желает компилироваться... А то все как то туманно.
Я речь вел о том, что инструкции ассемблера bcf/bsf на самом деле не изменяют биты напрямую (это принципиально невозможно, поскольку биты не имеют прямой адресации), а реализуют процедуру Чтение-Модификация-Запись (Read-Modify-Write). И если МК не имеет доступа к чтению выходной защелки и читает вместо нее пины, то управляя одним битом, можно перезаписать в выходную защелку другой бит как состояние выходного пина. То есть нештатно его изменить.

Re: Нестандартный вывод динамической индикации,нужна подсказ

Чт июл 16, 2020 04:22:02

...А именно то что Вы не знаете даже чем статическая индикация отличается от динамической...Читайте дальше зайца,носова,нечаева и подобных самородков...
:-D Не Вам судить, что я знаю, а чего не знаю. Тысячу раз зарекался с муд@ками не связываться и в снова сорвался. :-D

Добавлено after 3 minutes 25 seconds:
...Я речь вел о том, что инструкции ассемблера bcf/bsf на самом деле не изменяют биты напрямую...
IMHO бесполезно это, в пустоту вещаете. Чукча - писатель. :-D

Re: Нестандартный вывод динамической индикации,нужна подсказ

Чт июл 16, 2020 10:49:42

...злые вы,уиду я от вас...

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

Re: Нестандартный вывод динамической индикации,нужна подсказ

Чт июл 16, 2020 12:38:15

Надо просто его выудить.

Всё же решил собрать свой переносной термометр на другом камне,навалились другие дела,некогда сейчас разбираться с управлением пинами...Но мне не дает покоя мысль как калиграфской так организовал вывод,может укого есть исходник с подобным извращением на ассемблере,покажите именно эту часть,пожалуйста!

Re: Нестандартный вывод динамической индикации,нужна подсказ

Чт июл 16, 2020 15:02:56

Но мне не дает покоя мысль как калиграфской так организовал вывод
Если бы Вы углублено изучали принципы работы динамической индикации. То Вы бы узнали, что она может быть реализована двумя способами:
1) Поразрядный вывод информации.
2) Посегментный вывод информации. Он как раз и реализован в той схеме с часами.
На сайте изиэлектроникс есть хорошая статья по динамической индикации. И легко находиться в гугле.

Re: Нестандартный вывод динамической индикации,нужна подсказ

Чт июл 16, 2020 15:33:08

Посегментный вывод информации. Он как раз и реализован в той схеме

Не согласен . Вывод самый обычный поразрядный.

Re: Нестандартный вывод динамической индикации,нужна подсказ

Чт июл 16, 2020 16:41:42

Посегментный вывод информации. Он как раз и реализован в той схеме

Не согласен . Вывод самый обычный поразрядный.

А более детально можете сказать, с чего Вы сделали такой вывод?

Re: Нестандартный вывод динамической индикации,нужна подсказ

Чт июл 16, 2020 18:26:03

Сделал дизасм и посмотрел.

Re: Нестандартный вывод динамической индикации,нужна подсказ

Чт июл 16, 2020 18:38:05

может быть реализована двумя способами:
1) Поразрядный вывод информации.
2) Посегментный вывод информации. Он как раз и реализован в той схеме с часами.
На сайте изиэлектроникс есть хорошая статья по динамической индикации. И легко находиться в гугле.

на самом деле способоф боле 2х я кроме них знаю +3 но уверен что их боле
на практике однако в основном реализован 1 метож+ из 1 из тех трех что я знаю....
другие мене удобны для работы с мк широкого применения
Ответить