Например TDA7294

Форум РадиоКот • Просмотр темы - Вопросы начинающих PIC ASM
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Ср июл 09, 2025 00:57:46

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


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



Начать новую тему Ответить на тему  [ Сообщений: 731 ]    , , , 4, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Сб июн 18, 2016 20:15:15 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2918
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 23883
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Вообще то, в папке MPASM Suite/Template есть примеры.
Код:
;**********************************************************************
;  1 - Vdd - 5 вольт
;  2 - OSC1 - 20 MHz
;  3 - OSC2 - 20 MHz
;  4 - MCLR
;  5 - RC5/CCP1 - выход ШИМ
;  6 - RC4 - Band 1
;  7 - RC3 - Band 0
;  8 - RC2 - Freq 2
;  9 - RC1 - Freq 1
; 10 - RC0 - Freq 0
; 11 - RA2 - включение девиации
; 12 - RA1/ICSPCLK
; 13 - RA0/ICSPDAT
; 14 - Vss - общий
;**********************************************************************
   list      p=16f1824
   #include   <p16f1824.inc>
   errorlevel   -302
;**********************************************************************   
   __CONFIG_CONFIG1,_CP_ON&_CPD_ON&_BOREN_OFF&_PWRTE_ON&_WDTE_OFF&_FOSC_HS&_MCLRE_ON
   __CONFIG _CONFIG2, _STVREN_ON&_BORV_HI&_LVP_OFF&_PLLEN_OFF
;**********************************************************************
arg         EQU   0x70
load_T0      EQU   0x79
aaa         EQU   0x7B
temp         EQU   0x7C
temp1      EQU   0x7D
;**********************************************************************
   ORG      0x000
      nop
      goto      main
   ORG      0x004
      movf      load_T0,w      ; предустановку
      movwf   TMR0         ; грузим в таймер
      incf      arg,f         ; инкрементируем аргумент
      movf      arg,w
      andlw      0x7F
      btfsc      PORTC, 4
      goto      no_test
      btfss      PORTC, 3
       goto      test
no_test   call      sin
      movwf   aaa
load_PWM   swapf   aaa,w
      andlw   b'00110000'
      iorlw      b'00001111'
      movlb   .5
      movwf   CCP1CON
      rrf      aaa,f
      rrf      aaa,w
      andlw   b'00111111'
      movwf   CCPR1L
      movlb   .0
      bcf      INTCON,T0IF
      retfie
test      movwf   aaa
      addwf   aaa, f
      comf      aaa, f
      goto      load_PWM
;----------
;----------
main      movlb   .0
      movlw   b'00100000'         ; T0IE = 1
      movwf   INTCON
      clrf      PIR1
      clrf      T1CON
..........................
..........................
   END


Последний раз редактировалось КРАМ Вс июн 19, 2016 05:51:30, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Сб июн 18, 2016 20:37:45 
Опытный кот
Аватар пользователя

Карма: 18
Рейтинг сообщений: 44
Зарегистрирован: Чт апр 12, 2012 07:19:59
Сообщений: 870
Откуда: Тюмень
Рейтинг сообщения: 0
Точно есть, даже под разные камни, я этого и не знал, спасибо :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Сб июн 18, 2016 20:46:37 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
Не самый лучший вариант спрашивать шаблоны....
По себе знаю: Когда сам "прошертишь" pdf на предмет регистров конкретного контроллера с привязкой к схеме - знаешь что к чему.
Если, даже, брать из "заготовок" - один фиг, документацию перечитывать надо.
----
P.S.
Кстати, в MPLAB-е есть достаточно "вменяемый" HELP по ASM (и не только).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Ср июл 06, 2016 21:53:25 
Потрогал лапой паяльник

Карма: 1
Рейтинг сообщений: 13
Зарегистрирован: Чт авг 08, 2013 01:06:54
Сообщений: 359
Рейтинг сообщения: 0
Доброго времени суток. Подскажите пожалуйста, как в MPLAB 8.92 просто создать проект, состоящий из нескольких ассемблерных файлов. Какого типа должны подключаемые файлы, если в них есть исполняемый код, *.asm, или *.lib ? Прошу прощения, но из вменяемого материала в поиске, нашел только 186 страничный талмут (http://www.abiks1.narod.ru/files/mplab_ide.pdf) и в нем не могу этого найти.


Вернуться наверх
 
Выбираем индустриальные и медицинские источники питания MEAN WELL в открытом исполнении

Использование модульных источников питания открытого типа широко распространено в современных устройствах. Присущие им компактность, гибкость в интеграции и высокая эффективность делают их отличным решением для систем промышленной автоматизации, телекоммуникационного оборудования, медицинской техники, устройств «умного дома» и прочих приложений. Рассмотрим подробнее характеристики и особенности трех самых популярных вариантов AC/DC-преобразователей MW открытого типа, подходящих для применения в промышленных устройствах - серий EPS, EPP и RPS представленных на Meanwell.market.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Ср июл 06, 2016 22:15:55 
Говорящий с текстолитом

Карма: -3
Рейтинг сообщений: 84
Зарегистрирован: Сб янв 19, 2008 23:57:27
Сообщений: 1675
Рейтинг сообщения: 0
Бедолага, как же без кота-то жить? А у меня есть :)) Изображение
А по теме, это уже не по теме. По MPLAB есть другая тема, или создайте, пож-ста.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Ср июл 06, 2016 22:21:15 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
Создать проект - Project > Project Wizard. Далее по пунктам.
Далее, Cofigure > Select Device и выбрать тот же самый контроллер.
"Шапка файла" такого вида (прверить контроллер и путь к *.inc):
Код:
   include   <C:\Program Files (x86)\Microchip\MPASM Suite\P16LF1823.INC>
   LIST   P=PIC16LF1823
