Например TDA7294

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



Текущее время: Чт окт 18, 2018 01:12:17



Часовой пояс: UTC + 3 часа [ Летнее время ]


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



Начать новую тему Ответить на тему  [ Сообщений: 246 ]  На страницу Пред.  1 ... 9, 10, 11, 12, 13  След.
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пн май 15, 2017 23:55:06 
Друг Кота
Аватар пользователя

Карма: 86
Зарегистрирован: Чт сен 12, 2013 01:54:12
Сообщений: 3830
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
Чем именно AVR лучше?
Vadim1369 хочет сделать "крякалку" на контроллере, у которого нет ни DAC ни PWM. SRAM 64 байта и Program Memory 1024 words.
Обычно, контроллер подбирают под задачу...


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Вт май 16, 2017 09:45:53 
Родился

Зарегистрирован: Пт май 12, 2017 12:48:17
Сообщений: 7
Рейтинг сообщения: 0
Привет на сигналку чтоб были разные мелодии


Вернуться наверх
 Профиль  
 
JLCPCB, 10 прототипов ПП всего за $2 и 2 дня доставка!

Крупнейший производитель печатных плат в Китае, 300,000+ заказчиков, 10,000+ он-лайн заказов в день.

Рассчитайте цену онлайн:https://jlcpcb.com/quote

Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Вт май 16, 2017 10:51:24 
Собутыльник Кота
Аватар пользователя

Карма: 51
Зарегистрирован: Чт мар 20, 2008 02:06:40
Сообщений: 2555
Откуда: Севастополь
Рейтинг сообщения: 0
Было время, и на PIC16F84 делались голосовые информаторы.
На PORTB вешалась матрица R-2R, на пару ножек PORTA - 24C512.

_________________
>(*.*)<


Вернуться наверх
 Профиль  
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $88 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Второй конкурс по дизайну печатных плат от PCBWay!
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Вт май 16, 2017 11:56:06 
Родился

Зарегистрирован: Пт май 12, 2017 12:48:17
Сообщений: 7
Рейтинг сообщения: 0
У меня есть схема на PIC12F675 но нет самой прошивки


Вернуться наверх
 Профиль  
 
Более 10 000 000 оригинальных новых компонентов

Поставка электронных компонентов под ваш проект

Комплексные решения поставки электронных компонентов

Сэкономьте $30 при первом заказе на сумму боле $200 (только для посетителей нашего форума)
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Сб июн 10, 2017 04:28:22 
Потрогал лапой паяльник

Карма: 2
Зарегистрирован: Чт авг 08, 2013 02:06:54
Сообщений: 307
Рейтинг сообщения: 0
Доброго времени суток. Необходимо организовать подсчет нескольких интервалов времени между событиями. По событию время должно фиксироваться, и записываться в EEPROM. Интервалы между событиями - до нескольких часов. Получается по 3 байта (часы, минуты, секунды) на время каждого события. Ввиду ограниченного объема EEPROM в целевом МК, решил распихать часы-минуты-секунды в ячейки этаким "жлобским" вариантом: 6 младших байт 1-й ячейки - секунды, 2 старших байта этой же ячейки - младшая часть минут, 4 младших байта 2-й ячейки старшая часть минут, 4 старших байта 2-й ячейки - часы.
Написал следующий алгоритм, в симуляторе вроде работает:

Просьба покритиковать, предложить получше :)))


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Сб июн 10, 2017 08:05:47 
Друг Кота
Аватар пользователя

Карма: 79
Зарегистрирован: Вт мар 16, 2010 23:02:27
Сообщений: 8289
Откуда: ДОНЕЦК (ЮГО-ВОСТОК ua/DPR)
Рейтинг сообщения: 0
А обязательно двоично-десятичное представление?
Я чащи в счетной части использую двоичные значения для минут и часов с последующим преобразованием для индикации.
:roll:


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

Карма: 86
Зарегистрирован: Чт сен 12, 2013 01:54:12
Сообщений: 3830
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 3
Медали: 5
Получил миской по аватаре (5)
Пока_без_кота писал(а):
Просьба покритиковать, предложить получше
Если максимум 18 часов достаточно - просто, считайте секунды двухбайтовым счётчиком.


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

Карма: 74
Зарегистрирован: Чт дек 27, 2012 21:46:09
Сообщений: 2023
Откуда: Болгария, г. Лом
Рейтинг сообщения: 0
Пока_без_кота писал(а):
3 байта (часы, минуты, секунды)

Пока_без_кота писал(а):
6 младших байт 1-й ячейки - секунды, 2 старших байта этой же ячейки - младшая часть минут, 4 младших байта 2-й ячейки старшая часть минут, 4 старших байта 2-й ячейки - часы.

Сколько же, все таки, байт. Или въ путаете битъ и байтъ.
Albert_V писал(а):
18 часов ..... двухбайтовым счётчиком
:beer:

_________________
Лом - ето город в Болгарии, а не инструмент юстировки електроники.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Сб июн 10, 2017 13:35:52 
Потрогал лапой паяльник

Карма: 2
Зарегистрирован: Чт авг 08, 2013 02:06:54
Сообщений: 307
Рейтинг сообщения: 0
Да не путаю, банальная опечатка, просто писАл поздно ночью. Во всем сообщении надо слова "байт" заменить на "бит" :))) Так получается экономлю приличную часть EEPROM, вместо каждых 3-х байт для события, использую только 2. Но вот идея Albert_V действительно гениально проста, скорее всего так и сделаю. У меня все равно значения потом будут передаваться в ПК, там уже можно сделать преобразование в часы-минуты-секунды. Спасибо, Господа :beer:


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

Карма: 86
Зарегистрирован: Чт сен 12, 2013 01:54:12
Сообщений: 3830
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
Только, сделайте проверку на 0хFFFF перед inc-ом, чтоб после 65535 секунд не "перескочить на ноль".


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

Карма: 2
Зарегистрирован: Чт авг 08, 2013 02:06:54
Сообщений: 307
Рейтинг сообщения: 0
Доброго времени суток. PIC12F629. Каким образом можно получить на базе Таймера 1 и кварцевого резонатора 32768 Гц (в качестве внешнего источника тактирования Таймера 1) период в 1 секунду. Я пользуясь предделителем 1:1 получаю ровно 2 секунды. Книжка пишет "этот таймер часто используется для формирования односекундной временной базы". Примера именно "односекундной" временной базы в книжке нет :)))
Настраиваю так:
Код:
   movlw   (0<<T1CKPS1)|(0<<T1CKPS0)|(1<<T1OSCEN)|(1<<NOT_T1SYNC)|(1<<TMR1CS)|(1<<TMR1ON)
;   Предделитель 1:1, генератор включен, синхронизация внешнего сигнала выключена, внешний источник тактового сигнала, таймер включен
   movwf   T1CON


P.S. Хотелось без корректировки содержимого регистра. Кварц ведь выбран соответствующий. Но раз нельзя, так нельзя. Спасибо, Albert_V :beer:


Последний раз редактировалось Пока_без_кота Вс июн 11, 2017 14:59:49, всего редактировалось 3 раз(а).

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

Карма: 86
Зарегистрирован: Чт сен 12, 2013 01:54:12
Сообщений: 3830
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 3
Медали: 5
Получил миской по аватаре (5)
Всё просто (как всегда)....
После получения прерывания TMR1IF, поднимаете 7-ой бит в TMR1H. :)

Добавлено after 8 minutes 38 seconds:
А как вы хотели?
TMR1 считает до 65535, а вам нужно до 32767.
Вот "поднятием" в TMR1H бита "7" вы и пропишите в него значение 32768+


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Ср июн 28, 2017 13:06:51 
Потрогал лапой паяльник

Карма: 2
Зарегистрирован: Чт авг 08, 2013 02:06:54
Сообщений: 307
Рейтинг сообщения: 0
Доброго времени суток. Требуется из ASCII кода сделать hex-представление. Может быть неправильно выразился, вот пример: из '0' получить 0h, из '1' получить 1h, из 'А' получить 0Аh, из 'F' получить 0Fh.
Для этого написал следующую подпрограмму:

Кладем в рабочий регистр ASCII код и на выходе получаем его hex-представление.
Но после написания потянуло меня в интернеты, чужие варианты решения поискать. Решения своего вопроса я не нашел, а вот для обратного преобразования hex-ASCII нашлось очень компактное решение:

Никак не приложу ума, как и свою задачу реализовать таким способом, подскажите пожалуйста.

P.S. Эврика !!! Что скажете ?


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

