Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3 / Laba_3.docx
Скачиваний:
0
Добавлен:
21.03.2026
Размер:
29.96 Кб
Скачать

Программа для создания амплитудно-манипулированного сигнала с соотношением уровней амплитуд огибающей сигнала 1:2.

ORG

4000H

MOV

DPTR,#TABSIN

MOV

20H,#0

N:

MOV

C,P3.2

CALL

SIN

MOV

C,P3.3

CALL

SIN

MOV

C,P3.4

CALL

SIN

MOV

C,P3.5

CALL

SIN

JMP

N

SIN:

JC

SIN1

Подпрограмма SIN, если флаг переноса равен 1, то переход на SINA (амплитуда в нём больше)

M:

CLR

A

MOVC

A,@A+DPTR

MOV

B,#2

Запись в B константы 2

DIV

AB

Деление содержимого АСС на 2

MOV

P1,A

INC

DPL

DJNZ

20H,M

RET

SINA:

CLR

A

L:

MOVC

A,@A+DPTR

MOV

P1,A

INC

DPL

DJNZ

20H,L

RET

END

Программа с вызовом подпрограммы для создания сигнала с линейно-частотной модуляцией.

ORG

4000H

MOV

30H,#3

Запись в ячейку 30Н константы 3 (коэффициент изменения частоты)

N:

CALL

LFM

JMP

N

END

LFM:

MOV

DPTR,#TABSIN

Подпрограмма LFM, запись в DPTR адреса TABSIN

MOV

R7,#1

Запись в регистр R7 константы 1

MOV

R6,#255

Запись в регистр R6 константы 255

K:

CLR

A

Метка К, очистка содержимого АСС

MOVC

A,@A+DPTR

Запись в АСС содержимого ячейки A+DPTR+C

MOV

P1,A

Запись АСС в порт Р1

MOV

A,DPL

Запись в АCC содержимого DPL

ADD

A,R7

Суммирование АСС и регистра R7

MOV

DPL,A

Запись в DPL содержимого АСС

DJNZ

R6,K

Декремент содержимого регистра R6, если он не равен 0, переход на метку K

MOV

A,R7

Запись в АСС регистра R7

ADD

A,R7

Суммирование АСС и регистра R7

MOV

R7,A

Запись в регистр R7 содержимого АСС

MOV

A,#255

Запись в АСС константы 255

MOV

B,R7

Запись в В регистра R7

DIV

AB

Деление А на В

MOV

R6,A

Запись в R6 содержимого А

DJNZ

30H,K

Декремент содержимого ячейки 30H, если он не равен 0, переход на метку K

RET

Конец подпрограммы

Соседние файлы в папке 3