UNIVERSIDAD TECNOLOGICA DE SANTIAGO
UTESA
ASIGNATURA
Microprocesador II
TEMA
Tarea segundo parcial
PRESENTADO POR:
SCHNEIDER FERJUSTE
MATRICULA:
1-17-2646
PROFESOR:
ING. RAUL TORIBIO
SANTIAGO DE LOS CABALLEROS,
REPUBLICA DOMINICANA
Diseñe un programa que genera una onda cuadrada en P0.0 de Fosc = 50khz.
Buscamos el periodo de onda:
T(on + off) = 1/50khz = 20uS
Ton/Toff = 20uS/2 = 10uS
Al aplicar la regla de tres para buscar el número de ciclo, tenemos:
X = (10uS * 1 c.m)/1uS = 10 [Link]
Modo 0: TH0.TL0 = 2X.2X
TL0 = 32 – 10 = 22
#include <REG51.H>
sbit led = P0^0;
void main(void)
{
TMOD = 0x00;
TCON = 0X00;
while(1)
{
TH0 = 255;
TL0 = 255;
TR0 = 1;
while(TF0 != 1);
TF0 = 0;
TR0 = 0;
led =~led; }
}
MODO 1:
#include <REG51.H>
sbit led = P0^0;
void main(void)
{
TMOD = 0x01;
TCON = 0X00;
while(1)
{
TH0 = 1;
TL0 = 0;
TR0 = 1;
while(TF0 != 1);
TF0 = 0;
TR0 = 0;
led =~led; }
}
MODO 2:
#include <REG51.H>
sbit led = P0^0;
void main(void)
{
TMOD = 0x00;
TCON = 0X00;
while(1)
{
TH0 = 255;
TL0 = 254;
TR0 = 1;
while(TF0 != 1);
TF0 = 0;
TR0 = 0;
led =~led; }
}
Diseñe un programa (Timer1) que genere un delay de 0.5seg (LED ON/OFF)
Buscamos el periodo de onda:
T(on + off) = 0.5s
Ton/Toff = 0.5s/2 = 0.25s
Al aplicar la regla de tres para buscar el número de ciclo, tenemos:
X = (0.25s * 1 c.m)/1s = 0.25 [Link]
Modo 0: TH0.TL0 = 2X.2X
TL0 = 32 – 0.25 = 31.75
#include <REG51.H>
sbit led = P0^0;
void main(void)
{
TMOD = 0x00;
TCON = 0X00;
while(1)
{
TH0 = 255;
TL0 = 255;
TR0 = 1;
while(TF0 != 1);
TF0 = 0;
TR0 = 0;
led =~led; }
}
MODO 1:
#include <REG51.H>
sbit led = P0^0;
void main(void)
{
TMOD = 0x01;
TCON = 0X00;
while(1)
{
TH0 = 1;
TL0 = 0;
TR0 = 1;
while(TF0 != 1);
TF0 = 0;
TR0 = 0;
led =~led; }
}
MODO 2:
#include <REG51.H>
sbit led = P0^0;
void main(void)
{
TMOD = 0x00;
TCON = 0X00;
while(1)
{
TH0 = 255;
TL0 = 254;
TR0 = 1;
while(TF0 != 1);
TF0 = 0;
TR0 = 0;
led =~led; }
}