- •Реферат
- •Содержание
- •Вступление
- •6 Аппаратных команд умножения (для семейства mega);
- •32 Регистра общего назначения (аккумулятора);
- •4 Несимметричных канала
- •2 Дифференциальных канала с программируемым усилением (1x, 20x)
- •Краткое описание микроконтроллера
- •32 X 8 универсальных регистров общего назначения
- •256 Байт внутрисистемно-программируемого эсппзу с износостойкостью 100 тыс. Циклов записи/стирания
- •256Байт внутреннего статического озу
- •Xtal1 – вход инвертирующего усилителя генератора и вход внешнего тактового сигнала.
- •Xtal2 – вход инвертирующего усилителя генератора.
- •Особенности использования микроконтроллера
- •1. В дш на светодиод вы находите (или измеряете на "живом" светодиоде) падение напряжения на нем при токе через него 15 мА - пусть это будет 2 вольта.
- •3. Суммируете эти напряжения и вычитаете из напряжения питания мк:
- •Программатор
- •Разработка отладочного модуля
- •Программы и инструменты
- •Void main() // главная ф-ия
- •Выводы и рекомендации
- •Список используемой литературы
- •Интернет источники
- •Дополнительные источники
- •Datasheets на микроконтроллеры
- •Application Notes на микроконтроллеры
- •Помощник help в компиляторе CodeVisionAvr
Void main() // главная ф-ия
{
unsigned char k; //определение вспомогательной переменной k
DDRB.0=1; // определение ножки 0 порта B на выход
PORTB.0=0; // подача на ножку 0 порта B логического 0
DDRB.1=1; // определение ножки 1 порта B на выход
PORTB.1=0; // подача на ножку 1 порта B логического 0
DDRB.2=1; // определение ножки 2 порта B на выход
PORTB.2=0; // подача на ножку 2 порта B логического 0
DDRB.4=0; // определение ножки 1 порта B на вход
PORTB.4=0; // Z состояние - высокоомный вход
PORTB.0=PINB.4; //присвоить PORTB.0 состояние PINB.4
PORTB.2=PINB.4; //присвоить PORTB.2 состояние PINB.4
PORTB.1=~PINB.4; //присвоить PORTB.1 инверсию состояния PINB.4
while(1) //безконечный цикл
{
// мигание с периодом 600 мс при отжатой кнопке(когда 1)
if(PINB.4==1) // при отжатой кнопке, когда на входе 1
{
k=0; //обнулить переменную счета
while(PINB.4==1) //делать цикл, пока отжата кнопка
{
delay_ms(10); //задержка 10 миллисекунд
k++; //увеличить переменную счета на 1
if(k==30) // если переменная счета достигла 30 (30 проход цикла)
{
k=0; //обнулить переменную счета
PORTB.0 ^= 1; // инвертируем состояние выходов
PORTB.1 ^= 1;
PORTB.2 ^= 1;
}
}
}
else // мигание с периодом 100 мс при нажатой кнопке(когда 0)
{
k=0; //обнулить переменную счета
while(PINB.4==0) //делать цикл, пока нажата кнопка
{
delay_ms(10); //задержка 10 миллисекунд
k++; //увеличить переменную счета на 1
if(k==5) // если переменная счета достигла 5 (5 проход цикла)
{
k=0; //обнулить переменную счета
PORTB.0 ^= 1; // инвертируем состояние выходов
PORTB.1 ^= 1;
PORTB.2 ^= 1;
}
}
}
}
}
Эта программа, будучи загруженной, в микроконтроллер выполняет нужные требования поставленной задачи.
Выводы и рекомендации
Трудности, возникающие у разработчика при проектировании пятого или десятого контроллера, меркнут на фоне проблем, с которыми сталкивается новичок. Поэтому этот курсовой проект поможет новичкам разобраться, что и как делать и с чего начать.
Микроконтроллеры семейства AVR имеют очень широкий спектр возможностей и дополнительной периферии. На микроконтроллерах этого семейства очень удобно и легко создавать свои проекты.
Благодаря приобретенной информации и навыкам возможна в дальнейшем разработка более сложных устройств на основе микроконтроллеров.
Список используемой литературы
«Применение микроконтроллеров AVR: Схемы, алгоритмы, программы», В. Н. Баранов, Москва, Издательский дом «Додэка - ХХІ» 2004
«Микроконтроллеры семейства AVR фирмы Atmel», В. В. Гребнев, ИП РадиоСофт, 2002
«Микроконтроллеры AVR семейства Classic фирмы ATMEL», А. В. Евстифеев, Москва, Издательский дом «Додэка - ХХІ» 2006
« Микроконтроллеры AVR: от простого к сложному», М. С. Голубцов, Москва, СОЛОН-Пресс, 2003
«Микроконтроллеры AVR семейства Mega фирмы ATMEL», А. В. Евстифеев, Москва, Издательский дом «Додэка - ХХІ» 2007
«Микроконтроллеры AVR семейства Tiny и Mega фирмы ATMEL», А. В. Евстифеев, Москва, Издательский дом «Додэка - ХХІ» 2005