Карма: 79
Зарегистрирован: Вт мар 16, 2010 23:02:27
Сообщений: 8289
Откуда: ДОНЕЦК (ЮГО-ВОСТОК ua/DPR)
Рейтинг сообщения: 0
Если полноценный преобразователь делать - еще та головная боль.
Если для ряда 0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F (аналогия того, что в биосе котуинки download/file.php?id=285080 ) то гораздо проще алгоритм (под MCS51 - но весьма легко и в ПИК перевести):
Код:
 asc_bin:
     mov a,tmp_rx ; читаем принятый полубайт
     jnb ACC.6,asc_h0 ; проверяем бит, соответствующий 4
               ; в старшей тетраде
     add a,#0x09 ; добавка для A-F
 asc_h0:
     anl a,#0x0F ; выделяем младшую тетраду старшего символа
   ret

8)
Что кстати у Вас и приведено в конце сообщения за исключением того, что бит можно и непосредственно в регистре проверить - без передачи оного в W. А в акумуляторе держать маску-константу для выделения тетрады.
:tea:


Последний раз редактировалось BOB51 Ср июн 28, 2017 14:00:30, всего редактировалось 2 раз(а).

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

Карма: 86
Зарегистрирован: Чт сен 12, 2013 01:54:12
Сообщений: 3830
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
Код:
   movlw   'F'   ; Число в ASCII (TEST)
   movwf   TEMP
;---------------
   movlw   30   ; Hex
   btfsc   TEMP,6
   movlw   37   ; Hex
   subwf   TEMP,F   ; В TEMP результат в HEX
;---------------


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

Карма: 2
Зарегистрирован: Чт авг 08, 2013 02:06:54
Сообщений: 307
Рейтинг сообщения: 0
Спасибо, как перевел из hex в bin, и когда увидел закономерность для каждого диапазона, сразу стало ясно, как сделать.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Чт июл 20, 2017 17:02:29 
Встал на лапы

Карма: 4
Зарегистрирован: Вс сен 01, 2013 20:21:15
Сообщений: 82
Откуда: город К
Рейтинг сообщения: 0
Здравствуйте.
Микроконтроллер PIC16F876A и MAX232, пытаюсь заставить принимать байты с СОМ порта через аппаратный USART (скорость 9600 бод при частоте кварца 6,144 МГц, один стоповый бит). RTS заведён на порт С4, CTS на порт А5. Порт А4 служит для индикации RTS.Принятые байты отправляются в порт В и отображаются на светодиодных индикаторах. Приём байта организован как подпрограмма, встроена проверка буфера на переполнение.
Суть проблемы. После правильного приёма последнего байта (любого числа), МК не видит сброса сигнала RTS (программа на ПК реально его сбрасывает, проверял с помощью мультиметра) и продолжает ждать передачи ложного байта. Как побороть данное явление ?

_________________
Пушистый ? Ага... чёрный, чешуйчатый и крылатый !
---
Consulовед второго уровня.


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

Карма: 86
Зарегистрирован: Чт сен 12, 2013 01:54:12
Сообщений: 3830
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
При Init-е контроллера, ничего не записали в регистр ADCON1....
Что ж за напасть то такая в последнее время???


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Чт июл 20, 2017 17:52:29 
Встал на лапы

Карма: 4
Зарегистрирован: Вс сен 01, 2013 20:21:15
Сообщений: 82
Откуда: город К
Рейтинг сообщения: 0
Инициализация как раз выполнена, но не показана. Иначе как бы порты работали :facepalm:

Вопрос в том, как заставить программу не начать приём ложного байта, после сброса сигнала RTS со стороны ПК.

_________________
Пушистый ? Ага... чёрный, чешуйчатый и крылатый !
---
Consulовед второго уровня.


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

Карма: 86
Зарегистрирован: Чт сен 12, 2013 01:54:12
Сообщений: 3830
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
Проверьте времена: Сколько ждёте до проверки PORTC,4 и через какое время после передачи последнего байта реально выставляется RTS.
----
P.S.
Я, обычно, считаю что пакет принят, если с момента приёма последнего байта прошло более двух времён передачи байта и не пользуюсь аппаратным разрешением/запретом приёма/передачи данных.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 246 ]  На страницу Пред.  1 ... 9, 10, 11, 12, 13  След.



Часовой пояс: UTC + 3 часа [ Летнее время ]


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

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


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

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


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