Разработка МПС управленя
Курсовая работа, 09 Апреля 2012, автор: пользователь скрыл имя
Описание работы
Целью данной курсовой работы является проектирование тиристорного нереверсивного широтно-импульсного преобразователя на базе микропроцессорного комплекта 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
Работа содержит 1 файл
Балахон_готово.doc
— 428.50 Кб (Скачать) Процедура
Т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.Казаринов
Ю. М. Номоконов В. Н.