Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчет по Лабе 2 Смолина.doc
Скачиваний:
20
Добавлен:
21.09.2019
Размер:
74.24 Кб
Скачать

Федеральное государственное автономное образовательное учреждение высшего профессионального образования

Уральский федеральный университет

им. Первого президента России Б.Н. Ельцина

Кафедра физических методов и приборов контроля качества

Отчет по лабораторной работе №2

Компьютерные технологии в приборостроении

Программирование периферийных устройств, доступных через регистры ПЛИС.

Преподаватель Е.В. Моисейкин

Студентка

группы Фт-47061 Е.В. Смолина

Екатеринбург, 2010

  1. Цели работы:

Изучить технологию программирования периферийных устройствстенда SDK1.1, доступных через регистры ПЛИС.

  1. Ход работы

1Часть 1

Задание 1.

Программа для вывода информации на линейку светодиодных индикаторов. Используя монитор Т2 загрузить программу в лабораторный стенд SDK1.1 и получить правильный результат выполнения программы. Исходном тексте изменить содержимое выводимого байта данных в соответствии с табл.1 и пронаблюдать результаты на лабораторном стенде.

Таблица 1. Вариант 10.

Номер варианта

Светящиеся диоды

10

6,5,2

Выполнение задания:

org 02000h ; начало SRAM ВВП

dpp data 84h ; адрес регистра dpp

mybyte equ 01100100b ; байт данных для вывода

sv xdata 07h ; адрес регистра светодиодов

mov r0,#sv ; адрес регистра светодиодов

mov a,#mybyte

call putbyte ; инициализация putbyte

sjmp $

putbyte:push dpp ; сохр. номер текущей страницы

mov dpp,#08d ; переход на 8-ю страницу

movx @r0,A ; запись в регистр ПЛИС

pop dpp ; восст. номера страницы

ret

end

Вывод: была написана программа для вывода информации на линейку светодиодных индикаторов под номерами 6,5,2. Используя монитор Т2 загрузили программу в лабораторный стенд SDK1.1 и получили правильный результат выполнения программы: горящие диоды 2,5,6.

Задание 2.

Программа для вывода информации на жидкокристаллический дисплей. Составить и набрать головную программу для вывода своего имени или фамилии на ЖКИ с использованием подпрограммы PUTCHAR.

Выполнение задания.

org 02000h ; начало SRAM ВВП

dpp data 84h ; адрес регистра dpp

DATA_IND xdata 01h ; регистр данных ЖКИ

C_IND xdata 06h ; регистр управ. ЖКИ

; образцы битовых полей регистра C_IND

E BIT acc.0

RW BIT acc.1

RS BIT F0

; сохранение используемых регистров в стеке

clr RS ; очищение регистра RS

mov a,#10000110b ; пересылка в аккумулятор начального значения

call putchar ; инициализация putchar

setb RS ; установка

mov a,#0A3h ; загрузка в аккумулятор буквы Ж

call putchar ; инициализация putchar

mov a,#45h ; загрузка в аккумулятор буквы Е

call putchar ; инициализация putchar

mov a,#48h ; загрузка в аккумулятор буквы Н

call putchar ; инициализация putchar

mov a,#0B1h ; загрузка в аккумулятор буквы Я

call putchar ; инициализация putchar

clr RS ; очистка регистра RS

mov a,#11000100b ; загрузка в аккумулятор нач.знач.

call putchar ; инициализация putchar

setb RS ; установка

mov a,#43h ; загрузка в аккумулятор буквы С

call putchar ; инициализация putchar

mov a,#0BCh ; загрузка в аккумулятор буквы М

call putchar ; инициализация putchar

mov a,#4Fh ; загрузка в аккумулятор буквы О

call putchar ; инициализация putchar

mov a,#0BBh ; загрузка в аккумулятор буквы Л

call putchar ; инициализация putchar

mov a,#0B8h ; загрузка в аккумулятор буквы И

call putchar ; инициализация putchar

mov a,#48h ; загрузка в аккумулятор буквы Н

call putchar ; инициализация putchar

mov a,#41h ; загрузка в аккумулятор буквы А

call putchar ; инициализация putchar

sjmp $

putchar: push psw ; загрузка psw в стек

anl psw,#11100111b ; выбрали банк 0

push 0h ; сохранение r0

push dpp ; загрузка dpp в стек

; переключение на 8-ю страницу внешней памяти данных

mov dpp,#08d ; выбор 8-ой страницы

; вывод данных в регист данных ЖКИ

mov r0,#DATA_IND ; адрес регистра данных

movx @r0,A ; вывод данных

; запись кодовых полей в регистр управления ЖКИ

clr RW ; RW=0

mov c,RS ; чтение RS

mov acc.2,c ; RS=1 или 0

; формирование строба 0-1-0 на входе «Е» ЖКИ

mov r0,#C_IND ; адрес регистра команд

clr E ; Е=0

movx @r0,A ; запись в C_IND

setb E ; Е=1

movx @r0,A ; запись в C_IND

clr E ; Е=0

movx @r0,A ; запись в C_IND

; восстановление использованных регистров

pop dpp ; извлечение dpp из стека

pop 0h ; r0 (0-банк)

pop psw ; извлечени psw из стека

ret

end

Вывод: была составлена программа для вывода информации на жидкокристаллический дисплей. С использованием подпрограммы PUTCHAR была составила программа для вывода на экран имени и фамилии. В результате на экран стенда выводилось в две строчки «Смолина Женя».