Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: программный шим для PIC16F84  (Прочитано 21269 раз)
0 Пользователей и 3 Гостей смотрят эту тему.
dock4
Гость
« : 17-05-2005 19:05 » 

Плзззззз!
Кто может. подскажите как программно реализовать плавное зажигание и угасание светодиода на одной из ножек пика? В статье Алекса(https://club.shelek.ru/viewart.php?id=163),это если будут ссылки на этот адрес- ничего не понятно.Спасибо.
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 17-05-2005 21:04 » 

dock4, не понял - не понятна статья или сложно придумать код? В статье и пример приведен, как раз для PIC-а.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
dock4
Гость
« Ответ #2 : 17-05-2005 21:40 » new

Мне трудно разобраться куда вписывать описание работы с ногами и как реализовать плавное наростание и снижение скважности ШИМ.
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #3 : 18-05-2005 08:30 » 

dock4 , письмо я получил, но , извини, подзабыл цже я это дело и времени - совершенно некогда. Жаль

Остаётся надеяться, что добрые люди с Шелека помогут (у кого есть время)
Записан

Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #4 : 18-05-2005 08:40 » 

а вообще - для одного только светодиода не нужно столько кода вбухивать - там пара десятков строк максимум нужна Улыбаюсь
Записан

Allex63
Участник

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 18-05-2005 09:39 » 

Hi!
Уточните, пожалуйста, задачу.
Одна из ножек - это  ножки "родного" PWM или произвольная?
Сколько таймеров не жалко отдать под эту подзадачу?
Аппаратное решение типа БОЛЬШОГО конденсатора не подходит?

PS. Алексей прав, парой десяток строк кода легко можно обойтись.
Записан

Мысли должны быть короткие и плоские.
Так их в ROM больше помещается.
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #6 : 18-05-2005 12:08 » 

PIC16F84 встроенного ШИМ-а не имеет. Его нужно реализовать "вручную": выдаешь 1 на пин, пауза Твкл, выдаешь 0, пауза Твыкл. Регулированием отношения Твкл и Твыкл получаешь нужную "яркость".
Таймер нужен всего один - для выдержки паузы.
Цитата
Аппаратное решение типа БОЛЬШОГО конденсатора не подходит?
Поясни, пожалуйста, что ты имел в виду.
« Последнее редактирование: 18-05-2005 12:16 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Allex63
Участник

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 18-05-2005 12:16 » 

Sorry, RXL!
Спецификацию P16F84 просто не посмотрел, каюсь, виноват.
Вопрос про таймеры был задан для выбора возможных вариантов решения. Есть с использованием 2, 1 и 0. Если есть лишний (2-й) таймер, то код получается несколько короче. А список уже использованных ресурсы dock4 не указал.

PS. Как делается простое DAC я знаю.
Записан

Мысли должны быть короткие и плоские.
Так их в ROM больше помещается.
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #8 : 18-05-2005 12:33 » 

Allex, так емкость для получения заданного напряжения? В случае со светодиодом конденсатор не нужен и даже вреден из-за нелинейности полупроводников. Импульсы "сглаживаются" глазом - нужно только подобрать достаточную частоту.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Allex63
Участник

ru
Offline Offline
Пол: Мужской

« Ответ #9 : 18-05-2005 12:47 » 

Hi, RXL
Согласен, что лишние железки ни к чему.

А что ее подбирать?
Хороший(молодой и тренированный) глаз различает 65-70 Hz, любая более высокая частота годится.

На нелинейности в данной задаче, как я понимаю, чихать... Диодик то чисто индикаторный.
Записан

Мысли должны быть короткие и плоские.
Так их в ROM больше помещается.
dock4
Гость
« Ответ #10 : 18-05-2005 17:17 » 

Алексей,спасибо за ответ. На нет и суда нет. Просто я чуток упёртый и хочу добить этот вопрос. Элементарно вопрос решается с котроллером, где есть аппаратный ШИМ. Но почему не получается на простом? Мне нужно посоветоваться с кем-то, кто неплохо разбирается в программировании. Может взгляд со стороны поможет найти мою ошибку. Я пошел след.путём: запускаю таймер и каждое срабатывание прибавляю 1 в один регистр. Во второй регистр записываю текущее инверсное значение первого регистра. Выставляю на ноге 1 и включаю паузу, где крутится на убывание первый регистр; затем на этой ноге выставляю 0 и запускаю паузу, где крутится второй регистр. после повтор. Эта часть программы работает нормально. Дальше мне нужно поменять "движение". Вот это у меня не получается.
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #11 : 18-05-2005 21:23 » 

dock4, что-то ты сложно описываешь. По пробуй по моему - вроде бы просто описал: https://forum.shelek.ru/index.php/topic,6514.msg104404.html#msg104404
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines