Регистр состояния – SREG
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
$3F ($5F) |
I |
T |
H |
S |
V |
N |
Z |
C |
SREG |
Чтение/Запись |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
|
Исходное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
· Бит 7 – Разрешение всех прерываний. Для разрешения прерываний этот бит должен быть установлен в состояние 1. Управление разрешением конкретного прерывания выполняется регистром маски прерывания EIMSK и TIMSK. Если этот бит очищен (=0), то ни одно из прерываний не обрабатывается. Бит аппаратно очищается после возникновения прерывания и устанавливается для последующего разрешения прерывания командой RETI.
· Бит 6 – Бит сохранения копии. Команды копирования бита BLD и BST используют этот бит как источник и приемник при операциях с битами. Командой BST бит регистра общего назначения копируется в бит T, командой BLD бит Т копируется в бит регистра общего назначения.
· Бит 5 – Флаг полупереноса. Он указывает на перенос между тетрадами при выполнении ряда арифметических операций.
· Бит 4 – Бит знака. Бит S имеет значение результата операции исключающее ИЛИ (N(+)V) над флагами отрицательного значения (N) и дополнения до двух флага переполнения (V).
· Бит 3 – Дополнение до двух флага переполнения. Он поддерживает арифметику дополнения до двух.
· Бит 2 – Флаг отрицательного значения. Этот флаг указывает на отрицательный результат ряда арифметических и логических операций.
· Бит 1 – Флаг нулевого значения. Этот флаг указывает на нулевой результат ряда арифметических и логических операций.
· Бит 0 – Флаг переноса. Этот флаг указывает на перенос при арифметических и логических операциях.
Микроконтроллер AT90S8535 имеет 4 параллельных порта ввода/вывода A, B,C и D.
Порт А является 8-разрядным двунаправленным портом. Взаимодействие с портом А осуществляется через три регистра в пространстве ввода/вывода памяти данных: регистр данных – PORTA, $1B($3B), регистр направления данных – DDRA, $1A($3A), регистр входных данных – PINA, $19($39). Регистр PINA обеспечивает только возможность чтения, а регистры PORTA и DDRA – возможность чтения и записи. Регистр PINA не является регистром в полном смысле этого слова. Обращение к нему обеспечивает чтение физического состояния каждого вывода порта. Порт А служит также для ввода аналоговых сигналов A/D.
Регистр данных порта А – PORTA
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
$1B ($3B) |
PORTA7 |
PORTA6 |
PORTA5 |
PORTA4 |
PORTA3 |
PORTA2 |
PORTA1 |
PORTA0 |
PORTA |
Чтение/Запись |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
|
Исходное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Регистр направления данных порта А – DDRA
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
$1A ($3A) |
DDA7 |
DDA6 |
DDA5 |
DDA4 |
DDA3 |
DDA2 |
DDA1 |
DDA0 |
DDRA |
Чтение/Запись |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
|
Исходное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Регистр входных данных порта А – PINA
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
$19 ($39) |
PINA7 |
PINA6 |
PINA5 |
PINA4 |
PINA3 |
PINA2 |
PINA1 |
PINA0 |
PINA |
Чтение/Запись |
R |
R |
R |
R |
R |
R |
R |
R |
|
Исходное значение |
Hi-Z |
Hi-Z |
Hi-Z |
Hi-Z |
Hi-Z |
Hi-Z |
Hi-Z |
Hi-Z |
|
Порт В является 8-разрядным двунаправленным портом ввода/вывода. Также как и у порта А взаимодействие с портом В осуществляется через три регистра в пространстве ввода/вывода памяти данных: регистр данных – PORTB, $18($38), регистр направления данных – DDRB, $17($37) и регистр входных данных – PINB, $16($36). Регистр PINB обеспечивает возможность только чтения. Регистр PINB не является регистром в полном смысле этого слова. Обращение к нему обеспечивает чтение физического состояния каждого вывода порта. Выводы порта В могут выполнять альтернативные функции, указанные в табл. 2.1.
Таблица 2.1. Альтернативные функции выводов порта В
Вывод порта |
Альтернативная функция |
PB0 |
T0 – вход тактового сигнала таймера/счетчика 0 |
PB1 |
T1 – вход тактового сигнала таймера/счетчика 1 |
PB2 |
AIN0 – положительный вывод компаратора |
PB3 |
AIN1 – отрицательный вывод компаратора |
PB4 |
– вход выбора ведомого SPI |
PB5 |
MOSI – установка ведущий выход/ведомый вход SPI |
PB6 |
MISO – установка ведущий вход/ведомый выход SPI |
PB7 |
SCK – тактовый сигнал SPI |
При использовании выводов для альтернативных функций регистры PORTB, DDRB должны быть установлены соответствующим образом.
Регистр данных порта B – PORTB
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
$18 ($38) |
PORTB7 |
PORTB6 |
PORTB5 |
PORTB4 |
PORTB3 |
PORTB2 |
PORTB1 |
PORTB0 |
PORTB |
Чтение/Запись |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
|
Исходное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Регистр направления данных порта B – DDRB
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
$17 ($37) |
DDB7 |
DDB6 |
DDB5 |
DDB4 |
DDB3 |
DDB2 |
DDB1 |
DDB0 |
DDRB |
Чтение/Запись |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
|
Исходное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Регистр входных данных порта B – PINB
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
$16 ($36) |
PINB7 |
PINB6 |
PINB5 |
PINB4 |
PINB3 |
PINB2 |
PINB1 |
PINB0 |
PINB |
Чтение/Запись |
R |
R |
R |
R |
R |
R |
R |
R |
|
Исходное значение |
Hi-Z |
Hi-Z |
Hi-Z |
Hi-Z |
Hi-Z |
Hi-Z |
Hi-Z |
Hi-Z |
|
Порт С представляет собой 8-разрядный двунаправленный порт ввода/вывода. Также как у портов А и В взаимодействие с портом С осуществляется через три регистра в пространстве ввода/вывода памяти данных: регистр данных – PORTC, $15($35), регистр направления данных – DDRC, $14($34) и регистр входных данных – PINC, $13($33). Регистр PINC обеспечивает только возможность чтения, а регистры PORTC и DDRC – возможность чтения и записи. Регистр PINC не является регистром в полном смысле этого слова. Обращение к нему обеспечивает чтение физического состояния каждого вывода порта.
У порта С только два вывода могут выполнять альтернативные функции: выводы PC6 и PC7 выполняют функции TOSC1 и TOSC2 таймера/счетчика 2.
Регистр данных порта C – PORTC
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
$15 ($35) |
PORTC7 |
PORTC6 |
PORTC5 |
PORTC4 |
PORTC3 |
PORTC2 |
PORTC1 |
PORTC0 |
PORTC |
Чтение/Запись |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
|
Исходное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Регистр направления данных порта C – DDRC
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
$14 ($34) |
DDC7 |
DDC6 |
DDC5 |
DDC4 |
DDC3 |
DDC2 |
DDC1 |
DDC0 |
DDRC |
Чтение/Запись |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
|
Исходное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Регистр входных данных порта C – PINC
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
$13 ($33) |
PINC7 |
PINC6 |
PINC5 |
PINC4 |
PINC3 |
PINC2 |
PINC1 |
PINC0 |
PINC |
Чтение/Запись |
R |
R |
R |
R |
R |
R |
R |
R |
|
Исходное значение |
Hi-Z |
Hi-Z |
Hi-Z |
Hi-Z |
Hi-Z |
Hi-Z |
Hi-Z |
Hi-Z |
|
Порт D является 8-разрядным двунаправленным портом ввода/вывода. Также как и у портов А, В и С взаимодействие с портом D осуществляется через три регистра в пространстве ввода/вывода памяти данных: регистр данных – PORTD, $12($32), регистр направления данных – DDRD, $11($31) и регистр входных данных – PIND, $10($30). Регистр PIND обеспечивает возможность чтения, а регистры PORTD и DDRD – возможность чтения и записи. Регистр PIND не является регистром в полном смысле этого слова. Обращение к нему обеспечивает чтение физического состояния каждого вывода порта.
Выводы порта D могут выполнять альтернативные функции, указанные в табл. 2.2.
Таблица 2.2. Альтернативные функции выводов порта D
Вывод порта |
Альтернативная функция |
PD0 |
RxD – вход приемника UART |
PD1 |
TxD – выход передатчика UART |
PD2 |
INT0 – вход внешнего прерывания 0 |
PD3 |
INT1 – вход внешнего прерывания 1 |
PD4 |
OC1B – вывод сравнения выхода В таймера/счетчика 1 |
PD5 |
OC1А – вывод сравнения выхода А таймера/счетчика 1 |
PD6 |
ICP – вход триггера захвата таймера/счетчика 1 |
PD7 |
OC2 – вывод сравнения выхода таймера/счетчика 2 |
При использовании выводов для альтернативных функций регистры PORTD, DDRD должны быть установлены соответствующим образом.
Регистр данных порта D – PORTD
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
$12 ($32) |
PORTD7 |
PORTD6 |
PORTD5 |
PORTD4 |
PORTD3 |
PORTD2 |
PORTD1 |
PORTD0 |
PORTD |
Чтение/Запись |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
|
Исходное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Регистр направления данных порта D – DDRD
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
$11 ($31) |
DDD7 |
DDD6 |
DDD5 |
DDD4 |
DDD3 |
DDD2 |
DDD1 |
DDD0 |
DDRD |
Чтение/Запись |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
|
Исходное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Регистр входных данных порта D – PIND
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
$10 ($30) |
PIND7 |
PIND6 |
PIND5 |
PIND4 |
PIND3 |
PIND2 |
PIND1 |
PIND0 |
PIND |
Чтение/Запись |
R |
R |
R |
R |
R |
R |
R |
R |
|
Исходное значение |
Hi-Z |
Hi-Z |
Hi-Z |
Hi-Z |
Hi-Z |
Hi-Z |
Hi-Z |
Hi-Z |
|
Так как рассматриваемая работа первая, то для приобретения обучающимися навыков работы с лабораторным комплексом все обучающиеся сначала делают одинаковую работу. Со своих рабочих мест они вводят в ПЭВМ одну и ту же задачу вычитания из числа 5 числа 3, приведённую в п. 1.5.3.1. После компиляции программы она записывается в микроконтроллер рабочего места и демонстрируется её работа преподавателю.
После такого знакомства с комплексом обучающийся приступает к выполнению индивидуального задания. При наличии времени преподаватель может усложнить индивидуальное задание.