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

📄 main.c

📁 数据采集系统的好参考资料,高精度的传感器采集系统
💻 C
📖 第 1 页 / 共 2 页
字号:
void ShowTime(void)
{
	unsigned int t=0;						//时分秒添加到成字符串
	Key=0;
	Scr_clr();Set_addr(2,2);
	while(Key==0)
	{
		Read_12887(DateBuf);				//读取时间信息
	
		ProcTime();							//将数值转换成字符串

		Set_addr(2,2);						//在液晶上显示
		Write_str("当前时间为");
		Set_addr(3,2);
		Write_str(Time);
		
		Key=ReadKey();
		delay1(5000);
	}
}
//------------------------------------------------------------------
//函数:void ShowDateBuf(void)
//功能:将读取的时间转换成字符串,在液晶中显示
//-------------------------------------------------------------------
void ShowDate(void)
{
	Key=0;								//年月日添加到成字符串
	Scr_clr();Set_addr(2,2);
	while(Key==0)
	{
		Read_12887(DateBuf);				//读取日期信息
	
		ProcDate();							//数值转换成字符串

		Set_addr(2,2);
		Write_str("当前日期为");
		Set_addr(3,1);						//字符串显示在液晶内
		Write_str(Date);

		Key=ReadKey();
		delay1(5000);
	}
}
//-------------------------------------------------------------------
//函数:void ShowTempBuf(void)
//功能:在18B20中读取温度并在液晶中显示
//-------------------------------------------------------------------
void ShowTemp(void)
{
	char *a;unsigned char buf;
	Key=0;
	Scr_clr();Set_addr(2,2);
	while(Key==0)							//等待按键返回上一级菜单
	{
		buf=Read_Temperature();				//读取温度
		a=itoa(buf);
		Temp[6]=a[0];Temp[7]=a[1];

		Set_addr(2,2);						//在液晶上显示
		Write_str("当前温度为");
		Set_addr(3,2);
		Write_str(Temp);
	
		Key=ReadKey();
		delay1(5000);
	}
}
//----------------------------------------------------------------
//函数:void ShowDis(void)
//功能:检测距离,并在液晶上显示
//----------------------------------------------------------------
void ShowDis(void)
{
	unsigned char i;
	Scr_clr();Set_addr(2,2);
	while(Key!=4)
	{
		DisBuf=Get_dis();
		Dis[11]=DisBuf%10+48;
		DisBuf/=10;
		Dis[10]=DisBuf%10+48;
		DisBuf/=10;
		Dis[9]=DisBuf%10+48;
	
		if(i++%5==0)						//降低刷新速度,使显示稳定
		{
			Set_addr(2,1);
			Write_str(Dis);
		}
		
		Key=ReadKey();
		delay1(5000);
	}
}
//----------------------------------------------------------------------------
//函数:void SetDate(void)
//功能:调整时间和日期,并在液晶上显示
//----------------------------------------------------------------------------
void SetDate(void)
{
	unsigned char id=0;
	Scr_clr();Set_addr(2,3);
	while(Key!=4)						//如果确定或取消键按下,则返回
	{
		Key=ReadKey();
		switch(Key)
		{
			case 2:								//切换键,选择一位时间日期			
				if(id++==5) id=0;
			break;
			case 3:								//调整键,改变选择的时间日期
				if(id==0) 	if(DateBuf[0]++==9)  DateBuf[0]=0;//年
				if(id==1)	if(DateBuf[1]++==11) DateBuf[1]=0;//月
				if(id==2)	if(DateBuf[2]++==30) DateBuf[2]=0;//日
				if(id==3)	if(DateBuf[3]++==23) DateBuf[6]=0;//时
				if(id==4)	if(DateBuf[4]++==59) DateBuf[4]=0;//分
				if(id==5) 	if(DateBuf[5]++==59) DateBuf[5]=0;//秒
			break;
			default:
			break;
		}
		
		ProcTime();							//时间字符串处理
		ProcDate();							//日期字符串处理

		Set_addr(2,1);						//在液晶上显示
		Write_str(Date);
		Set_addr(3,2);
		Write_str(Time);

		if(id<3)							//移动光标
			Set_addr(2,(DateTbl[id]/2+1));
		else
			Set_addr(3,(DateTbl[id]/2+2));
		
		Open_cur();
		delay1(5000);
	}
	Close_cur();							//关闭光标
	Write_12887(DateBuf);
}
//-----------------------------------------------------------------------------
//函数:void SetClk(void)
//功能:设置闹铃时间
//-----------------------------------------------------------------------------
void SetClk(void)
{
	unsigned char id=0;
	Scr_clr();Set_addr(2,3);
	while(Key!=4)						//如果确定或取消键按下,则返回
	{
		Key=ReadKey();
		switch(Key)
		{
			case 2:								//切换键,选择一位时间		
				if(id++==3) id=0;
			break;
			case 3:
				if(id==0)	if(AlarmBuf[0]++==23) AlarmBuf[0]=0;
				if(id==1)   if(AlarmBuf[1]++==59) AlarmBuf[1]=0;
				if(id==2)   if(AlarmBuf[2]++==59) AlarmBuf[2]=0;
				if(id==3)   AlarmFlag=!AlarmFlag;
			break;
			default:
			break;
		}
		ProcAlarm();
		Set_addr(1,1);						//显示定时界面
		Write_str("定时时间:");
		Set_addr(2,1);
		Write_str(Time);
		Set_addr(3,1);
		Write_str("闹铃:");
		Set_addr(3,4);
		if(AlarmFlag)	Write_str("开");
		else			Write_str("关");
		
		if(id<3)							//移动光标
			Set_addr(2,DateTbl[id]/2);
		else
			Set_addr(3,4);
			
		Open_cur();
		delay1(5000);
	}
	Close_cur();
}
//--------------------------------------------------------------------------------------------------------
char code chuang[]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0x18,0x00,0x60,0x00,0x18,0x00,0x60,0x00,0x38,0x00,0x60,0x00,0x38,0x00,0x60,
0x00,0x6E,0x00,0x60,0x00,0x67,0x98,0x60,0x00,0xC3,0x8C,0x60,0x01,0x80,0xCC,0x60,0x01,0x80,0x0C,0x20,0x03,0x00,0x0C,0x20,0x06,0x0C,0x0C,0x20,0x0F,0xFE,0x0C,0x20,
0x19,0x06,0x0C,0x20,0x21,0x06,0x0C,0x20,0x41,0x04,0x0C,0x20,0x01,0x04,0x0C,0x20,0x01,0x1C,0x0C,0x20,0x01,0x0C,0x00,0x20,0x01,0x88,0x80,0x20,0x01,0x80,0x80,0x20,
0x01,0x80,0xC0,0x20,0x00,0xE1,0xC0,0x60,0x00,0x7F,0xC4,0x60,0x00,0x0C,0x03,0xE0,0x00,0x00,0x01,0xE0,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00};/*"创",0*/
char code xin[]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x18,0x01,0x00,0x00,0x08,0x01,0xC0,0x00,0x06,0x03,0xC0,0x00,0xFE,0x07,0x00,
0x07,0xCC,0x78,0x00,0x00,0x0C,0x60,0x00,0x01,0x08,0x20,0x00,0x00,0x98,0x20,0x00,0x00,0x9F,0x20,0xF8,0x00,0xFC,0x3F,0xF0,0x7F,0xE0,0x23,0x00,0x70,0x20,0x63,0x00,
0x00,0x2E,0x63,0x00,0x03,0xF8,0x63,0x00,0x1E,0x20,0x63,0x00,0x00,0x30,0x43,0x00,0x04,0x2C,0xC3,0x00,0x04,0x24,0xC3,0x00,0x0C,0x20,0x83,0x00,0x18,0x21,0x81,0x00,
0x18,0xE3,0x01,0x00,0x00,0xE2,0x01,0x00,0x00,0x64,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00};/*"新",0*/
char code zhong[]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x03,0x80,0x00,0x00,0x03,0x80,0x00,0x00,0x03,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x03,0x00,0x00,
0x00,0x03,0x03,0x00,0x00,0x03,0xFF,0xC0,0x07,0xFF,0x81,0xE0,0x03,0x03,0x01,0x80,0x03,0x03,0x01,0x80,0x03,0x03,0x03,0x00,0x01,0x03,0x03,0x00,0x01,0x03,0x03,0x00,
0x01,0x03,0xFF,0x00,0x01,0xFF,0xFE,0x00,0x01,0xC3,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x01,0x00,0x00,
0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00};/*"中",0*/
char code xin1[]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x0C,0x00,0x00,0x00,0x07,0x01,0x80,0x00,0x03,0x80,0xF0,0x00,0x03,0x80,0x78,0x00,0x01,0x80,0x38,0x00,0x00,0x00,0x18,0x04,0x40,0x00,0x00,0x0C,0x40,0x00,0x00,
0x0C,0x20,0x04,0x00,0x0C,0x30,0x02,0x00,0x1C,0x10,0x03,0x00,0x1C,0x18,0x01,0x80,0x18,0x0E,0x01,0xC0,0x00,0x07,0x81,0xE0,0x00,0x03,0xFF,0xE0,0x00,0x00,0xFF,0xC0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};/*"心",0*/
void DrawBo(unsigned char x,unsigned char y,unsigned char *ad)
{
	unsigned char k,j;
	for(k=0;k<32;k++) 
	{
		for(j=0;j<2;j++)
			Draw_grap(2*x+j,y*16+k,ad[4*k+2*j],ad[4*k+2*j+1]);
	}
    Open_grap();
}
//-------------------------------------------------------------
//函数:void FstGrap(void)
//功能:显示开机画面
//-------------------------------------------------------------
void FstGrap(void)
{
	Clr_grap();						//清除图象缓冲区
	
	Set_addr(3,2);					//显示32X32的点阵字创新中心
	Write_str("测距电子日历");
	
	DrawBo(0,0,chuang);
	DrawBo(1,0,xin);
	DrawBo(2,0,zhong);
	DrawBo(3,0,xin1);
}

⌨️ 快捷键说明

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