
- •Содержание
- •1. Введение
- •2. Техническое задание
- •3. Разработка аппаратной части
- •3.1 Анализ работы объекта управления
- •3.2 Построение структурной схемы для программы управления автоматизируемой системы
- •3.3 Компоновка принципиальной электрической схемы
- •4. Разработка программного обеспечения
- •4.1 Построение диаграммы управления
- •Формирование шир для управления ключами
- •5. Заключение
- •7. Приложение 2. Листинг программы
- •8. Список литературы
4. Разработка программного обеспечения
4.1 Построение диаграммы управления
В соответствии с током, который необходимо получить в ОЯ ВИД, разработана диаграмма управления ключами. Она представлена на рис.9.
На ней показаны:
I – Необходимый ток. По его состоянию определяется время закрытия ключа;
U – Напряжение на ОЯ ВИД
T2-ДПР – Датчик положения ротора
TF1 – Прерывания Т1 для формирования ШИМ
VT 1-4 – Состояние ключей
I – двухбитный счетчик
PRIZ – Байт-признак (набор битов-признаков)
Рис.9 Диаграмма управления
Рис.10 первый и четвертый ключи.
Рис.4 Основная программа
Формирование шир для управления ключами
5. Заключение
В результате проделанной работы мы освоили методику создания автоматизированных систем вентильным индукторным двигателем на основе однокристального микроконтроллера серии АТ89С2052. Была разработана блок- схема, по которой написана программа на языке Assembler, листинг которой приведен в Приложении 2.
В ходе проделанной работы были приобретены навыки:
Анализа объекта управления
Разработки структурной схемы
Разработки принципиальной электрической схемы
Построения диаграмм управления
Разработки алгоритмов управления
Написания и отладки программ управления
7. Приложение 2. Листинг программы
2500 A.D. 8051 Macro Assembler - Version 4.02a
------------------------------------------------
Input Filename : D:\E\fer.asm
Output Filename : T.obj
1 ;20H.0-РЕВЕРС
2 ;20H.1-Pk
3 ;R1-k3
4
5 ;Инициализация векторов прерывания
6 0000 ORG 00H
7 0000 02 00 30 LJMP START
8 ;Вектор начала программы
9 0003 ORG 03H
10 0003 02 00 A3 LJMP INT_1
11 ;Вектор прерывания от ацп
12 000B ORG 0BH
13 000B 02 00 58 LJMP INT_T0
14 ;Вектор прерывания от таймера 0
15 0013 ORG 13H
16 0013 02 00 87 LJMP INT_T1
17 ;Вектор прерывания от таймера 1
18
19 0030 ORG 30H
20 0030 75 D0 00 START: MOV PSW,#00000000B
21 ;Выбор первого регистрового банка
22 0033 75 88 05 MOV TCON,#00000101B
23 ;Настройка внешних прерываний
24 0036 75 89 11 MOV TMOD,#00010001B
25 ;Настройка таймеров
26 0039 75 A8 FF MOV IE,#FFH
27 ;Разрешение всех прерываний
28 003C 75 B8 00 MOV IP,#00000000B
29 003F 20 B6 0B JB P3.6,T1
30 0042 30 B7 EB JNB P3.7,START
31 0045 C2 00 CLR 20H.0
32 0047 D2 A0 SETB P2.0
33 0049 D2 A1 SETB P2.1
34 004B 80 06 SJMP T2
35 004D D2 00 T1: SETB 20H.0
36 004F D2 A4 SETB P2.4
37 0051 D2 A5 SETB P2.5
38 0053 D2 92 T2: SETB P1.2
39 0055
40 0055 02 00 30 LJMP START
41
42 0058 20 00 0B INT_T0:JB 20H.0,T0_2
43 005B 20 01 04 JB 20H.1,T0_1
44 005E C2 A1 CLR P2.1
45 0060 80 0D SJMP T0_4
46 0062 C2 A0 T0_1: CLR P2.0
47 0064 80 09 SJMP T0_4
Thu Jan 31 2013 19:35 Page 2
48 0066 20 01 04 T0_2: JB 20H.1,T0_3
49 0069 C2 A5 CLR P2.5
50 006B 80 02 SJMP T0_4
51 006D C2 A4 T0_3: CLR P2.4
52 006F 75 8C 00 T0_4: MOV TH0,#0H
53 0072 74 FF MOV A,#FFH
54 0074 F4 CPL A
55 0075 F5 8A MOV TL0,A
56 0077 74 FF MOV A,#FFH
57 0079 89 F0 MOV B,R1
58 007B A4 MUL AB
59 007C F4 CPL A
60 007D F5 8D MOV TH1,A
61 007F E5 F0 MOV A,B
62 0081 F4 CPL A
63 0082 F5 8B MOV TL1,A
64 0084 D2 8E SETB TR1
65 0086 32 RETI
66 0087 20 00 0B INT_T1:JB 20H.0,T1_2
67 008A 20 01 04 JB 20H.1,T1_1
68 008D D2 A1 SETB P2.1
69 008F 80 0D SJMP T1_4
70 0091 D2 A0 T1_1: SETB P2.0
71 0093 80 DA SJMP T0_4
72 0095 20 01 04 T1_2: JB 20H.1,T1_3
73 0098 D2 A5 SETB P2.5
74 009A 80 02 SJMP T1_4
75 009C D2 A4 T1_3: SETB P2.4
76 009E B2 01 T1_4: CPL 20H.1
77 00A0 D2 8C SETB TR0
78 00A2 32 RETI
79 00A3 A9 80 INT_1: MOV R1,P0
80 00A5 C2 92 CLR P1.2
81 00A7 32 RETI
82
Lines Assembled : 82 Assembly Errors : 0