Автор: Пользователь скрыл имя, 09 Апреля 2012 в 21:31, курсовая работа
Целью данной курсовой работы является проектирование тиристорного нереверсивного широтно-импульсного преобразователя на базе микропроцессорного комплекта K1810 с техническими параметрами, указанными в задании.
Введение 4
1 Разработка функциональной схемы 5
1.1 Описание принципа работы преобразователя. Выбор элементов силовой части 5
1.2 Описание функциональной схемы системы управления 6
2 Разработка аппаратной части 8
2.1 Краткое описание МП комплекта 8
2.2 Описание структурной схемы системы управления 13
2.3 Выбор элементов памяти 14
2.4 Расчет и выбор элементов сопряжения 14
2.5 Описание схемы электрической принципиальной 18
3 Разработка программного обеспечения 20
3.1 Краткое описание системы команд микропроцессора 20
3.2 Описание алгоритма работы устройства 22
3.3 Текст программы 24
Заключение 26
Список литературы 27
Процедура
Тest вызывается, когда нажата соответствующая
клавиша и заново определяет значение
частоты питающей сети.
3.3
Текст программы
В
соответствии с заданием преподавателя
для написания программы выбран
блок расчета новых значений для индикаторов.
Для этого блока исходными данными являются
: переменная U, в которой хранится
16-ти разрядный код заданного напряжения
(в двоичной форме), а так же переменная
Change, которая может иметь следующие
состояния: 00h– изменений нет, 01h– изменения
были введены с клавиатуры, 02h– изменения
были сделаны при помощи аналогового входного
сигнала. Так же исходной является таблица
кодов цифр от 0 до 9 для отображения на
семисегментном индикаторе, которая занесена
в память в переменные Code_0…Code_9, причем
они расположены в памяти подряд (например,
с адреса ххх00h по адресу ххх09h ). Общий
смысл процедуры следующий: сначала проверяется
источник изменений. Если изменения были
произведены с АЦП, то заданное напряжение
сначала делится на 100 (получаем количество
сотен– содержимое первого индикатора),
затем остаток делится на 10, получаем содержимое
второго индикатора, а остаток и будет
содержимым третьего индикатора. Затем
сначала сохраняется содержимое каждого
индикатора (цифра в двоичном коде в переменные
VIDEO_DATA_X), а затем из таблицы берутся
коды цифр, которые нужно отобразить и
сохраняются в так называемой «видеопамяти»(переменные
VIDEO_Х ), которые затем будут отображаться
в соответствующих индикаторах. Если напряжение
было задано с клавиатуры, то проверяется
не превосходит ли оно 380 и просто содержимое
5-го, 6-го и 7-го индикаторов переписываются
в видеопамять 1-го, 2-го и3-го индикаторов
соответственно.
NACHALO | CMP CHANGE,01h | Определение источника изменений |
JZ KLAVA | Если изменения с клавиатуры, то вызывается соответствующая процедура | |
MOV AX,U | Загрузка переменной U в аккумулятор | |
MVI BX,0064h | Запись в регистр ВХ числа 100 | |
DIV BX | Деление содержимого аккумулятора на 100 (для того, чтобы узнать количество сотен и следовательно цифру на первом индикаторе). Результат в регистре AL, остаток в регистре AH | |
MOV Y1,AL | Сохранение числа сотен (первая цифра) | |
MOV AL,AH | Перемещение остатка
от деления для дальнейшего | |
MVI BX,000Ah | Запись в регистр ВХ числа 10 | |
DIV BX | Деление содержимого аккумулятора на 10 (для того, чтобы узнать количество десятков и следовательно цифру на втором индикаторе). Результат в регистре AL, остаток в регистре AH | |
MOV Y2,AL | Сохранение числа десятков (вторая цифра) | |
MOV Y3,AH | Сохранение остатка– числа единиц (третья цифра). | |
MOV VIDEO_DATA_1,Y1 | Сохраняется содержимое каждого индикатора (цифра, но в двоичном коде) | |
MOV VIDEO_DATA_2,Y2 | ||
MOV VIDEO_DATA_3,Y3 | ||
MOV VIDEO_1,ADDR(CODE_0+Y1) | Из таблицы берутся коды цифр, которые нужно отобразить и записываются в «видеопамять» | |
MOV VIDEO_2,ADDR(CODE_0+Y2) | ||
KONETS | MOV VIDEO_3,ADDR(CODE_0+Y3) | |
KLAVA | MVI BX,0064h | Запись в регистр ВХ числа 100 |
MOV AL, VIDEO_DATA_5 | Загрузка в регистр AL содержимого пятого индикатора (цифра, но в двоичном коде). | |
MUL BX | Умножение и нахождение заданного напряжения с точностью до сотен. | |
MOV X1,AX | Сохранение результата | |
MVI BX,000Ah | Запись в регистр ВХ числа 10 | |
MOV AL,VIDEO_DATA_6 | Загрузка в регистр AL содержимого шестого индикатора (цифра, но в двоичном коде). | |
MUL BX | Умножение | |
ADD AL,X1 | Сложение результата с переменной Х1 и нахождение заданного напряжения с точностью до десятков. | |
ADD AX,VIDEO_DATA_7 | Сложение результата с содержимым седьмого индикатора и нахождение заданного напряжения с точностью до единиц | |
CMP AX,017Ch | Сравнение, заданного с 380? | |
JNS PEREBOR | Если задано напряжение более 380, то вызывается специальная процедура, которая просто присваивает напряжению значение 380 и соответственно изменяет содержимое «видеопамяти», а затем возвращается сюда же. | |
MOV VIDEO_1,VIDEO_5 | Перемещение данных с 5-го, 6-го и 7-го индикаторов в видеопамять 1-го, 2-го и3-го индикаторов соответственно. | |
MOV VIDEO_2,VIDEO_6 | ||
MOV VIDEO_3,VIDEO_7 | ||
JMP KONETS | Переход на конец процедуры |
Заключение
В
ходе курсового проектирования была
спроектирована микропроцессорная
система управления тиристорным
преобразователем переменного напряжения
на основе микропроцессорного комплекта
K1810. В данной системе согласно заданию
реализован ввод задания дискретными
сигналами «больше– меньше», аналоговый
ввод сигнала 0…10 В, присутствует входной
дискретный сигнал «Блокировка», и выходной
дискретный сигнал «Готовность» и «Минимальное
напряжение».
Список
литературы
1. Микропроцессоры и микроЭВМ. Справочник под общей редакцией С. Т. Хвоща.– Л.: Машиностроение. 1987.– 640с.
2. Хоровец П. Хилл У. Искусство схемотехники: В 2-х т.: Пер с англ.– М.: Мир: 1993
3. Булычев А. Л. и др. Аналоговые интегральные схемы: Справочник.– Минск: Беларусь, 1985.–232 с.
4.Микропроцессорные
средства и системы.
5.Казаринов
Ю. М. Номоконов В. Н.