Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить

Re: Плата LED&KEY (TM1638). Чтение кнопок, ассемблер.

Сб мар 25, 2023 18:01:57

Alex_641, запущенный процесс преобразования работает в АЦП аппаратно независимо от того, что делает в данный момент АЛУ, и по окончании его выставляется флаг ПРЕОБРАЗОВАНИЕ ОКОНЧЕНО.

Re: Плата LED&KEY (TM1638). Чтение кнопок, ассемблер.

Сб мар 25, 2023 18:04:40

Alex_641, из pdf:
All interrupts have a separate Interrupt Vector in the Interrupt Vector table. The interrupts have priority in accordance with their Interrupt Vector position. The lower the Interrupt Vector address, the higher the priority.
---
ru: Все прерывания имеют отдельный вектор прерывания в таблице векторов прерываний. Прерывания имеют приоритет в соответствии с их положением в векторе прерывания. Чем меньше адрес вектора прерывания, тем выше приоритет.

Re: Плата LED&KEY (TM1638). Чтение кнопок, ассемблер.

Сб мар 25, 2023 18:06:44

А пачему если есть прерывания , то приходиться корректировать показания АЦП каноническими формулами ? А если прерываний нет , то не надо ? КАК ?

Re: Плата LED&KEY (TM1638). Чтение кнопок, ассемблер.

Сб мар 25, 2023 18:24:02

Alex_641, видимо, что-то ты не правильно делаешь.
два аппаратных устройства работают независимо друг от друга и не мешают друг другу. но ты отказываешься эту независимость понимать.
лично мне никогда не приходилось корректировать результат АЦП - всегда АЦП работает правильно и совершенно линейно.

Re: Плата LED&KEY (TM1638). Чтение кнопок, ассемблер.

Сб мар 25, 2023 19:13:03

Незнаю почему ! Но вот первый мой вольтметр на пик16ф684 , лет 6 назад . Первые фотки это без компенсации , вторые с ней .
Изображение
Вложения
555.jpg
(225.87 KiB) Скачиваний: 38

Re: Плата LED&KEY (TM1638). Чтение кнопок, ассемблер.

Сб мар 25, 2023 19:53:05

ADIF отслеживаете завершено ли преобразование, до получения результата?

Re: Плата LED&KEY (TM1638). Чтение кнопок, ассемблер.

Сб мар 25, 2023 20:05:02

Адиф - это кто ?

Re: Плата LED&KEY (TM1638). Чтение кнопок, ассемблер.

Сб мар 25, 2023 20:06:48

PIC16F684:
Код:
REGISTER 2-5: PIR1: PERIPHERAL INTERRUPT REQUEST REGISTER 1
...
bit 6 ADIF: A/D Interrupt Flag bit
1 = A/D conversion complete
0 = A/D conversion has not completed or has not been started
...

или без прерывания:
Код:
REGISTER 9-1: ADCON0: A/D CONTROL REGISTER 0
../
bit 1 GO/DONE: A/D Conversion Status bit
1 = A/D conversion cycle in progress. Setting this bit starts an A/D conversion cycle.  This bit is automatically cleared by hardware when the A/D conversion has completed.
0 = A/D conversion completed/not in progress
...

Вероятно, используете данные прежде чем закончилось преобразования.
---
Какова компенсация выше? В коде? В некотором смысле, алгоритм?
Последний раз редактировалось veso74 Сб мар 25, 2023 20:21:53, всего редактировалось 1 раз.

Re: Плата LED&KEY (TM1638). Чтение кнопок, ассемблер.

Сб мар 25, 2023 20:21:46

Alex_641, а как ты сделал свой измеритель, если даже совсем не знаешь периферию твоего МК?

Re: Плата LED&KEY (TM1638). Чтение кнопок, ассемблер.

Сб мар 25, 2023 20:54:11

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

Re: Плата LED&KEY (TM1638). Чтение кнопок, ассемблер.

Сб дек 09, 2023 08:00:48

Все бросились обсуждать, то что не в тему. Читаем название темы: Плата LED&KEY (TM1638). Чтение кнопок, ассемблер. Ничего умного, кроме предложения опроса каждые 100 мс не написано. Я очень долго бьюсь над задачей опроса именно ТМ1638, но конкретного факта нажатия ещё не выловил. Для флага нажатия хоть-какой-нибудь кнопки поставил светодиод. Для вывода кода нажатой кнопки - стоит побитный индикатор на целый порт (использую жирную PIC). Николай Савельев близко подошёл к программной реализации опроса кнопок, но слился с форума. Конкретно есть готовые примеры у кого-нибудь? Не ассемлер не предлагать и АЦП не упоминать - давайте не отходить от темы.

По программе. Пример реализации чтения с ТМ1683. Передаём команду чтения с ТМ1683, затем принимаем четыре байта.
; реализация чтения данных с клавиатуры
movlw 0x42 ; чтение данных с клавиатуры
call Byte_Out ; пересылка данных в ККД
bsf dio_in ; RC5 на ввод
call Byte_In ; принятие данных из ККД
... сохраняем первый принятый байт
call Byte_In ; принятие данных из ККД
... сохраняем второй принятый байт
call Byte_In ; принятие данных из ККД
... сохраняем третий принятый байт
call Byte_In ; принятие данных из ККД
... сохраняем четвёртый принятый байт
bcf dio_in ; RC5 на вывод


И всё. Все четыре принятых байта всегда нулевые. Кнопки естественно бешено и в беспорядке нажимаются.

Re: Плата LED&KEY (TM1638). Чтение кнопок, ассемблер.

Вс янв 07, 2024 18:58:24

Ассемблер 8051.

Re: Плата LED&KEY (TM1638). Чтение кнопок, ассемблер.

Сб янв 13, 2024 11:34:29

Спасибо, посмотрю. Но вроде топикстартер не эту программу приводил?

Re: Плата LED&KEY (TM1638). Чтение кнопок, ассемблер.

Чт янв 18, 2024 04:11:23

Спасибо, посмотрю. Но вроде топикстартер не эту программу приводил?

Я не смотрел код топикстартера. В последнем сообщении темы просили код на ассемблере, я привел свой рабочий код, с комментариями. Правда писал я его лет 5 назад, когда ещё совсем зелёным был, поэтому скорее всего можно написать и лучше. Но комментарии по особенностям работы с ТМ1638 есть, так что можно разобраться.
Ответить