Описание: Изменение яркости. |
Поиск в теме | Версия для печати |
sound |
Отправлено: 27 Ноября, 2008 - 13:06:10
|
Полковник
Сообщений всего: 70
Дата рег-ции: Нояб. 2008
|
Я сейчас делаю как у меня на картинке(Картинка прикреплена), правильно?
Шью я его вот с этими настройками, ниже программа которую я пытаюсь зашить.
CODE:
#include <mega8.h> //Включаем библиотеку для работы с микроконтроллером ATMega8
#include <delay.h> //Включаем библиотеку для организации задержек
void main(void)
{
PORTD=0x00; //Выставляем все выходы порта D на 0, то есть, выключаем весь порт D
DDRD=0xFF; //Делаем порт D, как выход, чтобы на выходах порта было напряжение 5В
while (1) //Организовываем бесконечный цикл
{
PORTD.0=1; //Включаем светодиод на 0 выходе порта D
delay_ms(500); //Делаем задержку на 500 миллисекунд
PORTD.0=0; //Выключаем светодиод на 0 выходе порта D
delay_ms(500); //Делаем задержку на 500 миллисекунд
};
}
Программа взята из обучалки. Прикреплено изображение
(Отредактировано автором: 27 Ноября, 2008 - 13:21:31) |
|
|
Белый Волк |
Отправлено: 25 Декабря, 2008 - 23:42:37
|
Супермодератор
Сообщений всего: 648
Дата рег-ции: Февр. 2007
|
На приведённом рисунке график зависимости напряжения на входе некоторого прибора от времени.
(Добавление)
Уровень напряжения, о котором идёт речь, будет равен площади импульса, поделённой на период:
(Длительность импульса) * (Амплитуда) / (Период)
Для однозначности используют отношение периода импульса к его длительности. Эта величина называется Скважностью и она полностью характеризует уровень напряжения, моделируемый при помощи ШИМ:
(Скважность) = (Период) / (Длительность импульса)
В англоязычной литературе чаще используют понятие Коэффициента заполнения, который обратно пропорционален скважности:
(Коэффициент заполнения) = (1) / (Скважность)
Из приведённых соотношений видно, что уровень напряжения тем ниже, чем меньше длительность импульса (либо больше длина паузы, либо больше скважность, либо меньше коэффициент заполнения).
(Добавление)
Реализация ШИМ в микроконтроллере может быть программной, либо аппаратной (производитель микроконтроллера заложил в него возможность использования ШИМ, не используя основные вычислительные мощности).
В программном ШИМ, Вы сами следите (в программе) за состоянием счётчиков/таймеров и устанавливаете уровень логической единицы, либо нуля в нужный момент на выбранном выводе.
Аппаратный ШИМ нуждается со стороны программы только в инициализации (задании скважности, либо коэффициента заполнения), после чего микроконтроллер может исполнять программу дальше, а сигнал ШИМ будет поступать на выделенный производителем для этой цели вывод. Подробнее об аппаратном ШИМе можно узнать в datasheet микроконтроллера, по ключу PWM. Прикреплено изображение
(Отредактировано автором: 26 Декабря, 2008 - 00:03:02) |
|
|
|
Поиск в теме | Версия для печати |
Страниц (2): [1] 2 » |
« Программирование микроконтроллеров » |
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
|
|
|
|
|