Solicitud de programa de diseño y dibujos de diseño del curso de microcontroladores
//Oscilador de cristal de 12M.
Tubo digital de 4 dígitos, código de segmento P0, control de bits P2.1~P2.3
//Pantalla 00.0~99.9
//2011 12 12 E:\ DPJ_C \00.00\00.0.c
#include lt;reg51.hgt;
#define uchar unsigned char
//sbit P20=P2^0; /p>
bit P21=P2^1;
bit P22=P2^2;
bit P23=P2^3
bit P07; =P0^7;
sbit KS=P1^0; //Inicio
sbit KR=P1^1; //Restablecer
hora de uchar, xs , ge, shi, bai, qian;
pestaña de código uchar[ ]= {
0x3F, /*0*/
0x06, /*1 * /
0x5B, /*2*/
0x4F, /*3*/
0x66, /*4*/
0x6D, /*5*/
0x7D, /*6*/
0x07, /*7*/
0x7F, /*8*/
0x6F, /*9*/
};
void delay_ms(unsigned int ms) //1ms de retraso
{ p>
uchar a;
while(ms--)
for(a=123;agt;0;a--);
}
void display();
void T0intinit( ) //Inicialización del temporizador T0
{
TMOD=0x01 ; p>
TH0=(65536-10000)/256; //temporización de 10 ms
TL0=(65536-10000)256;
EA=1;
ET0=1;
}
void main()
{
T0intinit( );
p>
while(1)
{
display(
while(!KS) // Tecla de inicio
{
mostrar(
si(KS)
TR0=1; p> while(!KR) //Borrar tecla
{
display( );
if(KR)
TR0= 0 ;
qian=0;
bai=0;
shi=0;
}
si(bai==10)
{
bai=0;
qian
}
si(qian==10)
{
qian=0;
TR0=0
}
}
}
visualización nula()
{
P23=0;
P0=tab[shi]; 1);
P23=1;
P22=0;
P0=tab[bai];
delay_ms(1);
P22=1;
P21=0;
P0=tab[qian];
p>p>
delay_ms(1);
P21=1;
//P20=0;
P0=tab[ qian];
p>
delay_ms(1);
//P20=1
}
void T0int; ( ) interrupción 1 // Temporizador T0 interrupción Método 1
{
TH0=(65536-10000)/256 //Reinstalar la constante de temporización de 10 ms
TL0=(65536-10000)256;
ge
if(ge==10)
{
ge=0 ;
shi ;
}
si(shi==10)
{
shi=0 ;
bai ;
}
}