Скачиваний:
18
Добавлен:
09.05.2014
Размер:
32.77 Кб
Скачать

Лабораторная работа по Организации ЭВМ

Таймеры

Выполнили: студенты группы 2100

Митрофанов Александр

Пермяков Валерий

Программа часы.

Таймеры по переполнению вызывают прерывания – внутренние события. Счетчик событий используются для расчета текущего времени в сек и минутах в портах P1,P2

Реализация задачи на С

#include <reg51.h>

unsigned char t=0;

int_0() interrupt 3

{

t++;

TH1 = 0x3C;

TL1 = 0xAF + TL1;

}

main()

{

P3=0;

P1=0;

P0=0;

TMOD = 0x10;

TH1 = 0x3C;

TL1 = 0xAF;

ET1 = 1;

TR1 = 1;

EA = 1;

while(1)

{

if (t==20) {t=0; P1++;}

if (P1==60) {P1=0; P0++;}

};

}

Реализация задачи на ассемблере

iseg at 30h

Stack: ds 10

cseg at 0

ljmp start

cseg at 1Bh

ljmp ex00

cseg at 40h

start:

mov P1, #0

mov P2, #0

mov P3, #0

mov R1, #1

mov SP, #Stack-1

mov TMOD, #10h

mov TH1, #3Ch

mov TL1, #0AFh

setb EA

setb TR1

setb ET1

cikl:

mov A, R1

mov B, #20

subb A,B

jnz p_1

call calc0

p_1:

mov A, P1

mov B, #60

subb A,B

jnz p_2

call calc1

p_2:

jmp cikl

ex00:

push ACC

mov A, R1

inc A

mov R1, A

mov TH1, #3Ch

mov TL1, #0AFh

pop ACC

Reti

calc0:

mov A, P1

inc A

mov P1, A

mov R1, #1

ret

calc1:

mov A, P2

inc A

mov P2, A

mov P1, #0

ret

end

Соседние файлы в папке общий отчет