Разработка МП системы, управляющей уровнем напряжения яркостью свечения светодиода - 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
Объяснение кода листинга программы
- Установка портов ввода-вывода на начальное состояние.
- Инициализация ШИМ-регистров.
- Установка режима работы АЦП.
- Установка значения коэффициента усиления для АЦП.
- Установка режима работы таймера/счетчика.
- Установка значения яркости светодиода.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д