Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задание N 12.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
125.95 Кб
Скачать

5. Содержание отчета

  • Задание по лабораторной работе;

  • Текст программы с комментариями;

  1. Пример выполнения задания.

Пример 1.

Пусть источником событий является внешний вход INT0, число событий N=6. Параметры импульса: t=500; T=1500. Текст программы с необходимыми комментариями приведен ниже.

org 0

jmp start; переход на начало программы

org 3h; вектор прерывания по входу INT0

inc r1; еще одно внешнее событие

cjne r1,#6,out; если не все события то выйти из прерывания

clr ea; все события, запрет прерываний по событию

out:

reti; выход из прерывания

org 40h

; начало программы

start:

mov r1,#0; начальное значение событий

mov tcon,#00000001b; прернывание INT0 по срезу

mov ie,#10000001b; разрешить прерывание INT0

; формирование импульса

cycle:

setb p1.0

mov r2,#250; t=2*r2

djnz r2,$

clr p1.0

mov r3,#5

m1: mov r4,#100; T-t=2*r3*r4

djnz r4,$

djnz r3,m1

jmp cycle; следующий импульс

end

Пример 2.

Пусть источником событий является внешний вход ТС0, число событий N=9. Параметры импульса: t=800; T=1000. Текст программы с необходимыми комментариями приведен ниже.

org 0

jmp start; переход на начало программы

org 0Bh; вектор прерывания от ТС0

clr tr0; остановить таймер/счетчик ТС0

clr eа; все события , запретить прерывания

out: reti; возврат из прерывания

; начало программы

org 40h

start:

mov tmod,#00000110b; ТС0 как счетчик событий в режиме 2

mov tl0,#247; начальное значение (256-9)

mov ie,#10000010b; разрешить прерывания ТС0

setb tr0; разрешить работу ТС0

; формирование импульсов

cycle:

setb p1.0

mov r2,#4

m: mov r3,#100; t=2*r2*r3

djnz r3,$

djnz r2,m

clr p1.0

mov r4,#100; T-t=2*r4

djnz r4,$

jmp cycle

end

4

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]