Поиск:

Ответ в темуСоздание новой темы Создание опроса
> AVRStudio. ATMega128 
:(
    Опции темы
Scratok
Дата 10.4.2015, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 10.4.2015

Репутация: нет
Всего: нет



Atmel AVR assembler, AVR simulator, ATMega128.
Тема: широтно-импульсный регулятор интенсивности светодиода, управляемый переменным резистором.
Проблема: не могу начать что-то существенное написать в коде. Если кто-то разбирается в этой сфере, подскажите, с чего начать хотя бы?
PM MAIL   Вверх
Alexei
Дата 12.4.2015, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 382
Регистрация: 20.8.2003

Репутация: нет
Всего: 4



Цитата(Scratok @  10.4.2015,  21:15 Найти цитируемый пост)
с чего начать хотя бы?

С задания вопроса в "правильном" разделе форума.
Изучения документации и составлении алгоритма.

Думаю, вам надо мерить напряжение на движке резистора (АЦП) и соответственно программировать таймер.
PM MAIL   Вверх
Scratok
Дата 25.4.2015, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 10.4.2015

Репутация: нет
Всего: нет



В общем получилось составить код только вот для двух кнопок, которые отвечают за увеличение и уменьшение интенсивности светодиода. А вот, чтобы эта интенсивность управлялась переменным резистором, у меня не выходит(
Есть идеи?
Код

.include "m128def.inc"


 .cseg
 .org 0
  
  ldi r16,low(ramend)  
  out spl,r16
  ldi r17,high(ramend)
  out sph,r17
  
  sbi portc,0   
  sbi portc,1
  
  sbi ddrb,4 ;на выход
  sbi portb,4 ;подкл подтягивающий резистор
  
  ldi r16,0b01111001 ; настройка счетика , без делителя, режим fast PWM
  out tccr0,r16
  ;ldi r16,0b00001001
  ;out tccr1B,r16
  ;ldi r16,0;
  ldi r16,0      ;начально значения регистра сравнения
  ;out ocr1Ah,r16
 out ocr0,r16
  ldi r22,0xff  ;для сравнения
  k: call button
     call delay
     rjmp k
  
 button:
 clr r18
 sbic pinc,0     ;здесь опрос кнопки+
 rjmp two
     dec r18    ; задержка от дребезга
     brne pc-1
 sbic pinc,0    ; опрашиваем еще раз, чтобы наверняка
 rjmp two
 in r28,ocr0   
 cpse r28,r6   ;начинаем проверять предел +
 rjmp norm       ;если еще не достигнут- продолжим уменьшать
 rjmp end
 norm: sbiw r28,0xf ; для 10 значений скважности , отниваем F
 out ocr0,r28
two:clr r18    
    sbic pinc,1  ;опрос кнопки - и далее как для первой кнопки
    rjmp end
      dec r18
      brne pc-1
    sbic pinc,1
    rjmp end
    in r26,ocr0
    cpse r26,r22    ;начинаем проверять предел -
     rjmp norm_2
   rjmp end
 norm_2:
    adiw r26,0xf ; приращения
    out ocr0,r26
 end:
 ret
 
delay:     ; подпрограмма задержки
   ldi r20,1
   ldi r29,5
   dec r18
   brne pc-1
   dec r19
   brne pc-3
   dec r20
   brne pc-5
   ret

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для начинающих"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для начинающих | Следующая тема »


 




[ Время генерации скрипта: 0.1050 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.