Автор: Пользователь скрыл имя, 18 Сентября 2011 в 18:26, курсовая работа
Современные автоматизированные системы управления техническими процессами
требуют значительного количества и разнообразия средств измерений,
обеспечивающих выработку сигналов измерительной информации в форме, удобной
для дистанционной передачи, сбора, дальнейшего преобразования, обработки и
передачи.
Введение…………………………………………………………………………………………3
1. Аналитическая часть……………………………………………………………………….4
1.1 Описание объекта проектирования……………………………………………………...4
1.2 МПС комплект серии КР1816…………………………………………………………….9
1.3 Назначение…………………………………………………………………………………..9
1.3.1 Характеристики…………………………………………………………………………..9
1.3.2 Описание работы………………………………………………………………………....9
2. Практическая часть. Разработка программы для микропроцессорной системы на базе устройства КР580………………………………………………………………………..18
2.1 Микропроцессорная система управления и индикации……………………………..18
2.1.1 Схема устройства ввода/вывода……………………………………………………....21
2.1.2 Бегущая строка………………………………………………………………………….26
2.1.3 Текст программы………………………………………………………………………..25
2.2 Разработка программы для управления технологическим оборудованием……....29
2.2.1 Общее описание устройства…………………………………………………………...31
2.2.2 Блок-схема алгоритмов управления технологическим оборудованием………....32
2.2.3 Блок-схема режимов работы…………………………………………………………..34
2.2.4 Текст программы…………………………………………………………………….….34
2.3 Разработка программы на ассемблере…………………………………………………35
2.3.1 Блок схема алгоритма управления технологическим оборудованием…………..35
2.3.2 Текст программы на ассемблере……………………………………………………...35
Заключение…………………………………………………………………………………….40
Список использованных источников………………………………………………………41
В случае прямой адресации за КОП следует не сам операнд, а адрес ячейки памяти или внешнего устройства, например команда IN AL,40h вводит байт данных из внешнего устройства с адресом 40h.
Косвенная адресация отличается от регистровой тем, что в регистре хранится адрес операнда, т.е. по команде MOV AL,[BX] в аккумулятор al будет записано число из ячейки памяти с адресом, хранящимся в регистре BX.
Стековая адресация производится к операндам расположенным в области памяти, называемой стек.
НЕКОТОРЫЕ ОПЕРАТОРЫ,
ПРЕДОПРЕДЕЛЁННЫЕ ИМЕНА, ДИРЕКТИВЫ
И КОМАНДЫ АССЕМБЛЕРА 80X86(8088)
.model tiny
.code
org 100h ;for com programs
start:
;polozenie cursora v 0 0----
mov ah,02h
mov bh,0
mov dh,0;;;
mov dl,0
int 10h
;output string in screen----
mov ax,ds ;...
mov es,ax ;v es nacalo segmenta dannix(sovpadaet s segm. coda)
mov bp,offset tip
mov ah,13h
mov al,0 ;vivod s perevodom na dr. stroku (cm metodu)
;;;
mov cx, 14 ;v cx razmer stroki
mov bl,3 ;iarkie simvoli
int 10h
;-----------------------------
;polozenie cursora v 1 0----
mov ah,02h
mov bh,0
mov dh,1
mov dl,0
int 10h;;;
inc dx
push dx
;vvod stroki^^^^^^^^^^^^^^^^^^^^^
xor si,si ;counter
try_again:
mov ah,10h
int 16h
cmp al,13 ;esli nazat spec. clavisa enter to vihod iz cicla
jz away;-
mov message[si],al ;zapoolnenie bufera strokoi kotoruu vvodit poolzoovatel
inc si;;;;
mov ah,9;vivesti vved simvl na ekran
mov bh,0;-!-
mov bl,00001010b;-!-
mov cx,1;-!-
int 10h;-!-
;izmenit polzenie cursora
mov ah,02h
pop dx
mov bh,0
int 10h;
inc dx
push dx
;-----
jmp try_again
;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
;=============================
away:
;izmenit polzenie cursora v 2 0
mov ah,02h
mov bh,0
mov dh,2
mov dl,0
int 10h;
;-----
;****v s2 s1(message2 message)
xor si,si ;si=0
xor di,di ;di=0
pop cx;v ;steke bil razmer s1(message)
dec cx
mov ch,0
cicl:
mov al,message[si] ;v s2 simvol s1
mov message2[di], al;-!-
inc di;atrbut v s2
mov message2[di],cl;atribut ia sdelal kak nomer simvola v stroke(mozno
postavit 1 i tot ze)
inc si
inc di
loop cicl
;***
;posimvolnii vivod s ucetom atributa
mov dh, 2;nomer stroki
xor dl,dl
mov cx,si ;v cx razmer stroki
xor si,si ;si=0
cicl2:
push cx
mov al, message2[si]
mov ah,9;vivesti vved simvl na ekran
inc si
mov bh,0;-!-
mov bl,message2[si];-!-
mov cx,1;cislo povtorov
int 10h;-!-
inc dl;sdvigau cursor vlevo
mov ah,02h
mov bh,0
int 10h
pop cx
inc si
loop cicl2
int 20h ;exit com program
;---data---
tip db 'Type string:', 13, 10, '$' ;output string
message db 254 dup (?) ;buffer with string1
message2 db 254 dup ('$');buffer with string2
;----end data---
end start
ПРЕДОПРЕДЕЛЕННЫЕ ИМЕНА
1. $ - программный
счетчик. Этот символ отмечает
текущий адрес в текущем
text DB 'This string has NN letters'
NN = $ - text; NN = длине строки text (количеству байтов
в этой строке). Не путать часть строки '..NN..' и константу NN!
2. @data - адрес начала сегмента данных.
....
mov ax,@data
mov ds,ax;
в сегментном регистре DS теперь адрес сегмента данных.
3. ??date, ??time, ??filename - эти имена во время трансляции заменяются, соответственно на текущие дату, время и имя файла в формате ASCII.
ОПЕРАТОРЫ
1. () - скобки, определяют порядок вычислений
2. [] - например [BX]
означает содержимое ячейки
3. +, -, *, / - операторы сложения, вычитания, умножения и деления.
mov ax, (2 * 3 + 8 / 2) - 2; в регистр ax будет помещено число 8.
4. MOD - деление по модулю. Даёт остаток.
5. SHL,SHR - сдвиг операнда влево, вправо.
mov si, 01010101b SHR 3; в регистр SI будет загружено число 0Ah (00001010).
6. NOT - побитовая инверсия.
7. AND,OR,XOR - операции "И","ИЛИ","ИСКЛ.ИЛИ".
mov dl, (10d OR 5d) XOR 7d; (dl) будет равно 8.
8. : - переназначение сегмента.
mov dl,[es:bx]; поместить в dl байт данных из сегмента es и отстоящий от его начала на (bx) байтов (смещение).
9. OFFSET - оператор
получения смещения адреса
mov bx, OFFSET table
ДИРЕКТИВЫ (ПСЕВДООПЕРАТОРЫ)
1. : - определяет
близкую метку (в пределах
jmp lbl .... ....
lbl: ....
2 . = - присваивает символическому имени значение выражения.
videoram = 0B800h; присвоение videoram = 0B000h;
3. .CODE - определяет начало кодового сегмента, то есть сегмента, где располагаются коды программы.
4. .DATA - определяет начало сегмента данных.
5. DB,DW - директивы
резервирующие один или
.DATA
fibs DB 1,1,2,3,5,8,13
rus DB 'Турбо Ассемблер'
buf DB 80 DUP(0);резервируется 80 байтов,каждый обнуляется
int DW 65535;в двух
байтах располагается число
Array DW 100 DUP (0);резервируется 100 слов
6. END - обозначает конец программы.
.CODE
MyPROG:....; точка входа (начало программы).
....; команды программы
....
END MyPROG
7. ENDM - окончание блока или макроопределения
8. ENDP - обозначает конец подпрограммы.
9. EQU - присваивает
символическому имени или
BlkSize EQU 512
BufBlks EQU 4
BufSize EQU BlkSize * BufBlks
10. LABEL - определяет метку соответствующего типа.
....
.DATA
m_byte LABEL BYTE;метка m_byte типа BYTE позволяет теперь
m_word DW 0;иметь доступ отдельно к каждому байту данных
Вывод
Для
повышения надежности управления технологическим
процессом восстановления химикатов
необходимо внедрение новой АСУ
ТП содового котлоагрегата, т.к. старая
система автоматизации уже не
удовлетворяет повышенным требованиям,
предъявляемым к безопасности эксплуатации
и обслуживания котлоагрегата. Применение
микроконтроллеров в системе
управления позволит увеличить быстродействие
всей АСУ ТП в целом, сделать процесс
регулирования более гибким при
помощи выбора наиболее оптимальных
настроек регулятора в соответствии
с условиями и характеристиками
протекания технологического процесса,
выбора алгоритма и закона регулирования
из библиотеки алгоритмов микроконтроллера
наиболее подходящего для данного
способа регулирования.
Список
использованных источников