ШІМ на мікроконтролері Attiny13

  • Час 16-12-2014, 19:36
  • Автор admin
  • Коментарів 0 Комент.
  • Силка url

ШІМ - широтно-імпульсна модуляція (або по англ. PWM). У мікроконтролера ATtiny13 є два ШІМ виходу OC0A і OC0B від таймера 0. Вихід ШІМ OC0A на 5 ніжці мікроконтролера Attiny13, а OC0B на 6 ніжці. В даному прикладі світлодіод підключений до ШІМ виходу OC0B буде плавно загорятися і гаснути.

Ось схема пристрою:

ШІМ на мікроконтролері Attiny13

Для складання пристрою знадобиться:

ШІМ на мікроконтролері Attiny13

1.Мікроконтролер Attiny13 (з будь-якими індексом)
2. Панелька DIP8
3. Будь світлодіод
4. Резистор 4,7 k (можна від 2,2 кОм до 20кОм)
5. Резистор 150ом

Харчування для пристрою повинно бути від 3 до 5 вольт. Для живлення пристрою я використовував "литну таблетку" на 3 вольта.

Прошивка для пристрою написана в середовищі BASCOM-AVR.

Ось ісходник прошивки:

$regfile = "attiny13.dat" $hwstack = 8 $swstack = 16 $framesize = 16 Config Portb.1 = Output Config Timer0 = Pwm , Prescale = 8 , Compare B Pwm = Clear Down Start Timer0 Do Do Waitms 10 Incr Pwm0b Loop Until Pwm0b = 255 Do Waitms 10 Decr Pwm0b Loop Until Pwm0b = 0 End Loop

В канал ШІМ можна записати значення від 0 до 255.

Ось спрощений варіант коду управління ШІМ:

$regfile = "attiny13.dat" Config Portb.1 = Output Config Timer0 = Pwm , Prescale = 8 , Compare B Pwm = Clear Down Start Timer0 Pwm0b = 255 End

В даному випадку в ШІМ канал OC0B ми запишемо число 255. Тобто світлодіод буде горіти постійно.

Записати значення в ШІМ канал можна так:
(ШІМ канал) = (Значення від 0 до 255)

Ось такий пристрій вийшло у мене:

ШІМ на мікроконтролері Attiny13

Мікроконтролер порушували програмою PonyProg2000.

Ось картинка установки фьюз бітів:

ШІМ на мікроконтролері Attiny13

Нижче ви можете завантажити прошивку, исходник, друковану плату, проект Proteus

Tags

Коментарі до новини