El programa de visualización de actualización dinámica del tubo digital 51 MCU se empaqueta como una función, y la llamada a la función principal se incrementa de 00000001 a 1 y se muestra a 99999999

Escribir el programa de visualización de la pantalla de tubo digital de un solo chip 51 es el proceso de aprendizaje más básico, y no es difícil. Se ha escrito muchas veces antes. Esta vez el maestro pidió encapsular el programa de función de visualización y llamarlo con la función principal. Entonces habrá un problema. Es decir, la visualización dinámica del tubo digital requiere un escaneo dinámico rápido, pero no desea que la función principal lo envíe lo más rápido posible. Por supuesto, se puede resolver mediante interrupciones, pero el profesor no permite el uso de interrupciones (porque no hemos aprendido sobre las interrupciones).
Al principio, había estado depurando la función de retraso. Creí ingenuamente que mientras continuara depurando, podría tener éxito, pero luego pensé que esto no era realista, y debo pensar en otra forma.
Por lo tanto, se puede usar un bucle for para enviar continuamente repetidamente. Jajajaja

  for(num=1;num<100000000;num++)
	{
	    for(i=0;i<=50;i++)//在不影响动态扫描的情况下重复发送
		{
			display(num);
		}
		  delay(5);
	}`

No sé si se ha encontrado con ese problema y cómo resolverlo. El siguiente es el código completo.

#include<reg52.h>
#include<intrins.h>
#define uint  unsigned int 
#define ulong  unsigned long
#define uchar  unsigned char
sbit we=P2^7;
sbit du=P2^6;
uchar ledtable[]= {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F,};
void delay(uint z)
{
	uint x,y;
	for(x = z; x > 0; x--)
		for(y = 114; y > 0 ; y--);
}

void display(ulong number)
{
	int i=0;
	while(number)
	{	
    P0=_cror_(0X7F,i);
		we=1;
		we=0;
		
		P0=ledtable[number%10];
		du=1;
		du=0;
		
		delay(5);

		P0=0x0;
		du=1;
		du=0;
		
		number=number/10;
		i++;
		if(i==8)  i=0;
	}

}

void main()
{
	ulong num;
	int i;
	for(num=1;num<100000000;num++)
	{
	    for(i=0;i<=50;i++)
		{
			display(num);
		}
		  delay(5);
	}
		

}

Publicado 9 artículos originales · ganó 7 · visitado 1767

Supongo que te gusta

Origin blog.csdn.net/weixin_44906810/article/details/102768587
Recomendado
Clasificación