rol r18
inc r19
cpi r19, 3
brlo ROT2LOOP
or r25, r18 ; Добавление данных в байт статуса клавиатуры
ldi r17, 0x02; Установка направлений выводов порта В для опроса второго ряда
out DDRB, r17
ldi r17, 0x01;
out PB1, r17;
in r18, PORTB; Получение информации о нажатии последних 3 клавиш
andi r18, 0x05
or r25, r18 ; Добавление данных в байт статуса клавиатуры
; Код нажатой клавиши получен в регистре N25
; сравним с константой для каждой клавиши.
cp r25, r20 ; Проверка на "залипание" клавиши
breq DONE
cpi r25, 0x20; ; Кнопка 1
brne K2
rjmp Button1
K2:
cpi r25, 0x40 ; Кнопка 2
brne K3
rjmp Button2
K3:
cpi r25, 0x60; ; Кнопка 3
brne K4
rjmp Button3
K4:
cpi r25, 0x18; ; Кнопка 4
brne K5
rjmp Button4
K5:
cpi r25, 0x08; ; Кнопка 5
brne K6
rjmp Button5
K6:
cpi r25, 0x10; ; Кнопка 6
brne K7
rjmp Button6
K7:
cpi r25, 0x01; ; Кнопка 7
brne K8
rjmp Button7
K8:
cpi r25, 0x05; ; Кнопка 8
brne K9
rjmp Button8
K9:
cpi r25, 0x04; ; Кнопка 9
brne DONE
rjmp Button9
DONE: ;
; В r25 находится код нажатой кнопки. Перенесем в R20 во избежание повторов от «зажатия»
mov r20, r25;
rjmp loop;
Button1: rjmp DONE ; ToDo: Процедура обработки нажатия кнопки 1
Button2: rjmp DONE ; ToDo: Процедура обработки нажатия кнопки 2
Button3: rjmp DONE ; ToDo: Процедура обработки нажатия кнопки 3
Button4: rjmp DONE ; ToDo: Процедура обработки нажатия кнопки 4
Button5: rjmp DONE ; ToDo: Процедура обработки нажатия кнопки 5
Button6: rjmp DONE ; ToDo: Процедура обработки нажатия кнопки 6
Button7: rjmp DONE ; ToDo: Процедура обработки нажатия кнопки 7
Button8: rjmp DONE ; ToDo: Процедура обработки нажатия кнопки 8
Button9: rjmp DONE ; ToDo: Процедура обработки нажатия кнопки 9
; Процедура вызывается после завершения отправки байта по RS-232
TxD:
; -------- ПОДГОТОВКА ДАННЫХ ДЛЯ ОТПРАВКИ В RS-232 --------
mov r24, r23;
andi r24, 0xF0; ; Байт для отправки содержит данные 4-х входов
; В R24 хранятся данные, которые будут отправляться на хост
; ------------------ ОТПРАВКА ДАННЫХ -----------------
out UDR, r24
reti
; Процедура вызывается после завершения приема байта по RS-232
RxD:
; -------- ПРИЕМ ДАННЫХ ИЗ RS-232 В РЕГИСТР R1 --------
in r1, UDR;
sbic USR, 4 ; Если установлен 4-й бит USR - принятые данные не достоверны.
reti ; => Выход из функции обработки прерывания
; ToDo: Здесь размещается обработка принятых данных
reti
Заключение
В представленной курсовой работе была разработана система сбора данных на основе микроконтроллера, который может применяться для управления различными исполнительными механизмами. Например, электродвигателями и электромагнитными реле. Управление системой осуществляется через девятикнопочную клавиатуру, интерфейс RS 232 и четырехразрядный дискретный вход.
Список использованных ресурсов
1.PDF документация на линейный стабилизатор LM7805
2.PDF документация на микроконтроллер AT90S2313
www.ATMEL.com
3. «Индикаторы» http://www.sibsuits.ru/~mavr/digital/indic.htm
4. Полупроводниковые приборы: Транзисторы. П53 Справочник /В.Л.Аронов, А.В.Баюков, А.А.Зайцев и др.Под общ. ред. Н.Н.Горюнова.-М.: Энергоатомиздат,1983.-904с.,ил
5. Голубцов М. С. «Микроконтроллеры AVR: от простого к сложному» (М, Солон-пресс 2003)
6. Еленычев С. В. Курс лекций по дисциплине «Микроконтроллеры», 2006-2007 уч. год.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.