Например TDA7294

Форум РадиоКот • Просмотр темы - Проблема при переходе с pic16 на pic18
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Ср май 14, 2025 10:56:12

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 23 ]    , 2
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Проблема при переходе с pic16 на pic18
СообщениеДобавлено: Чт фев 23, 2023 02:17:27 
Нашел транзистор. Понюхал.
Аватар пользователя

Карма: 3
Рейтинг сообщений: 21
Зарегистрирован: Чт ноя 26, 2015 23:22:35
Сообщений: 157
Откуда: не с Уфы
Рейтинг сообщения: 3
........Выбрал второй, внутри таблицы, т. к. он компактнее.
Разве? убирай его из таблицы и везде перед (CALL TABLE) вместо (MOVF INDx,W) пиши (RLNCF INDx,W)

Про PCLATH тебя не зря предупреждают. До (ADDWF PCL,F) надо бы подгружать старший байт:
Код:
    MOVLW    HIGH TABLE
    MOVWF    PCLATH


Есть ещё некоторые нюансы, на которые тебе стоило бы обратить внимание:
Во-первых, не надо "прописывать" спецрегистры (типа: BSR EQU 0xFE0 .......), всё это есть в файле"18f4520.inc", и подключив его, ты таким образом одной строчкой разместил в этом месте всё его содержимое. Этот принцип важно понять и использовать. К примеру ты можешь все свои регистры, флаги, константы и прочие определения оформить в отдельном файле и просто подключить его в каком-то главном (типа main.asm), который станет картой всего твоего проекта. Рано или поздно вертикальный скроллинг всё равно заставит прийти к этому, но лучше как можно раньше начать привыкать к более грамотному оформлению проекта. Тогда будет гораздо легче/быстрее ориентироваться/перемещаться.

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

Вместо нулей, единичек, двоек....... пиши имена W, F, Z ........

Разберись с необходимостью "очистки" флага Z (как и C/DC) перед той или иной арифметической операцией. Проработай этот момент в симуляторе.

Ну и стоило бы наверное изучить 18-е команды, пройтись по строчкам, можно много чего оптимизировать. Да и так лучше формируется/закрепляется навык, нежели когда просто получаешь готовое решение.


в 18-х кстати можно и через прямое чтение flash делать доступ к массиву.
саму таблицу в этом случае можно написать так:
Код:
TABLE_7IND
    DB    b'00000011',b'10011111',b'00100101',b'00001101',b'10011001'
    DB    b'01001001',b'01000001',b'00011111',b'00000001',b'00001001'


В этом случае отсутствует команда возврата (retlw) у каждого байта и соответственно массив сжимается в два раза.

А вот так можно оформить доступ:
Код:
;;;;
MOVF   INDx,W
CALL   L.7IND
;
;
;
L.7IND
ADDLW   LOW TABLE_7IND
MOVWF   TBLPTRL
;
MOVLW   HIGH TABLE_7IND
MOVWF   TBLPTRH
TBLRD*
MOVF   TABLAT,W
RETURN
;;;;


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Проблема при переходе с pic16 на pic18
СообщениеДобавлено: Чт фев 23, 2023 10:28:02 
Первый раз сказал Мяу!

Зарегистрирован: Ср янв 18, 2023 13:01:27
Сообщений: 35
Рейтинг сообщения: 0
Зачем описывать действия команд, если знаешь их наизусть.

...нежели когда просто получаешь готовое решение.

Я всё подробно описываю, потомучто только начал изучать PIC и по этой же причине я беру готовые проекты и изучаю, как они работают. С помощью таких подробных комментариев я надеюсь разобраться в пиках, так что благодарю за помощь! Буду обдумывать полученную информацию.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Проблема при переходе с pic16 на pic18
СообщениеДобавлено: Чт фев 23, 2023 11:41:39 
Друг Кота
Аватар пользователя

Карма: 94
Рейтинг сообщений: 1464
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14981
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Есть еще гибрид 18й и "стандартной среднемладшей" - "улучшенные среднемладшие" (энхансед).
8)
Шпоры по системам команд:
Вложение:
шаблон_команд_PIC10_12_16.pdf [648.72 KiB]
Скачиваний: 68

Вложение:
шаблон_команд_PIC10_12_16_em.pdf [786.17 KiB]
Скачиваний: 69

Вложение:
шпора_PIC18_v2.pdf [55.09 KiB]
Скачиваний: 57

для 18х я на практике не проверял - чистая "теория".
:roll:


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 23 ]    , 2

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y