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

📄 lcd1.c

📁 使用c51单片机制作的气象五要素采集程序 包括DS1302温度以及TLC2543、24c04
💻 C
📖 第 1 页 / 共 4 页
字号:
        xian(36,16,39,16);
        xian(36,28,39,28);
        Display_Battery(19,35,n);
}

void display_page1(void)
{
        uchar idata i;
        xian(7,50,7,127);
        xian(33,50,33,127);
        xian(8,50,34,50);
        xian(8,127,34,127);
        xian(8,106,34,106);
        for(i=0;i<4;i++)//瀚正科技
        Displayz11(54,9+i*6,i);
        for(i=0;i<8;i++)//Handsome
        Displayz111(110,11+i,i);
        for(i=0;i<2;i++)//Te
        Displayz111(110,21+i,8-i);
        for(i=0;i<2;i++)//ch
        Displayz111(110,23+i,9+i);
        for(i=0;i<2;i++)//no
        Displayz111(110,25+i,2+i*3);
        for(i=0;i<2;i++)//lo
        Displayz111(110,27+i,11-i*6);
        for(i=0;i<2;i++)//gy
        Displayz111(110,29+i,12+i);
        Displayz111(138,15,0);//H
        for(i=0;i<7;i++)//SPLM-06
        Displayz111(138,16+i,14+i);
        Displayz111(138,23,19);//0
        for(i=0;i<2;i++)//2A
        Displayz111(138,24+i,21+i);
        xian(1,166,41,166);
        xian(1,198,41,198);
        for(i=0;i<11;i++)//高压电力线防盗监测终端
        Displayz1(170,4+i*3,i);
}

void clock(void)
{
        uchar idata i;
        for(i=0;i<3;i++) //年月日
        Displayz(14,10+i*6,38+i);
        Displayz(14,2,2);//2
        Displayz(14,4,0);//0
        Displayz(14,29,80); //:
        //在时钟里取的时间(变动的)
        Displayz(14,6,curtime1[6]/10);//年
        Displayz(14,8,curtime1[6]%10);
        Displayz(14,12,curtime1[4]/10);//月
        Displayz(14,14,curtime1[4]%10);
        Displayz(14,18,curtime1[3]/10);//日
        Displayz(14,20,curtime1[3]%10);
        Displayz(14,25,curtime1[2]/10);//时
        Displayz(14,27,curtime1[2]%10);
        Displayz(14,31,curtime1[1]/10); //分
        Displayz(14,33,curtime1[1]%10);
}

void display_page2(void)
{
        uchar idata i;
        biankuang();
        for(i=0;i<2;i++) //菜单
        Displayz1(46,16+i*6,11+i);
        for(i=0;i<6;i++) //系统时间设置
        Displayz(94,14+i*2,10+i);
        for(i=0;i<3;i++)//1 2 3
        Displayz(94+i*40,10,88+i);
        for(i=0;i<4;i++)//日常维护
        Displayz(134,14+i*2,16+i);
        for(i=0;i<2;i++)//设置
        Displayz(134,22+i*2,14+i);
        for(i=0;i<6;i++)//报警记录查询查询
        Displayz(174,14+i*2,20+i);
        clock();
}

