ВУЗ:
Составители:
2. ЛАБОРАТОРНЫЙ ПРАКТИКУМ
Порты ввода – вывода
Лабораторная работа №1
Цель работы знакомство со средой AVRstudio, приобретение
навыков работы с микроконтроллером ATmega 16, а также
практическая работа с портами контроллера.
2.1.1 Теоретические сведения
Обращение к портам производится через регистры ввода/вывода. Под
каждый порт в адресном пространстве ввода/вывода зарезервировано по 3
адреса, по которым размещены следующие регистры: регистр данных порта
PORTx, регистр направления данных DDRx и регистр выводов порта PINx.
Действительные названия регистров получаются подстановкой названия
порта вместо символах. Соответственно, регистры порта А называйся PORTA,
DDRA, PINA, порта В - PORTB, DDRB, PINB и т. д. Поскольку с помощью
регистров PINx осуществляется доступ к физическим значениям сигналов на
выводах порта, они доступны только для чтения, тогда как остальные два
регистра доступны и для чтения, и для записи.
Пример №1.
; Программа управления портом панели клавиш.
; Разъем LED подключается к порту B
; Разъем Switches подключается к порту D
.include "m16def.inc" ; Подключаемый файл с описанием условных
; обозначений микроконтроллера
.CSEG ; Начало сегмента кода
; Назначение имен регистрам:
.def tmp=r16
;начало программы
.org $0000 ;Reset
rjmp RESET
;Настройка портов
ldi tmp,0b11111111
out ddrB,tmp ;Настройка порта B на вывод
ldi tmp,0b00000000
out ddrD,tmp ;Настройка порта D на ввод
; ОСНОВНАЯ ЧАСТЬ ПРОГРАММЫ
CIRCLE:
in tmp,pinD
out portB,tmp
rjmp CIRCLE
; THE END
34
Страницы
- « первая
- ‹ предыдущая
- …
- 32
- 33
- 34
- 35
- 36
- …
- следующая ›
- последняя »