15315

Управление кнопками в AVR

Лабораторная работа

Информатика, кибернетика и программирование

Лабораторная работа №2 Управление кнопками в AVR Цель работы: написать для микроконтроллера программу мигания светодиодом в зависимости от нажатия кнопки на языке программирования С согласно варианта. На первой лабораторной работе научились подавать напряжение но...

Русский

2013-06-11

71 KB

23 чел.

Лабораторная работа №2

Управление кнопками в AVR

 Цель работы: написать для микроконтроллера программу мигания светодиодом в зависимости от нажатия кнопки на языке программирования С согласно варианта.

На первой лабораторной работе научились подавать напряжение ножкой микроконтроллера. Теперь нужно научиться управлять микроконтроллером без перепрошивки. Зачем это нужно? Например, вы сделали часы на микроконтроллере, нужно выставить время, но очень не удобно каждый раз перепрошивать, когда собьется время. Намного удобнее пользоваться кнопками, например, одной менять часы, другой минуты.

На первой лабораторной работе настраивали ножку как выход, т.е. могли ей подавать напряжение. Так вот, ножку можно настроить как вход. В таком режиме можно проверить есть ли на ней напряжение или нет.

Пример: создаем проект при помощи мастера проектов. Первую ногу настраиваем как выход, вторую как вход. При создании мастером проектов указываем, что ножка PB1 будет входом, на ней же включаем подтягивающий резистор, реализуется это так:

После создания проекта приведем код к такому виду:

#include <mega8.h>

#include <delay.h>

 

void main(void)

{

 PORTB=0x02;

DDRB=0x01; 

while (1)

 {

  if(PINB.1==0)

 {

 PORTB.0=1;

 delay_ms(100);

 PORTB.0=0;

 delay_ms(100);

 }

  };

}

Как видим, по сравнению с первой лабораторной работой изменилась настройка порта

PORTB=0x02;

DDRB=0x01;

Подробнее о том что значат данные строки можно почитать в файле “Настройка портов ввода-вывода в CodeVision AVR”.

Также появилась новая строчка

if(PINB.1==0)

{

}

Данную строчку нужно читать так — если на ножке 1 порта В подключили землю (0 потенциал), то выполнить код в фигурных скобках. В нашем примере это код из первой лабораторной работы. Если кнопка не замкнута, то ничего не делать. Промоделировать в Proteuse.

Вместо кнопки можно поставить датчик, реле и т.п., вместо светодиода — пищалку, получится сигнализация.

Варианты заданий

№ Варианта

Подключение светодиода к выводу МК

Подключение кнопки к выводу МК

Микроконтроллер

Период моргания светодиода, мСек

1

PD0

PD7

ATmega16

850

2

PD1

PC0

ATmega32

800

3

PD2

PC1

ATmega64

750

4

PD3

PC2

ATmega128

700

5

PD4

PC3

ATmega16

650

6

PD5

PC4

ATmega32

600

7

PD6

PC5

ATmega64

550

8

PD7

PB5

ATmega128

500

9

PC0

PD0

ATmega16

450

10

PC1

PD1

ATmega32

400

11

PC2

PD2

ATmega64

350

12

PC3

PD3

ATmega128

300

13

PC4

PD4

ATmega16

250

14

PC5

PD5

ATmega32

200

15

PB5

PD6

ATmega64

150

Отчет должен содержать:

  1.  Схему устройства;
  2.  Код программы с пояснениями.


 

А также другие работы, которые могут Вас заинтересовать

61178. ВІДОКРЕМЛЕНІ ПРИКЛАДКИ 327 KB
  Виділити відокремлені прикладки. Алгоритм характеристики відокремленої прикладки Дослідження-трансформація Подані речення трансформувати так щоб виділені компоненти виступали в ролі відокремленої прикладки. Виділити відокремлені прикладки.
61179. ВІДОКРЕМЛЕНІ ДОДАТКИ. РОЗДІЛОВІ ЗНАКИ В РЕЧЕННЯХ З ВІДОКРЕМЛЕНИМИ ДОДАТКАМИ 217.05 KB
  Поглибити знання восьмикласників про відокремлені члени речення, ознайомити з відокремленими додатками, їх місцем у реченні; формувати загальнопізнавальні вміння знаходити в тексті відокремлені додатки, аналізувати їх, правильно інтонувати речення з відокремленими додатками
61180. ВІДОКРЕМЛЕНІ ОБСТАВИНИ, СПОСОБИ ЇХ ВИРАЖЕННЯ 131.02 KB
  Поглибити знання восьмикласників про відокремлені члени речення, ознайомити з основними способами морфологічного вираження відокремлених обставин, їх місцем у реченні відповідно до опорного слова; формувати загальнопізнавальні вміння знаходити в тексті відокремлені обставини
61181. РОЗДІЛОВІ ЗНАКИ В РЕЧЕННЯХ З ВІДОКРЕМЛЕНИМИ ОБСТАВИНАМИ 163.98 KB
  Удосконалити в учнів загальнопізнавальні вміння правильно інтонувати речення з відокремленими обставинами, пунктуаційні вміння й навички, пов’язані з уживанням розділових знаків у реченнях з відокремленими обставинами
61182. ПИСЬМОВИЙ ТВІР-ОПОВІДАННЯ З ОБРАМЛЕННЯМ НА ОСНОВІ ПОЧУТОГО 142 KB
  Довести що висловлювання належить до оповідання. Яку структуру має текст-оповідання Виділити в тексті обрамлення і зясувати яку функцію воно виконує у структурі оповідання. Формування вмінь моделювати твіроповідання з обрамленням Уведення у висловлювання обрамлення Прочитати мовчки текст.
61183. ВІДОКРЕМЛЕНІ УТОЧНЮВАЛЬНІ ЧЛЕНИ РЕЧЕННЯ. РОЗДІЛОВІ ЗНАКИ В РЕЧЕННЯХ З УТОЧНЮВАЛЬНИМИ ЧЛЕНАМИ 403.78 KB
  Поглибити знання восьмикласників про відокремлені члени речення, ознайомити з уточнювальними членами речення, їх основними способами морфологічного вираження, видами та значенням; сформувати загальнопізнавальні вміння знаходити в тексті відокремлені уточнювальні члени
61184. УЗАГАЛЬНЕННЯ Й СИСТЕМАТИЗАЦІЯ З ТЕМИ «ВІДОКРЕМЛЕНІ ЧЛЕНИ РЕЧЕННЯ» 503.5 KB
  Правопис: розділові знаки в реченнях з відокремленими членами. Текст риторичний аспект: використання відокремлених членів речення в усному й писемному мовленні. Яку функцію в реченні виконують відокремлені члени речення.
61185. КОНТРОЛЬНЕ ЧИТАННЯ МОВЧКИ ТЕКСТУ НАУКОВОГО СТИЛЮ 50 KB
  Окремі постанови тодішнього карного права охороняли життя жінки й навіть її честь. Руська Правда захищає майнові права і гідність незаміжньої жінки. Багато уваги присвячує родинним справам і ролі в них жінки Устав Ярослава.
61186. ПРОСТЕ НЕУСКЛАДНЕНЕ РЕЧЕННЯ. РОЗДІЛОВІ ЗНАКИ В НЬОМУ 56.5 KB
  Мета: узагальнити й систематизувати знання восьмикласників про просте неускладнене речення; удосконалити вміння й навички працювати над визначенням його видів та структури способів вираження головних і другорядних членів речення...