Начало исполняемого кода:
Код:
   ORG   0000
START

Окончание программы:
Код:
   end

Все файлы *.asm необходимо добавить в окне проекта в Source Files.
Рекомендую избегать кириллицы в названиях папки проекта, названиях файлов и т.д..


Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Ср июл 06, 2016 22:48:01 
Потрогал лапой паяльник

Карма: 1
Рейтинг сообщений: 13
Зарегистрирован: Чт авг 08, 2013 01:06:54
Сообщений: 359
Рейтинг сообщения: 0
Я вроде все делаю как вы объяснили, даже прочитал вот тут (http://www.microchip.su/showthread.php?t=10503) кое-что, и попробовал объявить свою процедуру с помощью директив extern и global (в прикрепленном скриншоте этого не видно, но я так пробовал), но к сожалению у меня ничего не получается.
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Ср июл 06, 2016 22:57:49 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
Ответил в ЛС.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Чт июл 07, 2016 14:14:49 
Потрогал лапой паяльник

Карма: 1
Рейтинг сообщений: 13
Зарегистрирован: Чт авг 08, 2013 01:06:54
Сообщений: 359
Рейтинг сообщения: 0
Вроде разобрался. Во включаемом файле, в начале секции кода пишем магическое слово CODE, и все ассемблируется без ошибок. Спасибо всем помогавшим в личке :beer:
П.С. Теперь надо выяснить, как заменить конструкцию вида
Код:
   cblock   0Ch
Temp_1
Temp_2
Temp_3
   endc

на
Код:
   udata
Temp_1 res 1
Temp_2 res 1
Temp_3 res 1

При прямой замене линкер не матюгается, но HEX формировать не хочет :(


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Вс июл 10, 2016 11:49:12 
Друг Кота
Аватар пользователя

Карма: 94
Рейтинг сообщений: 1468
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15077
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Смотри замечания, выданные на вкладке Build окна Output - там причину обычно указывает.
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Чт авг 11, 2016 20:13:11 
Потрогал лапой паяльник

Карма: 1
Рейтинг сообщений: 13
Зарегистрирован: Чт авг 08, 2013 01:06:54
Сообщений: 359
Рейтинг сообщения: 0
Есть PIC12F629, который имеет 2 таймера. Хочу делать программный UART, и хотелось бы использовать для него один из таймеров. Какой оптимальнее использовать для моих целей ? Хотелось бы более гибко конфигурируемый оставить на будущие неопределенные задачи, а более ущербный пустить на это дело.


Последний раз редактировалось Пока_без_кота Чт авг 11, 2016 21:50:30, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Чт авг 11, 2016 20:34:28 
Друг Кота
Аватар пользователя

Карма: 58
Рейтинг сообщений: 389
Зарегистрирован: Чт мар 20, 2008 01:06:40
Сообщений: 3253
Откуда: Севастополь
Рейтинг сообщения: 0
TMR0
Но, вообще, программный UART там делается тупо на задержках.

_________________
>(*.*)<
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Чт авг 11, 2016 20:39:39 
Потрогал лапой паяльник

Карма: 1
Рейтинг сообщений: 13
Зарегистрирован: Чт авг 08, 2013 01:06:54
Сообщений: 359
Рейтинг сообщения: 0
abc писал(а):
TMR0
Но, вообще, программный UART там делается тупо на задержках.

Спасибо за высказанное мнение. UART на задержках я уже сделал, теперь хочется нормальный, чтобы байтик принимался в прерывании, пока я в основном цикле своими делами занимаюсь.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Чт авг 11, 2016 20:53:42 
Друг Кота
Аватар пользователя

Карма: 58
Рейтинг сообщений: 389
Зарегистрирован: Чт мар 20, 2008 01:06:40
Сообщений: 3253
Откуда: Севастополь
Рейтинг сообщения: 0
Байт на 9600bps принимается примерно 1 мСек.
Что такого важного и неотложного успеет сделать PIC12F629 за это время ?

_________________
>(*.*)<
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Чт авг 11, 2016 21:14:18 
Потрогал лапой паяльник

Карма: 1
Рейтинг сообщений: 13
Зарегистрирован: Чт авг 08, 2013 01:06:54
Сообщений: 359
Рейтинг сообщения: 0
abc писал(а):
...

Просто будет спать, проснется по прерыванию на ноге INT (начало старт-бита) и пойдет заранее опрашивать датчики, и готовить данные к отправке, а по окончания приема сразу выстрелит в ответ, и опять спать :)))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Чт авг 11, 2016 23:12:16 
Друг Кота
Аватар пользователя

