⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 leddeal.c

📁 16路巡检仪 该仪表采用c语言编写
💻 C
字号:
#include		"head.h"
#include		"AT89X52.H"

extern	uchar	Chose,VFport;
extern	uchar	xdata	LEDbuf[8];
extern	bit		automic;
extern	uchar	pp;
extern	int		xdata	xjtime;
uint	tming3;
uchar	code	xz[18]={O,one,two,three,fourt,five,six,Seven,eight,nine,as,0x40,DK,s,U,E,LK,R};//显示数字0--9,小数点
uchar	si[4];
uchar	VFport1=0;
float	xdata	PV[road]={0.0};
void		LEDdeal(uchar k)
{	
	uchar LEDbuf1[4];
		switch(k)
			{
				case	zcdisplay:
							if(automic==1)
								{	if(VFport1<15)
										VFport1++;
									else
										VFport1=0;
									automic=0;
									tming3=0;
								}
							else	if(tming3>=xjtime)
								{	if(VFport1<15)
										VFport1++;
									else
										VFport1=0;
									tming3=0;
								}
							floatToBCD(PV[VFport1], LEDbuf1);
							LEDbuf[0]=xz[LEDbuf1[0]];	
							LEDbuf[1]=xz[LEDbuf1[1]];
							LEDbuf[2]=xz[LEDbuf1[2]];
							LEDbuf[3]=xz[LEDbuf1[3]];
							if(pp==1)
								LEDbuf[2]&=0x7f;
							else if(pp==2)
								LEDbuf[1]&=0x7f;
							else if(pp==3)
								LEDbuf[0]&=0x7f;
							pp=0;
							Hex2Bcd((int)(VFport1+1),LEDbuf1);
							if((LEDbuf1[0]==0)&&(LEDbuf1[1]!=0))
								LEDbuf1[0]=12;
							else if((LEDbuf1[0]==0)&&(LEDbuf1[1]==0)&&(LEDbuf1[2]!=0))
								{LEDbuf1[0]=12;LEDbuf1[1]=12;}
							else	if((LEDbuf1[0]==0)&&(LEDbuf1[1]==0)&&(LEDbuf1[2]==0))
								{LEDbuf1[0]=12;LEDbuf1[1]=12;LEDbuf1[2]=12;}
							LEDbuf[4]=xz[LEDbuf1[0]];
							LEDbuf[5]=xz[LEDbuf1[1]];
							LEDbuf[6]=xz[LEDbuf1[2]];
							LEDbuf[7]=xz[LEDbuf1[3]];
				break;
				case	mimasetdisplay:
				case	syscsdisplay:
				case	fundisplay:
				case	teshucsdisplay:
				case	jianyandisplay:
							LEDbuf[4]=as;
							LEDbuf[5]=as;
							LEDbuf[6]=as;
							LEDbuf[7]=as;
				break;
				case	setdisplayst:
				case	setdisplaysp:
				case	syscs1:
				case	syscs2:
				case	syscs3:
				case	fun1:
				case	fun4:
				case	fun5:
				case	teshucs2:
				case	teshucs3:
				case	teshucs4:
				case	teshucs5:
				case	teshucs6:
				case	jianyan5:
				case	mimadisplay:
							if((si[0]==0)&&(si[1]!=0))
								si[0]=12;
							else if((si[0]==0)&&(si[1]==0)&&(si[2]!=0))
								{
									si[1]=12;
									si[0]=12;
								}
							else	if ((si[0]==0)&&(si[1]==0)&&(si[2]==0))
								{
									si[2]=12;
									si[0]=12;
									si[1]=12;
								}
							LEDbuf[4]=xz[si[0]];
							LEDbuf[5]=xz[si[1]];
							LEDbuf[6]=xz[si[2]];
							LEDbuf[7]=xz[si[3]];						
				break;
				case	syscs4:
				case	syscs5:
				case	fun2:
				case	fun3:
				case	teshucs1:
				case	jianyan2:
				case	jianyan3:
				case	jianyan1:
				case	jianyan4:
				case	jianyan6:
				case	jianyan7:
				case	jianyan8:
							LEDbuf[4]=xz[si[0]];
							LEDbuf[5]=xz[si[1]];
							LEDbuf[6]=xz[si[2]];
							LEDbuf[7]=xz[si[3]];
							if(pp==1)
								LEDbuf[6]&=0x7f;
							else if(pp==2)
								LEDbuf[5]&=0x7f;
							else if(pp==3)
								LEDbuf[4]&=0x7f;
				break;
				default:;
			}
		
		
}














⌨️ 快捷键说明

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