Разработка микропроцессорной системы для управления абстрактным объектом, состояние которого характеризуется несколькими бинарными и аналоговыми сигналами, страница 6


5 Расчет быстродействия программы

        В качестве тактового резонатора используется кварц на 12МГц. Один машинный цикл длится 12 периодов тактового резонатора. Большинство команд ВЕ51 выполняется за 1 машинный цикл. Команды сложения и вычитания – за 2 машинных цикла. Команды сдвига – 4 машинных цикла. Будем вести расчет исходя из наискорейшего выполнения программы (во время ее работы нет запросов на прерывание). Время выполнения машинного цикла рассчитано ниже:

Подсчитав время выполнения всей программы (с учетом выполнения подпрограммы MULT) получили результат: 0.263552 с.


Заключение

В данном курсовом проекте разработана микропроцессорная система управления ответственным объектом, на основе микроЭВМ К1816ВЕ51. Безопасность микропроцессорной системы была реализована по алгоритму дублирования с умеренными связями.

Примечание: т.к. целью курсового проекта является разработка безопасной микропроцессорной системы управления ответственным технологическим объектом, то в целях защиты от помех и электромагнитного излучения рекомендуется производить соединения плоскими шлейфами, увеличить количество обратных проводов, отказаться от общей сигнальной земли и гальванически разделить сильно и слаботочные цепи.


Список литературы

1.  Смоленчук В.С., Рязанцева Н.В. Технические средства микропроцессорных систем. Методические указания по курсовому проектированию.

2.  Щелкунов Н.Н., Дианов А.П. Микропроцессорные средства и системы.

3.  Бобрыкин В.Е. Однокристальные микроЭВМ. Справочник. Минск. 1994г.

4.  Богданович М.И. и др. Цифровые интегральные микросхемы: Справочник

5.  Якубовский В.П. Цифровые и аналоговые интегральные микросхемы: Справочник.

6.   Пакет справочных программ “Микрочип”.



Приложение В

Листинг программы

                .LINKLIST

                .SYMBOLS

                .PL     60

                .BLKB   100H

                .CHIP   8051

ONE         EQU     10010011B

ZERO       EQU     01101100B

                ORG     000H

                JMP     START             ;АДРЕС НАЧАЛА ПРОГИ

                ORG     03H

                JMP     PINT0             ;АДРЕС ОБРАБ-КА INT0

                ORG     13H

                JMP     PINT1             ;АДРЕС ОБРАБ-КА INT0

                ORG     50H

                ORG     100H

START:

                CALL    INIT              ; ИНИЦИАЛИЗАЦИЯ

BEGIN:

                MOV     A,10

                CALL    SETPORT

                MOV     A,P1             ; ПРОЧИТАТЬ X1,X2,X3,X4

                RRC     A

                JC      BIT0       ; ПЕРЕВЕСТИ X1 В РАВНОВЕСНЫЙ КОД

                MOV     R0,#ZERO

                SJMP    NBIT0

BIT0:

                MOV     R0,#ONE

NBIT0:

                RRC     A

                JC      BIT1       ; ПЕРЕВЕСТИ X2 В РАВНОВЕСНЫЙ КОД

                MOV     R1,#ZERO

                SJMP    NBIT1

BIT1:

                MOV     R1,#ONE

NBIT1:

                RRC     A

                JC      BIT2       ; ПЕРЕВЕСТИ X3 В РАВНОВЕСНЫЙ КОД

                MOV     R2,#ZERO

                SJMP    NBIT2

BIT2:

                MOV     R2,#ONE

NBIT2:

                RRC     A

                JC      BIT3       ; ПЕРЕВЕСТИ X4 В РАВНОВЕСНЫЙ КОД

                MOV     R3,#ZERO

                SJMP    NBIT3

BIT3:

                MOV     R3,#ONE

NBIT3:

                MOV     A,R1            ; ВЫЧИСЛИТЬ:

                CPL     A                    ;                    __   __    __

                ANL     A,R0            ;    Y1 = X1UX2VX3VX4

                MOV     R1,A

                MOV     A,R2

                CPL     A

                ORL     A,R1

                MOV     R1,A

                MOV     A,R3

                CPL     A

                ORL     A,R1

                MOV     R4,A

                MOV     R3,R6

                MOV     A,#10

                CALL    SETPORT

                ANL     R4,#3

                MOV     P0,R4          ; ВЫВЕСТИ Y1

                MOV     A,#6

                CALL    SETPORT

                JZ      Y_IS_0

                SETB    P0.3

                JMP     Y_IS_1

Y_IS_0:

                CLR     P0.3

Y_IS_1:

                MOV     A,#11

                CALL    SETPORT

                MOV     A,#0

                MOV     P0,A

                                       ; ПРОЧИТАТЬ V1