реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Захотелось мне тут сделать генератор на 36 KHz. Сначала сделал просто через Delay_us(). Но так не интересно. Надо бы через ШИМ. Есть кварц 11.059200 M
snayperAlfa
сообщение Feb 1 2009, 14:59
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 130
Регистрация: 3-12-08
Из: Солнечная Одесса
Пользователь №: 42 183



Захотелось мне тут сделать генератор на 36 KHz. Сначала сделал просто через Delay_us(). Но так не интересно. Надо бы через ШИМ. Есть кварц 11.059200 MHz и Мега16. Как я не пытался не получается точно частота 36 KHz. Скважность не 2, а плавает. Далее сделал через таймер и в прерывании изменял состояиние вывода. Вот код:
Код
#include <mega16.h>
#include <delay.h>
  
// Timer 0 output compare interrupt service routine
interrupt [TIM0_COMP] void timer0_comp_isr(void)
{
// Place your code here
  PORTB.0=~PORTB.0;
}

// Declare your global variables here

void main(void)
{
  
  DDRB=1;

TCCR0=0b00011001;
TCNT0=0;
OCR0=150;

TIMSK |= (1 << 1);

SREG |= (1 << 7);

while (1)
      {

      };
}


А теперь вопрос: как это записать красиво через ШИМ, но чтобы не было прерывания, а то получится тот же таймер.

Сообщение отредактировал snayperAlfa - Feb 1 2009, 15:07


--------------------
Жили бы в пещерах и не знали бы горя.
Go to the top of the page
 
+Quote Post
SysRq
сообщение Feb 1 2009, 15:42
Сообщение #2


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Делайте на 16-битном таймере за номером 1. Ошибка частоты в пределах 0.2%, прерывание не требуется - мк сам будет дергать ногой OC1A.
Go to the top of the page
 
+Quote Post
snayperAlfa
сообщение Feb 1 2009, 15:45
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 130
Регистрация: 3-12-08
Из: Солнечная Одесса
Пользователь №: 42 183



А Fast или Phase Correction PWM?


--------------------
Жили бы в пещерах и не знали бы горя.
Go to the top of the page
 
+Quote Post
SysRq
сообщение Feb 1 2009, 15:52
Сообщение #4


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



ШИМ вам зачем? Он вам не нужен.
Go to the top of the page
 
+Quote Post
snayperAlfa
сообщение Feb 1 2009, 16:14
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 130
Регистрация: 3-12-08
Из: Солнечная Одесса
Пользователь №: 42 183



Разобрался. Использовал СТС как в начале поста.
Вот пожалуйста может кому пригодится.Там исходник на С,файл прошивки и проект для Протеуса.
Прикрепленный файл  36_KHz.rar ( 11.29 килобайт ) Кол-во скачиваний: 176


--------------------
Жили бы в пещерах и не знали бы горя.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 22:43
Рейтинг@Mail.ru


Страница сгенерированна за 0.0139 секунд с 7
ELECTRONIX ©2004-2016