Разработка МП системы, управляющей уровнем напряжения яркостью свечения светодиода - Atmega AVR микроконтроллер

Узнай цену своей работы

Формулировка задачи:

Изменяя положение ручки регулятора напряжения переменным резистором, подключенным к входу АЦП микроконтроллера, задавать яркость свечения светодиода, подключенного к выходу ШИМ микроконтроллера. Немогу никак составить данную программу под Atmega128 на асемблере.

Решение задачи: «Разработка МП системы, управляющей уровнем напряжения яркостью свечения светодиода»

textual
Листинг программы
.DEVICE atmega128
.INCLUDE "m128def.inc"
.DEF temp = R16
RJMP main
 
main:
    LDI temp, High(ramend) //  считывание портов и инициализация стэка
    OUT sph,temp
    LDI temp, low(ramend) 
    OUT spl,temp
    SER temp
    OUT ddrc, temp
    OUT ddre, temp
 
    ldi temp, 0b11100111   //ADEN=1 ADSC=1 ADFR=1 ADIF=0 ADIE=0 ADPS2=1 ADPS1=1 ADPS0=1
    out ADCSRA,temp 
    ldi temp, 0b00100000 //ADLAR=1
    out ADMUX,temp
         out  temp, ADCH
 
        ldi temp, 0b00001000 // ШИМ
        out ASSR,temp
        ldi temp, 0b10101010
        out TCCRO,temp
        ldi temp, 0b01000001

Объяснение кода листинга программы

  1. Установка портов ввода-вывода на начальное состояние.
  2. Инициализация ШИМ-регистров.
  3. Установка режима работы АЦП.
  4. Установка значения коэффициента усиления для АЦП.
  5. Установка режима работы таймера/счетчика.
  6. Установка значения яркости светодиода.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.5 из 5
Похожие ответы