Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

МСУ лаба4

.doc
Скачиваний:
3
Добавлен:
01.04.2014
Размер:
45.57 Кб
Скачать

Кафедра АУТС

Лабораторная работа N 4

Лабораторная работа N 4

АЛГОРИТМЫ ПРОГРАММНОГО УПРАВЛЕНИЯ

Выполнил: Проверил:

ЗАДАЧА 4.1 Написать программу, обеспечивающую программное управление по трем каналам в соответствии с циклограммой

Таблица 6

Такт

Т0

Т1

Т2

Т3

Т4

Т5

Канал1

3F

06

5B

4F

66

6D

Канал2

3F

5B

66

7D

7F

77

Канал3

06

4F

6D

07

6F

5D

В качестве выходных портов использовать адреса индикаторов 2,4,6. Длительность такта принять

равной 1.5 сек.

Программу управления представим в виде массива и расположим в ячейках памяти 82А0, 82А1, .

82А0=3F; |

82А1=3F; | такт 0

82А2=06; |

82А3=06; |

82А4=5B; | такт 1

82А5=4F; |

82А6=5B; |

82А7=66; | такт 2

82А8=6D; |

82А9=4F; |

82AA=7D; | такт 3

82AB=07; |

82AC=66; |

82AD=7F; | такт 4

82AE=6F; |

82AF=6D; |

82B0=77; | такт 5

82B1=5D; |

Для отсчета временных интервалов используем подпрограмму задержки, представляющую собой три вложенных цикла с количеством повторений x,y.z (эти величины определим ниже):

8270=06; DEL: MVI B,X ; 7т

8271=0D;

8272=0E; M1: MVI C,Y ; 7т

8273=FA;

8274=16; M2: MVI D,Z ; 7т

8275=3C;

8276=15; M3: DCR D ; 5т

8277=C2; JNZ M3 ; 10т

8278=76;

8279=82;

827A=0D; DCR C ; 5т

827B=C2; JNZ M2 ; 10т

827C=74;

827D=82;

827E=05; DCR B ; 5т

827F=C2; JNZ M1 ; 10т

8280=72;

8281=82;

8282=C9; RET ; 10т

Чтобы определить числа x,y,z, найдем количество тактов, соответствующие приведенной программе:

N = 7+x(7+y(7+z(5+10)+5+10)+5+10)+10

или после преобразований

N = 15xyz + 22xy + 22x + 17

По условию задачи требуется обеспечить задержку на 1.5c, что при частоте тактового генератора 2МГц соответствует количеству тактов

N = 3000000.

Подбор значений x,y,z дает

x=13; y=250; z=60 (с точностью 0,1%).

Для отображения информации на 8-ми разрядном дисплее составим подпрограмму индикации, которая на каждом такте выбирает из массива по три числа и пересылает их по адресам каналов 1, 2, 3:

8250=7E; IND: MOV A,M

8251=32; STA 83F9H ; канал 1

8252=F9;

8253=83;

8254=23; INX H

8255=7E; MOV A,M

8256=32; STA 83FBH ; канал 2

8257=FB;

8258=83;

8259=23; INX H

825A=7E; MOV A,M

825B=32; STA 83FDH ; канал 3

825C=FD;

825D=83;

825E=23; INX H

825F=C9; RET

Тогда головная программа имеет вид:

8200=21; M0: LXI H,82A0H ; начальный адрес массива

8201=A0;

8202=82;

8203=1E; MVI E,06H ; число тактов

8204=06;

8205=CD; M1: CALL IND ; индикация

8206=50;

8207=82;

8208=CD; CALL DEL ; задержка

8209=70;

820A=82;

820B=1D; DCR E

820C=C2; JNZ M1 ; следующий такт.

820D=05;

820E=82;

820F=C3; JMP M0

8210=00;

8211=82;

ЗАДАЧА 4.2 Написать программу, обеспечивающую перемещение объекта по позициям обработки в соответствии с графом:

Для отображения информации использовать 8-разрядный дисплей. Положение объекта в 2-й позиции отобразить символом "8" в соответствующем разряде. Время обработки определить по формуле ti=0,1(i + 18). Для этого варианта время нахождения объекта в каждой позиции равно:

t1=1,9 сек.; t2=2 сек.; t3=2,1 сек.; t4=2,2 сек.; t5=2,3 сек.; t6=2,4 сек.; t7=2,5 сек.; t8=2,6 сек.

Для измерения временных интервалов используем подпрограмму, время задержки для которой определяется содержимым аккумулятора: t=0,1*А (сек).

8270 06 DEL: MVI B,34H ; 7 тактов

8271 34

8272 0E M1: MVI C,FFH ; 7 тактов

8273 FF

8274 0D M2: DCR C ; 5 тактов

8275 C2 JNZ M2 ; 10 тактов

8276 74

8277 82

8278 05 DCR B ; 5 тактов

8279 C2 JNC M1 ; 10 тактов

827A 72

827B 82

827C 3D DCR A ; 5 тактов

827D C2 JNZ DEL ; 10 тактов

827E 70

827F 82

8280 C9 RET ; 10 тактов.

Из чисел ti сформируем массив, который разместим в ячейках 82А0, 82А1,...:

82А0 I3 ; t1

82А1 I4 ; t2

82А2 I5 ; t3

82А3 I6 ; t4

82А4 I7 ; t5

82А5 I8 ; t6

82А6 29 ; t7

82А7 2A ; t8

82А8 00 ; конец.

Головная программа осуществляет необходимые начальные ус- тановки (адрес первого элемента массива, адрес первого индика- тора), а также перемещение символа "9" по разрядам дисплея:

8200 21 M0: LXI H,83F8H ; адрес 1-го индикатора

8201 F8

8202 83

8203 11 LXI D,82A0 ; начальный адрес массива

8204 A0

8205 82

8206 36 M1: MVI M,6FH ; вывод "9"

8207 6F

8208 1A LDAX D ; А <-- Т(I)

8209 CD CALL DEL ; задержка

820A 70

820B 82

820C 36 MVI M,00H ; выключение индикатора

820D 00

820E 23 IND H ; след. индикатор

820F 13 IND D ; след. знач. Т(I)

8210 7D MOV A,L

8211 FE CPI 00H ; конец ?

8212 00

8213 C2 JNZ M1

8214 06

8215 82

8216 C3 JMP M0

8217 00

8218 82

Соседние файлы в предмете Моделирование систем управления