Показано с 1 по 6 из 6
  1. #1
    Без позывного
    Регистрация
    21.01.2006
    Сообщений
    28
    Поблагодарили
    0
    Поблагодарил
    0

    программирование мк Avr 8535

    здравствуйте всем , кто то может знает как можно сформировать такой сигнал на выходе микроконтроллера Avr серии 8535 . в общем история такая требуется сформировать сигнал на выходе порта к примеру Pb.0 длительностью 2 миллисекунды, а на Pb.1 одновременно включить на длительность 500 микросекунд, по истечении
    500 микросекунд сигнал с вывода Pb.1 выключить, а после 1500 микросекунд выключить сигнал на выводе рв.0 , затем сделать задержку на 2 миллисекунды и вновь повторить операцию , т.е. выводить в цикле. может это можно как то организовать с таймерами . пожалуйста подскажите как это можно все организовать, за ранее спасибо.


  2. #2
    Low Power
    Регистрация
    05.12.2005
    Адрес
    Волжский, Волгоградская обл.
    Возраст
    67
    Сообщений
    59
    Поблагодарили
    1
    Поблагодарил
    0

    Если с таймером, то например так:

    unsigned int count_mks;

    #pragma vector = TIMER1_OVF_vect
    __interrupt void Timer1_Ovf_vect(void) {
    count_mks++;
    switch(count_mks) {
    case 1:
    PORTB |= ((1<<PB0) + (1<<PB1));
    break;
    case 501:
    PORTB &= ~(1<<PB1);
    break;
    case 2001:
    PORTB &= ~(1<<PB0);
    break;
    case 4001;
    count_mks = 0;
    break;
    }
    }
    Это самое простое.
    Но это при точном подборе кварца и предделителя на сработку таймера с периодом в микросекунду. Если нет, то прерывания надо сделать почаще а в тело обработчика добавить загрузку регистра TCCR1.

  3. #3
    Без позывного
    Регистрация
    21.01.2006
    Сообщений
    28
    Поблагодарили
    0
    Поблагодарил
    0
    Cпасибо за подсказку, попробовал свою реализацию на языке Ассемблер для AVR,вроде как получилось. Пробовал в симуляторе, в живую еще не пробовал.А у Вас я так понимаю написано на языке С++ ?

  4. #4
    Low Power
    Регистрация
    05.12.2005
    Адрес
    Волжский, Волгоградская обл.
    Возраст
    67
    Сообщений
    59
    Поблагодарили
    1
    Поблагодарил
    0
    Просто С, без крестов
    Давно перешел на С и не жалею

  5. #5
    Без позывного
    Регистрация
    21.01.2006
    Сообщений
    28
    Поблагодарили
    0
    Поблагодарил
    0
    возник вопрос, этот просто "С" не является специализированным языком для микроконтроллера AVR. Или делай ему #include "8535def.inc";
    и дальше свободно программируй ?

  6. #6
    Low Power
    Регистрация
    05.12.2005
    Адрес
    Волжский, Волгоградская обл.
    Возраст
    67
    Сообщений
    59
    Поблагодарили
    1
    Поблагодарил
    0
    "С" он и в африке "С"
    Если правильно писАть, текст переносится практически на любой процессор.
    "С" не привязан к процессору как мнемоника ассемлера.
    Вот компиляторы для разных процессоров, действительно разные
    В приведенном выше примере, специализированными являются тоьлко строки:

    #pragma vector = TIMER1_OVF_vect
    __interrupt void Timer1_Ovf_vect(void) {
    Это был пример для компилятора фирмы IAR.

Похожие темы

  1. Программирование DJ-180
    от UR6HBV в разделе DJ-180/480
    Ответов: 2
    Последнее сообщение: 18.09.2005, 06:07
  2. Программирование AT89C2051
    от RN3ZJH в разделе Микропроцессорная техника
    Ответов: 6
    Последнее сообщение: 11.08.2005, 21:02
  3. Программирование КР556РТ7б 7А
    от lmik в разделе Радиолюбительские технологии
    Ответов: 0
    Последнее сообщение: 29.01.2003, 12:32
  4. Программирование YAESU VX-5
    от в разделе VX-5R
    Ответов: 1
    Последнее сообщение: 07.04.2002, 01:11

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Похоже, что вы используете блокировщик рекламы :(
Форум QRZ.RU существует только за счет рекламы, поэтому мы были бы Вам благодарны если Вы внесете сайт в список исключений!
как отключить
×
Рейтинг@Mail.ru
eXTReMe Tracker
Яндекс.Метрика


Похоже, что вы используете блокировщик рекламы :(
Форум QRZ.RU существует только за счет рекламы, поэтому мы были бы Вам благодарны если Вы внесете сайт в список исключений!
как отключить
×