void display_page3(uchar n)
{
        uchar idata i;
        biankuang();
        if(n==1)
        {
                 for(i=0;i<2;i++) //提示
                 Displayz1(46,20+i*3,15+i);
                 //在时钟里读出来的(变动)并存在24c卡里
                 Displayz(156,21,curtime1[6]/10);//年
                 Displayz(156,23,curtime1[6]%10);
                 Displayz(156,27,curtime1[4]/10);//月
                 Displayz(156,29,curtime1[4]%10);
                 Displayz(156,33,curtime1[3]/10);//日
                 Displayz(156,35,curtime1[3]%10);
                 Displayz(180,21,curtime1[2]/10);//时
                 Displayz(180,23,curtime1[2]%10);
                 Displayz(180,27,curtime1[1]/10);//分
                 Displayz(180,29,curtime1[1]%10);
                 Displayz(204,17,37);//未
                 for(i=0;i<2;i++) //处理
                 Displayz(204,19+i*2,33+i);
        }
        if(n==2)
        {
                for(i=0;i<2;i++) //查询
                 Displayz1(46,20+i*3,17+i);
        }
        for(i=0;i<2;i++) //报警
        Displayz1(46,14+i*3,13+i);
        for(i=0;i<2;i++) //编号
        Displayz(84,5+i*2,26+i);
        for(i=0;i<2;i++) //:
        Displayz(84+i*24,9,80);
        for(i=0;i<2;i++) //地址
        Displayz(108,5+i*2,28+i);
        for(i=0;i<2;i++) //报警
        Displayz(132,5+i*2,20+i);
        for(i=0;i<2;i++) //类型
        Displayz(132,9+i*2,30+i);
        for(i=0;i<4;i++)
        Displayz(132+i*24,13,80);//:
        for(i=0;i<2;i++) //报警
        Displayz(156,5+i*2,20+i);
        for(i=0;i<2;i++) //日期
        Displayz(156,9+i*2,16+i*16);
        for(i=0;i<3;i++)//年月日
        Displayz(156,25+i*6,38+i);
        Displayz(156,17,2);//2
        Displayz(156,19,0); //0
        for(i=0;i<2;i++) //报警
        Displayz(180,5+i*2,20+i);
        for(i=0;i<2;i++) //时间
        Displayz(180,9+i*2,12+i);
        for(i=0;i<2;i++)//时分
        Displayz(180,25+i*6,12+i*29);
        for(i=0;i<4;i++) //处理情况
        Displayz(204,5+i*2,33+i);
        clock();
}

void display_page4(void)
{
        uchar idata i;
        biankuang();
        for(i=0;i<6;i++) //系统时间设置
        Displayz1(46,12+i*3,19+i);
        for(i=0;i<2;i++)//系统
        Displayz(114,5+i*2,10+i);
        for(i=0;i<2;i++)//日期
        Displayz(114,9+i*2,16+i*16);
        for(i=0;i<3;i++)//年月日
        Displayz(114,24+i*6,38+i);
        Displayz(114,16,2);//2
        Displayz(114,18,0); //0
        for(i=0;i<2;i++)//:
        Displayz(114+i*50,13,80);
        for(i=0;i<4;i++)//系统时间
        Displayz(164,5+i*2,10+i);
        for(i=0;i<2;i++)//时分
        Displayz(164,24+i*6,12+i*29);
        clock();
        //键盘输入的(变动的)
        Displayz(114,20,92);
}

void display_page5(void)
{
        uchar idata i,j;
        biankuang();
        for(i=0;i<4;i++) //日常维护
        Displayz1(46,12+i*3,25+i);
        for(i=0;i<2;i++) //设置
        Displayz1(46,24+i*3,23+i);
        for(j=0;j<2;j++)
        {
                for(i=0;i<2;i++) //维护
                Displayz(80+j*60,5+i*2,18+i);
        }
        for(i=0;i<2;i++) //起始
        Displayz(80,9+i*2,43+i);
        for(j=0;j<2;j++)
        {
                for(i=0;i<2;i++)//日期
                Displayz(80+j*60,13+i*2,16+i*16);
                Displayz(80+j*60,17,47);//及
                for(i=0;i<2;i++) //时间
                Displayz(80+j*60,19+i*2,12+i);
        }
        for(i=0;i<2;i++) //起始
        Displayz(140,9+i*2,43+i);
        for(i=0;i<2;i++)
        Displayz(80+i*60,23,80);  //:
        for(j=0;j<2;j++)
        {
                Displayz(100+j*60,9,2);//2
                Displayz(100+j*60,11,0); //0
                for(i=0;i<3;i++)//年月日
                Displayz(100+j*60,17+i*6,38+i);
                for(i=0;i<2;i++)//时分
                Displayz(120+j*60,17+i*6,12+i*29);
        }
        Displayz(200,5,69);
        Displayz(200,7,27);
        Displayz(200,9,80);
        clock();
        Displayz(100,13,92);
}

