Для формирования таких интервалов требуется программируемый таймер, имеющий возможность изменять модуль счета от 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 ;
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.