数显1.c

来自「C8051F020串口与计算机通信的编程」· C语言 代码 · 共 46 行

C
46
字号
#include<reg51.h>
#define uchar unsigned char 

float a,a0;
uchar i,j;

void delay();
void delay1();
void display(int t);

uchar code p[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
uchar code wei[]={0xC0,0xf9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x98,0xFF};


void main()
{	
	while(1)
	{	a=40.87;
		a0=a*10;
		display(a0);
	}
}
void display(int temp)
{	
	uchar dis[4];
	temp=a0;
	dis[0]=temp/1000;
	dis[1]=(temp-dis[0]*1000)/100;
	dis[2]=(temp-dis[0]*1000-dis[1]*100)/10;
	dis[3]=temp%10;
	for(i=0;i<3;i++)
	{	P0=p[i];
		j=3-i;
		if(j==2) P1=wei[dis[j]]&0x7F;
		else P1=wei[dis[j]];
		delay();
	}
	delay();
}
void delay(void) 
{ 
  unsigned char m,s; 
  for(m=20;m>0;m--) 
  for(s=150;s>0;s--); 
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?