Карма: 58
Рейтинг сообщений: 389
Зарегистрирован: Чт мар 20, 2008 01:06:40
Сообщений: 3253
Откуда: Севастополь
Рейтинг сообщения: 0
Мне, в общем-то, все равно, но если МК будет спать, логично же и датчики перевести в слип-режим ? Нет ?
А коли так, то зачастую им надо гораздо больше времени, чем 1 мс, чтобы раздуплиться после сна. И еще больше времени, чтобы измерить то, что они там измеряют и выдать результат.
Отсюда - алгоритм : принять посылку (один ? два байта ?), разбудить датчики (а это могут быть и десятки мс), прочитать их, послать ответ. Все линейно и без лишней мозготни.
Но если хочется непременно с мозготней - Б-га ради, это не криминал :)

_________________
>(*.*)<
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пт авг 12, 2016 00:08:54 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1430
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4564
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
abc писал(а):
Но, вообще, программный UART там делается тупо на задержках.
Ага, а во время задержки прилетело прерывание от чего-либо и по УАРТу принялась лажа, из-за покалеченного тайминга :facepalm:
Правильно чел мыслит.
По сабжу. Таймер - любой удобный. Не такой уж и большой выбор...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пт авг 12, 2016 06:13:11 
Друг Кота
Аватар пользователя

Карма: 94
Рейтинг сообщений: 1468
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15077
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Пока_без_кота писал(а):
Есть PIC12F629...


У "малых 8-лапок" больше двух задач одновременно запустить есть великий садомазохизм...
Концепция среднемладших ПИКовых, с учетом системы обработки прерываний, с самого начала тяготеет к периферийной поддержке системы - разработке с их помощью собственной СБИС под конкретную прикладную задачку для разгрузки основного МК.
Т.е. порт-расширитель, преобразователь интерфейса, преобразователь протокола, умный ЦАП/АЦП... и подобные устройства.
Основной упор при разработке делается на наличие в МК необходимых аппаратных модулей (благо из тех же соображений микрочип наштамповал кучу разнообразных модификаций с весьма удобными "стандартными" вариантами соотношениями начинки).
Посему уж если чего серьезного от приемопередатчика выжать надо то предпочтительно взять МК с соответствующим аппаратным модулем "на борту".
К примеру pic16f688 и/или pic16f628.
Есть и 8-лапые с EUSART - pic12f1822 - но в доступном для покупки пространстве их пока не наблюдается (да и это не совсем среднемладший - Enhanced Mid-range).
Кстати... правота такого подхода подтверждается и поисковиком на сайте микрочипа :
http://www.microchip.com/ParamChartSear ... &pageId=74
выбираешь искомые параметры в колонках и далее смотришь предлагаемый вариант для приобретения...(глотая слюнки)...
:cry:
:beer:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пт авг 12, 2016 19:42:17 
Потрогал лапой паяльник

Карма: 1
Рейтинг сообщений: 13
Зарегистрирован: Чт авг 08, 2013 01:06:54
Сообщений: 359
Рейтинг сообщения: 0
Ну, я смог недорого достать именно эти (хотя искал 12F675), так что приходится лепить из того, что есть. Тем более, что это просто хобби для самообучения, поэтому "чего-то серьезного" выжать, целью не ставится. Просто получить максимум, из того что имеется, попутно приобретая опыт :tea:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пт авг 12, 2016 21:07:52 
Друг Кота
Аватар пользователя

Карма: 94
Рейтинг сообщений: 1468
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15077
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Тогда обрати внимание на еще одну особенность - в обращении к РСФ у ПИКовых (и у АВР чуток) в отличии от mcs51 есть понятие "видимости" регистров данных/управления аппаратными модулями из определенных банков памяти.
Посему дабы не загромождать код излишними префиксами смены банков сразу приучись для программы обслуживания соответствующего аппаратного модуля использовать или "сопутствующий" регистровый банк или область udata_shr.
Предпочтение записи прожек управления в виде автономных библиотек (как делал ранее для 51-й).
:beer:


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

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


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

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


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

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


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