Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 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

<== предыдущая лекция | следующая лекция ==>
Построение отчета по одному объекту | Переходные процессы в ЭП. Определение Тэ и Тм и времени переходного процесса tп,tт,tв.


Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных