![]() ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Всегда устанавливаем частоту кварцевого резонатора равную 8МГц.Выбор варианта паузы, если у вас нет прерываний:
чтоб установить время горения точки =0,5с, нужно в регистры для формирования времени паузы занести значения n*255*255= 0,5 -> n= 0,5/255*255. Из расчета получается около число около 8 (после перевода микросекунд). И теоретически частота 1 Гц и мигание раз в полсекунды это один и тот же расчет и значит программы паузы одинаковы. Тогда поставляем 9(в спервый), 255(во второй), 255(в третий) регистры. · Но нашел другой вариант с вот такими вариантами чисел. В них неуверен. 62(в спервый), 255(во второй), 255(в третий)
· чтоб установить мигание диода с частотой 1Гц, нужно в регистры для формирования времени паузы занести значения 123(в первый), 255(во второй), 255(в третий).
ВНИМАНИЕ В ТЕКСТЕ ПРОГРАММА ЕСТЬ МЕЛКИЕ ОШИБКИ!!!!!!!!!!!!!!!!!!!! ИСПРАВЛЯТЬ ВСЕ НЕТ ВРЕМЕНИ. ПОЭТОМУ ТЩАТЕЛЬНО СВЕРЯЙТЕ НОМЕРА КНОПОВ ДАННЫХ ПО УСЛОВИЮ И НАЗВАНИЯ ПОРТОВ. Например: К МК AT90S8515 подключена кнопка, замыкающая вывод PD2 МК на общий провод. К выводу РВ0 подключен светодиод. Написать программу, в соответствии с которой при первом нажатии кнопки светодиод загорается, а при повторном нажатии гаснет. Программу организовать без использования прерываний. $00 ->DDRD.3 – настройка контакта порта Dна ввод $FF->DDRС – настройка контакта порта с на вывод 1->PORTD.3 - подключение подтягивающего резистора к выводу D.3
Здесь перепутаны номера кнопки вместо 2 стоит 3. И вместо порта В используется порт С. Правильный вариант: $00 ->DDRD.2 – настройка контакта порта Dна ввод $FF->DDRВ – настройка контакта порта В на вывод 1->PORTD.2 - подключение подтягивающего резистора к выводу D.2
Все ошибки аналогичны вышеприведенным. Смотрите внимательно!
1.К МК AT90S8515 подключены две кнопки, замыкающие выводы МК на общий провод: одна подключена к PD2, другая к PD3. К выводам РВ0, РВ1 подключены светодиоды. Написать программу, в соответствии с которой при нажатии первой кнопки загорается (на время удержания в нажатом состоянии) первый светодиод, при нажатии второй – второй светодиод. Программу организовать без использования прерываний. $00 ->DDRD – настройка порта Dна ввод $FF->DDRB – настройка порта B на вывод 1->PORTD.2 - подключение подтягивающего резистора к выводу D.2 1->PORTD.3 - подключение подтягивающего резистора к выводу D.3
К МК AT90S8515 подключена кнопка, замыкающая вывод PD2 МК на общий провод. К выводу РВ0 подключен светодиод. Написать программу, в соответствии с которой при первом нажатии кнопки светодиод загорается, а при повторном нажатии гаснет. Программу организовать без использования прерываний. $00 ->DDRD.2 – настройка контакта порта Dна ввод $FF->DDRB – настройка контакта порта B на вывод 1->PORTD.2 - подключение подтягивающего резистора к выводу D.2 ro – флаг нажатия кнопки (=0 – диод погашен и при последующем нажатии/отпускании кнопки будет зажжен; 1 – диод зажжен) Внимание! Писать то что выше первые три строки, а не на скрине. И не portc, а portb Вместо pind.3 - pind.2
3. К МК AT90S8515 подключена кнопка, замыкающая вывод PD2 МК на общий провод. К выводу РВ0 подключен светодиод. Написать программу, в соответствии с которой при первом нажатии/отпускании кнопки светодиод загорается, а при повторном нажатии/отпускании гаснет. Программу организовать без использования прерываний.
К МК AT90S8515 подключена кнопка, замыкающая вывод PD2 МК на общий провод. К выводу РВ0 подключен светодиод. Написать программу, в соответствии с которой при нажатии кнопки светодиод загорается и мигает с частотой 1 Гц (на время удержания кнопки в нажатом состоянии). Программу организовать без использования прерываний. $00 ->DDRD – настройка порта Dна ввод $FF->DDRВ – настройка порта С на вывод 1->PORTD.2 - подключение подтягивающего резистора к выводу D.2 $FF->PortВ–при включении контроллера тушим светодиоды r1, r2, r3 – регистры-счетчики, в которые заносятся значения для формирования паузы Внимание! не portc, а portb Вместо pind.3 - pind.2
5.К МК AT90S8515 подключена кнопка, замыкающая вывод PD2 МК на общий провод. К порту РВ подключена линейка светодиодов. Написать программу, в соответствии с которой при нажатии кнопки формируется «бегущая точка» в одном направлении, а при ее отпускании – направление меняется на противоположное. Время «горения» точки – произвольное. Программу организовать без использования прерываний. SP – инициализация стека $00 ->DDRD – настройка порта Dна ввод $FF->DDRВ – настройка порта В на вывод 1->PORTD.2 - подключение подтягивающего резистора к выводу D.2 r2, r3, r4 – регистры-счетчики, в которые заносятся значения для формирования паузы r1 – регистр точки
7.К МК AT90S8515 подключена кнопка, замыкающая вывод PD2 МК на общий провод. К порту РВ подключена линейка светодиодов. Написать программу, в соответствии с которой при первом нажатии кнопки формируется «бегущая точка» в одном направлении, а при ее повторном нажатии – направление меняется на противоположное. Время «горения» точки – произвольное. Программу организовать без использования прерываний. SP – инициализация стека 0 ->DDRD.2 – настройка D.2на ввод $FF->DDRВ – настройка порта В на вывод 1->PORTD.2 - подключение подтягивающего резистора к выводу D.2 NAPR – флаг направления движения точки(1 – движется влево, 0 – вправо) KN – флаг нажатия кнопки s1, s2, s3 – регистры-счетчики, в которые заносятся значения для формирования паузы R0 – регистр точки
6.К МК AT90S8515 подключена кнопка, замыкающая вывод PD2 МК на общий провод. К порту РВ подключена линейка светодиодов. Написать программу, в соответствии с которой при первом нажатии кнопки формируется «бегущая точка» в одном направлении, а при ее повторном нажатии – направление меняется на противоположное. Время «горения» точки – 0.5 сек. Программу организовать без использования прерываний.
SP – инициализация стека 0 ->DDRD.2 – настройка D.2на ввод $FF->DDRВ – настройка порта В на вывод 1->PORTD.2 - подключение подтягивающего резистора к выводу D.2 NAPR – флаг направления движения точки(1 – движется влево, 0 – вправо) KN – флаг нажатия кнопки s1, s2, s3 – регистры-счетчики, в которые заносятся значения для формирования паузы R0 – регистр точки
7.К МК AT90S8515 подключена кнопка, замыкающая вывод PD2 МК на общий провод. К порту РВ подключена линейка светодиодов. Написать программу, в соответствии с которой при первом нажатии кнопки формируется «бегущая точка» в одном направлении, а при ее повторном нажатии – направление меняется на противоположное. Время «горения» точки – произвольное. Программу организовать без использования прерываний. SP – инициализация стека 0 ->DDRD.2 – настройка D.2на ввод $FF->DDRВ – настройка порта В на вывод 1->PORTD.2 - подключение подтягивающего резистора к выводу D.2 NAPR – флаг направления движения точки(1 – движется влево, 0 – вправо) KN – флаг нажатия кнопки s1, s2, s3 – регистры-счетчики, в которые заносятся значения для формирования паузы R0 – регистр точки
8.К МК AT90S8515 подключена кнопка, замыкающая вывод PD2 МК на общий провод. К порту РВ подключена линейка светодиодов. Написать программу, в соответствии с которой при первом нажатии/отпускании кнопки формируется «бегущая точка» в одном направлении, а при ее повторном нажатии/отпускании – направление меняется на противоположное. Время «горения» точки – произвольное. Программу организовать без использования прерываний.
SP – инициализация стека 0 ->DDRD.2 – настройка D.2на ввод $FF->DDRB – настройка порта B на вывод 1->PORTD.2 - подключение подтягивающего резистора к выводу D.2 R1 – флаг направления движения точки(1 – движется влево, 0 – вправо) R2 – флаг нажатия кнопки R3, R4, R5 – регистры-счетчики, в которые заносятся значения для формирования паузы R0 – регистр точки
9.К МК AT90S8515 подключена кнопка, замыкающая вывод PD2 МК на общий провод. К порту РВ подключена линейка светодиодов. Написать программу, в соответствии с которой при первом нажатии кнопки формируется «бегущая точка» в одном направлении, а при ее повторном нажатии – направление меняется на противоположное. Время «горения» точки – 0.5 сек. Программу организовать без использования прерываний.
SP – инициализация стека 0 ->DDRD.2 – настройка D.2на ввод $FF->DDRВ – настройка порта В на вывод 1->PORTD.2 - подключение подтягивающего резистора к выводу D.2 NAPR – флаг направления движения точки(1 – движется влево, 0 – вправо) KN – флаг нажатия кнопки s1, s2, s3 – регистры-счетчики, в которые заносятся значения для формирования паузы R0 – регистр точки
10.К МК AT90S8515 подключена кнопка, замыкающая вывод PD2 МК на общий провод. К порту РВ подключена линейка светодиодов. Написать программу, в соответствии с которой при первом нажатии/отпускании кнопки формируется «бегущая точка» в одном направлении, а при ее повторном нажатии/отпускании – направление меняется на противоположное. Время «горения» точки – 0.5 сек. Программу организовать без использования прерываний.
SP – инициализация стека 0 ->DDRD.3 – настройка D.3на ввод $FF->DDRC – настройка порта С на вывод 1->PORTD.3 - подключение подтягивающего резистора к выводу D.3 R1 – флаг направления движения точки(1 – движется влево, 0 – вправо) R2 – флаг нажатия кнопки R3, R4, R5 – регистры-счетчики, в которые заносятся значения для формирования паузы R0 – регистр точки
11.К МК AT90S8515 подключены три кнопки, замыкающие выводы МК на общий провод: одна подключена к PD1, вторая – к PD2 и третья - к PD3. К выводам РВ0, РВ1, РВ3 подключены светодиоды. Написать программу, в соответствии с которой при нажатии первой кнопки загорается (на время удержания в нажатом состоянии) первый светодиод, при нажатии второй – второй светодиод, при нажатии третьей – третий светодиод. Программу организовать без использования прерываний.
$00 ->DDRD – настройка порта Dна ввод $FF->DDRВ – настройка порта В на вывод 1->PORTD.1 - подключение подтягивающего резистора к выводу D.1 1->PORTD.2 - подключение подтягивающего резистора к выводу D.2 1->PORTD.3 - подключение подтягивающего резистора к выводу D.3
12.К МК АТ9088515 подключены две кнопки, замыкающие выводы МК на общий провод: одна подключена к РВ2, другая к РВЗ К выводам РВО, РВ1 подключены светодиоды. Написать программу, в соответствии с которой при нажатии первой кнопки загорается (на время удержания в нажатом состоянии) первый светодиод, при нажатии второй второй светодиод. Программу организовать с использованием прерываний.
К МК AT90S8515 подключена кнопка, замыкающая вывод PD2 МК на общий провод. К выводу РВ0 подключен светодиод. Написать программу, в соответствии с которой при первом нажатии кнопки светодиод загорается, а при повторном нажатии гаснет. Программу организовать с использованием прерываний. 0 ->DDRD.3 – настройка контакта порта Dна ввод 1->DDRB.0– настройка контакта порта В на вывод 1->PORTD.3 - подключение подтягивающего резистора к выводу D.3 1->I – глобальное разрешение обработки прерываний SP – инициализация стека
14.К МК AT90S8515 подключена кнопка, замыкающая вывод PD2 МК на общий провод. К выводу РВ0 подключен светодиод. Написать программу, в соответствии с которой при первом нажатии/отпускании кнопки светодиод загорается, а при повторном нажатии/отпускании гаснет. Программу организовать с использованием прерываний.
0 ->DDRD.3 – настройка контакта порта Dна ввод 1->DDRС.0– настройка контакта порта С на вывод 1->PORTD.3 - подключение подтягивающего резистора к выводу D.3 1->I – глобальное разрешение обработки прерываний SP – инициализация стека
К МК AT90S8515 подключена кнопка, замыкающая вывод PD2 МК на общий провод. К выводу РВ0 подключен светодиод. Написать программу, в соответствии с которой при нажатии кнопки светодиод загорается и мигает с частотой 1 Гц (на время удержания кнопки в нажатом состоянии). Программу организовать с использованием прерывания по переполнению таймера.
0 ->DDRD.3 – настройка контакта порта Dна ввод 1->DDRС.0– настройка контакта порта С на вывод 1->PORTD.3 - подключение подтягивающего резистора к выводу D.3 1->I – глобальное разрешение обработки прерываний SP – инициализация стека r0 – флаг состояния диода(=0 – диод зажжен, 1 – диод потушен)
16.К МК AT90S8515 подключена кнопка, замыкающая вывод PD2 МК на общий провод. К порту РВ подключена линейка светодиодов. Написать программу, в соответствии с которой при нажатии кнопки формируется «бегущая точка» в одном направлении, а при ее отпускании – направление меняется на противоположное. Время «горения» точки – произвольное. Программу организовать с использованием внешнего прерывания.
0 ->DDRD.3 – настройка контакта порта Dна ввод 1->DDRС– настройка порта С на вывод 1->PORTD.3 - подключение подтягивающего резистора к выводу D.3 1->I – глобальное разрешение обработки прерываний SP – инициализация стека r0 – регистр точки s1, s2, s3 – регистры-счетчики, в которые заносятся значения для формирования паузы
17.К МК AT90S8515 подключена кнопка, замыкающая вывод PD2 МК на общий провод. К порту РВ подключена линейка светодиодов. Написать программу, в соответствии с которой при нажатии кнопки формируется «бегущая точка» в одном направлении, а при ее отпускании – направление меняется на противоположное. Время «горения» точки – 0.5 сек. Программу организовать с использованием прерывания по переполнению таймера.
0 ->DDRD.3 – настройка контакта порта Dна ввод 1->DDRС– настройка порта С на вывод 1->PORTD.3 - подключение подтягивающего резистора к выводу D.3 $FF->PORTC – диоды потушены сразу после включения МК 1->I – глобальное разрешение обработки прерываний SP – инициализация стека r0 – регистр точки r1 – направление движения точки (1 – влево, 0 - вправо)
18.К МК AT90S8515 подключена кнопка, замыкающая вывод PD2 МК на общий провод. К порту РВ подключена линейка светодиодов. Написать программу, в соответствии с которой при первом нажатии кнопки формируется «бегущая точка» в одном направлении, а при ее повторном нажатии – направление меняется на противоположное. Время «горения» точки – произвольное. Программу организовать с использованием внешнего прерывания.
0 ->DDRD.3 – настройка контакта порта Dна ввод 1->DDRС– настройка порта С на вывод 1->PORTD.3 - подключение подтягивающего резистора к выводу D.3 $FF->PORTC – диоды потушены сразу после включения МК 1->I – глобальное разрешение обработки прерываний SP – инициализация стека r0 – регистр точки r1 – направление движения точки (1 – влево, 0 - вправо)
19.К МК AT90S8515 подключена кнопка, замыкающая вывод PD2 МК на общий провод. К порту РВ подключена линейка светодиодов. Написать программу, в соответствии с которой при первом нажатии/отпускании кнопки формируется «бегущая точка» в одном направлении, а при ее повторном нажатии/отпускании – направление меняется на противоположное. Время «горения» точки – произвольное. Программу организовать с использованием внешнего прерывания.
0 ->DDRD.3 – настройка контакта порта Dна ввод 1->DDRС– настройка порта С на вывод 1->PORTD.3 - подключение подтягивающего резистора к выводу D.3 $FF->PORTC – диоды потушены сразу после включения МК 1->I – глобальное разрешение обработки прерываний SP – инициализация стека r0 – регистр точки r1 – направление движения точки (1 – влево, 0 - вправо)
20.К МК AT90S8515 подключена кнопка, замыкающая вывод PD2 МК на общий провод. К порту РВ подключена линейка светодиодов. Написать программу, в соответствии с которой при первом нажатии кнопки формируется «бегущая точка» в одном направлении, а при ее повторном нажатии – направление меняется на противоположное. Время «горения» точки – 0.5 сек. Программу организовать с использованием прерывания по переполнению таймера.
0 ->DDRD.3 – настройка контакта порта Dна ввод 1->DDRС– настройка порта С на вывод 1->PORTD.3 - подключение подтягивающего резистора к выводу D.3 $FF->PORTC – диоды потушены сразу после включения МК 1->I – глобальное разрешение обработки прерываний SP – инициализация стека POINT – регистр точки DIRECT –флагнаправления движения точки (1 – влево, 0 - вправо)
21.К МК AT90S8515 подключена кнопка, замыкающая вывод PD2 МК на общий провод. К порту РВ подключена линейка светодиодов. Написать программу, в соответствии с которой при первом нажатии/отпускании кнопки формируется «бегущая точка» в одном направлении, а при ее повторном нажатии/отпускании – направление меняется на противоположное. Время «горения» точки – 0.5 сек. Программу организовать с использованием прерывания по переполнению таймера. 0 ->DDRD.3 – настройка контакта порта Dна ввод 1->DDRС– настройка порта С на вывод 1->PORTD.3 - подключение подтягивающего резистора к выводу D.3 $FF->PORTC – диоды потушены сразу после включения МК 1->I – глобальное разрешение обработки прерываний SP – инициализация стека POINT – регистр точки DIRECT –флагнаправления движения точки (1 – влево, 0 - вправо)
СХЕМА ОБЩИЙ ВАРИАНТ НА ВСЯКИЙ СЛУЧАЙ ДЛЯ ТРЕХ КНОПОК И ВЫВОДОВ(ЛИШНЕЕ ПРОСТО НЕ РИСОВАТЬ ЕСЛИ, ЧТО)
Шаблон описания: Reset- для того,чтобы программа могла нормально стартовать, началом должна служить эта метка. $025F- >SP инициализация стека SP, т.е указание адреса в ОЗУ контроллера, где будет вершина стека. 1->I установка в «1» бит I регистра состояния SREG. Необходимо для глобального разрешения обработки прерываний. 0->ddrd.3 открывает порт d третий разряд регистр ddr $FF->ddrc гасятся все светодиоды так, как на них устанавливается значение «1» 1->portd.3 активация внутреннего подтягивающего регистра pd3
EXT INT: EXTINT - внешнее прерывание. При настройке Еxternal_1 устанавливаем флаги в полях Enableи ClearFlagsнапротив INT1. Если нужно, чтоб срабатывание произошло по нажатию кнопки, то в поле SenceControl выбираем falingedge, по отжатию – risingedge. Поставить галочки напротив · INT1 · INTF1- установка галочки здесь активирует автоматическую очистку ячейки · GIMSK- регистр прерывания · GIFR- регистр основных флагов прерывания · MCUCR – регистр управления процессором
TIMSK: Нужен для реализации прерывание по переполнению таймера. Используем Timer1.Во владке Timer1 отмечаем Overflow, т.к. Timer_1_overflow – это зарезервированное имя подпрограммы обработки прерывания по переполнению таймер счетчика. При установке галочки таймер будет срабатывать по переполнению.. TIMER1: В этом блоке настраивается время переполнения таймера. Чтоб установить время горения точки =0,5с, необходимо изменить период на соответствующую величину (какую непомню) В стандарте частота тактирования 8 МГц Ставим галочки напротив · TCCRA · TCCRB Тактирование CK/64. При этом необходимо установить биты CS12, CS11,CS10 устанавливаются в 0,1,1
Не нашли, что искали? Воспользуйтесь поиском:
|