Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo guardar y mostrar el valor del teclado matricial del microcontrolador

Cómo guardar y mostrar el valor del teclado matricial del microcontrolador

# incluir ltreg52.h gt

# incluir ltintrins.h gt

#Definir entero uint sin signo

#Definir carácter uchar sin signo

sbit dula=p2^6;

sbit wela=p2^7;

tabla de códigos uchar[]=

{

0x3f ,

0x06,

0x5b,

0x4f,

0x66,

0x6d,

p>

0x7d,

0x07,

0x7f,

0x6f,

0x77,

0x7c,

0x39,

0x5e,

0x79,

0x71,

};

Retraso_milisegundos no válidos(uint xms)

{

uint i,j;

for(I = xms; i gt0; i - )

for(j = 110; j gt0; j-

}

Pantalla vacía (número de uchar)

{

P0 = tabla [número];

dura = 1;

dura = 0

}

escaneo de clave nula()

{

temperatura de uchar, clave;

P3 = 0x Fe;

temp = P3 ;

Temperatura y humedad. = 0xf0

if(temp!=0xf0)

{

retraso _ ms(10);

temp = P3;

Temperatura y humedad. = 0xf0

if(temp!=P3)

{

temp = P3;

Interruptor (temperatura)

{

Caso 0xee:

clave = 0;

Rotura;

Caso 0xde:

clave = 1;

Romper;

Caso 0xbe:

clave = 2

Romper; >Caso 0x7e:

clave = 3;

Romper;

}

mientras(temp!=0xf0)

{

temp = P3;

Temperatura y humedad. = 0xf0

}

Pantalla(clave);

}

}

P3 = 0x FD;

temp=P3;

Temperatura y humedad. = 0xf0

if(temp!=0xf0)

{

retraso _ ms(10);

temp = P3;

Temperatura y humedad.

= 0xf0

if(temp!=P3)

{

temp = P3;

Interruptor (temperatura)

{

Caso 0xed:

clave = 4;

Roto;

Caso 0xdd:

clave = 5;

Descanso

Caso 0xbd:

descanso

; >Caso 0x7d:

clave = 7;

Pausa;

}

mientras(temp!=0xf0)

{

temp = P3;

Temperatura y humedad. = 0xf0

}

Pantalla(clave);

}

}

P3 = 0x FB;

temp=P3;

Temperatura y humedad. = 0xf0

if(temp!=0xf0)

{

retraso _ ms(10);

temp = P3;

Temperatura y humedad. = 0xf0

if(temp!=P3)

{

temp = P3;

Interruptor (temperatura)

{

Caso 0xeb:

clave = 8;

Rotura;

Caso 0xdb:

clave = 9;

Romper

Caso 0xbb:

clave = 10

Romper; >Caso 0x7b:

clave = 11;

Romper;

}

mientras(temp!=0xf0)

{

temp = P3;

Temperatura y humedad. = 0xf0

}

Pantalla(clave);

}

}

P3 = 0xf 7;

temp=P3;

Temperatura y humedad. = 0xf0

if(temp!=0xf0)

{

retraso _ ms(10);

temp = P3;

Temperatura y humedad. = 0xf0

if(temp!=P3)

{

temp = P3;

Interruptor (temperatura)

{

Caso 0xe7:

clave = 12;

Roto;

Caso 0xd7:

clave = 13;

Romper;

Caso 0xb7:

clave = 14; >Caso 0x77:

clave = 15;

Romper;

}

mientras(temp!=0xf0)

{

temp = P3;

Temperatura y humedad.

= 0xf0

}

Pantalla (tecla);

}

}

}

void main()

{

P0 = 0;

dura = 1

dura = 0; p>

P0 = 0xfe

wela = 1;

wela = 0;

mientras(1)

{

escaneo de teclas();

}

}