Контроллер имитатора поверхностного сигнала «Имитатор типа 2D-patt», страница 6

Для формирования таких интервалов требуется программируемый таймер, имеющий возможность изменять модуль счета от 300/Т0  до 73000/Т0 где Т0 — период счетной частоты таймера. Для данного вариант он равен 1/3 мкс, что соответствует частоте 3 МГц, тогда максимальный модуль сче­та, требуемый от таймера, равен 219000. Нужно использовать ln(219000)/ln(256) = 2.22 = > 3 микросхемы.

Таблица 6. Коды программирования ТВП

Временной интервал, мкс

Модуль счета

Дополнительный код

модуля счета

300

000384

FFFC7C

700

000834

FFF7CC

16000

00BB80

FF4480

72 700

0353F4

FCAC0C

72 600

0352C8

FCAD38

72 500

03519C

FCAE64

72 400

035070

FCAF90

72 300

034F44

FCB0BC

72 200

034E18

FCB1E8

72 100

034CEC

FCB314

72 000

034BC0

FCB440

Раздел III

Программа

; по заданию мы должный спроектировать контроллер типа 2D-patt,

; следовательно, необходимо составить таблицы временного паттерна.

; В программном обеспечении  должен детально прописан блок, ориентированный

; на поддержку формирования временного паттерна характерного для данного

; типа контроллера

; инициализация памяти

RAM     EQU     0800H

ROM     EQU     0000H

LEN_RAM EQU     0100H                    ;для RAM 8155

; инициализация стека

STACKSIZE       EQU     20H

DEFSEG  STACK,CLASS=DATA,START=RAM+LEN_RAM-STACKSIZE

SEG   STACK

STACKR: DS    STACKSIZE

STPOINT EQU   $

; инициализация портов ввода-вывода 8156

DEFSEG      IOSPACE1, START=10h, CLASS=IOSPACE

SEG         IOSPACE1

CW8156      DS      1                     ; режим работы (status word)

PA8156      DS      1                     ; порт А 8156

PB8156      DS      1                     ; порт В 8156

PC8156      DS      1                     ; порт C 8156

; инициализация портов ввода-вывода 8155

DEFSEG      IOSPACE2, START=08h, CLASS=IOSPACE

SEG         IOSPACE2

CW8155      DS      1                     ; режим работы (status word)

PA8155      DS      1                     ; порт А 8155

PB8155      DS      1                     ; порт В 8155

PC8155      DS      1                     ; порт C 8155

TL8155      DS      1                     ; младший байт счетчика  8155

TH8155      DS      1                     ; старший байт счетчика 8155

; инициализация портов ввода-вывода 8755

DEFSEG      IOSPACE3, START=0h, CLASS=IOSPACE

SEG         IOSPACE3

RGA         DS      1                     ; порт A 8755

RGB         DS      1                     ; порт B 8755

DDRA        DS      1                     ; конфигурирование порта А

DDRB        DS      1                     ; конфигурирование порта В

DEFSEG DATA2, CLASS=DATA, START=RAM

SEG         DATA2

; сегмент пользовательских данных

POINT0      DS    2     ; указатель начала выбранной таблицы

POINT       DS    2     ; указатель внутри выбранной таблицы    

DEFSEG      TABL_PATT, CLASS=CODE

SEG         TABL_PATT

; сегмент таблиц паттернов для j=0,1,2…,7

; все таблицы описаны в разработке программного обеспечения (МУ, стр.54)

TABL0:         

TABL1:

TABL2:

TABL3:

TABL4:

TABL5:

TABL6:

TABL_TABL:

; таблица адресов расположения таблиц паттернов для всех j

DW        TABL0

DW        TABL1

DW        TABL2

DW        TABL3

DW        TABL4

DW        TABL5

DW        TABL6

DEFSEG      RST75SEG, START=3Ch, CLASS=CODE

SEG         RST75SEG

JMP   RST75_PROG

DEFSEG      RST65SEG, START=34h, CLASS=CODE

SEG         RST65SEG

JMP   RST65_PROG

DEFSEG      RST55SEG, START=2Ch, CLASS=CODE

SEG         RST55SEG

JMP   RST55_PROG

; главная программа

      DEFSEG      BEGIN, START=00h, CLASS=CODE

      SEG         BEGIN

PROG:

      LXI   SP,STPOINT

      LXI   H, 0              ; основная частота

; инициализация БИС 8156

MVI   A, 00011 1001b    ; таймер включен, режим приема пакетов (ALT4) 

OUT   CW8156            ;

MVI   A, 3Eh           

OUT   TH8155            ; старший байт счетчика

MVI   A, 80h

OUT   TL8155            ; младший байт счетчика

; инициализация БИС 8155

MVI   A, 11001111b      ; таймер включен, все порты на выход (ALT2)   

OUT   CW8155            ;