void display_page6(void)
{
        uchar idata i;
        biankuang();
        for(i=0;i<2;i++) //报警
        Displayz1(46,12+i*3,13+i);
        for(i=0;i<4;i++) //信息处理
        Displayz1(46,18+i*3,29+i);
        for(i=0;i<2;i++) //注意
        Displayz(104,5+i*2,48+i);
        Displayz(104,9,80);//:
        for(i=0;i<5;i++) //请您确认对
        Displayz(128,9+i*2,50+i);
        for(i=0;i<2;i++) //报警
        Displayz(128,19+i*2,20+i);
        Displayz(128,23,55);//的
        for(i=0;i<5;i++) //处理
        Displayz(128,25+i*2,33+i);
        Displayz(128,29,84);//,
        for(i=0;i<2;i++) //查巡
        Displayz(128,31+i*2,24+i*67);
        Displayz(128,35,20); //报
        Displayz(152,5,21); //警
        for(i=0;i<2;i++)//点的
        Displayz(152,7+i*2,56-i);
        for(i=0;i<2;i++)//具体
        Displayz(152,11+i*2,57+i);
        for(i=0;i<2;i++)//情况
        Displayz(152,15+i*2,35+i);
        Displayz(152,19,85);//。
        Displayz(152,21,56);//点
        Displayz(152,23,59);//击
        for(i=0;i<2;i++)//“”
        Displayz(152,25+i*6,86+i);
        for(i=0;i<2;i++)//确定
        Displayz(152,27+i*2,52+i*8);
        for(i=0;i<2;i++)//键保
        Displayz(152,33+i*2,61+i);
        Displayz(178,5,63); //存
        for(i=0;i<2;i++)//记录
        Displayz(178,7+i*2,22+i);
        Displayz(178,11,85);//。
        clock();
}

void display_page7(void)
{
        uchar idata i;
        xian(12,82,12,154);
        xian(28,82,28,154);
        xian(13,82,29,82);
        xian(13,154,29,154);
        Displayz(92,17,21);//警
        Displayz(92,22,64);//告
        for(i=0;i<5;i++)//无效IC卡
        Displayz(123,16+i*2,65+i);
}

//0.1s
void delay3(void)
{
        uint idata t;
        t=11150;
        while(t--);
}

void uart_int(void)
{
        TMOD=0x20;
        PCON=0x00;
        TH1=0xfd;
        TL1=0xfd;
        TR1=1;
        SCON=0x50;
        ES=1;
        EA=1;
}

uchar checkOder(void)
{
        uchar idata flag=0;
        flag = 1;//test
        if(receive[6]==0x41) //A相报警
        flag=1;
        if(receive[6]==0x42) //B相报警
        flag=2;
        if(receive[6]==0x43) //C相报警
        flag=3;
        if(receive[6]==0x53) //太阳能报警
        flag=4;
        if(receive[6]==0x5a) //振动报警
        flag=5;
        if(receive[6]==0x48) //红外报警
        flag=6;

        return flag;
}

void comm(void) interrupt 4 using 3  //串行口中断程序
{
        if(RI==1)
        {
                ES=0;
                if(start==1)
                {
                         re_num++;
                         receive[re_num]=SBUF;
                         if(SBUF==33)//receive "!"
                         {receiveFinish=1;start=0;}
                }
                else
                {
                          receive[0]=SBUF;
                          if(SBUF==63)//rbuf "?"
                          {start=1;re_num=0;}
                }
                ES=1;
                RI=0;
        }
}

//计算部分
/*****************Poww函数***********************
函数功能:求一个浮点数的几次幂
入口参数:x-浮点数,y-整型数
出口参数:返回长整型数
*************************************************/
float poww(float x,float  y)
{
	float ee;
	if(y>0)
 	{
		ee=x;
  		for(;y>1;y--)
  		x=ee*x;
	}
  	else
  		x=1;
  	return(x);
}

void computer_s(ulong da,uchar lent)    //分
{
        unsigned long int idata T,a,h;
        uchar idata i;
        h=da;
        for(i=lent;i>0;i--)
        {
                a=poww(10,i-1);
                rbuf[lent-i]=(char)(h/a);
                T=h%a;
                h=T;
        }
}

ulong computer_o(uchar *p,uchar lent)       //合
{
        unsigned long int idata T,f=0;
        uchar idata i;
        for(i=lent;i>0;i--)
        {

                T=((ulong)(*p))* poww(10,i-1);
                f=f+T;
                p++;
        }
        return(f);
}

void shezhi1(void)
{
        uchar sx,sy,flags=0,sum=0,h=1,flag1=0,i=0,count3,time;
        keyTemp=100;
        sy=20;
        sx=114;
        v_Get1302();
        time=curtime1[1];
        do
        {      FeedDog();
               keyTemp=Scan_Key();
               if(sum==10)
               {
                        if(keyTemp<=9)
                        keyTemp=100;
               }
               FeedDog();
               if(sum==6)
               {

⌨️ 快捷键说明

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