Организация ЭВМ. Довгий П.С - 33 стр.

UptoLike

33
TR0=1 //разрешение счета
EA=1; //разрешение прерываний
while(1); //ожидание прерываний
}
2. Измерение длительнoсти интервала на вхoде INT0 пo Gate0
intt0() interrupt 0
{
P2=TH0;
P3=TL0;
TL0=0; TH0=0;
}
main()
{ TMOD=09; //режим 16-бит счетчик Tm0, Gate0
TR0=1 //разрешение счета
while(1); //ожидание прерываний
}
Задание 1.
Часы.
Таймеры по переполнению через постоянный интервал времени
вызывают прерывания. Счетчик событий используется для расчета текущего
времени с
учетом длительности интервала в десятичной системе в секундах и
минутах в портах P1,P2. Точность измерения не менее 0.1 сек на интервале 1
минута.
#include <reg51.h>
unsigned int code tt=0x10000-50000; //-50000 константа пересчета == 1/20 сек
unsigned char th,tl;
unsigned char sec,min;
unsigned char count=0;
intt0() interrupt 1 //счетчик
{
TL0=tl; //загрузить константу пересчета
TH0=th;
count++; счетчик переполнений
if(count==20) {sec++;count=0;}