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

📄 yibiao1.bak

📁 这是我在我们公司做的C51加油单片机程序
💻 BAK
📖 第 1 页 / 共 5 页
字号:
        {
                if (key_buf[i]==0x0f)
                    xs_shu(4,112-(num-i)*8,yi_1+11*8);
                else
                    xs_shu(4,112-(num-i)*8,yi_1+key_buf[i]*8);
        }
}
void gettime()
{
	unsigned char i;
        TIME_CLK=0;
        dlu();
        TIME_WR=0;
        dlu();
        TIME_CE=1;
        dlu();
	second=0;
	minutes=0;
	hour=0;
	week=0;
	day=0;
	month=0;
	year=0;
/*读秒*/
	for(i=0;i<8;i++)
	{
		second=second>>1;
		dlu();
		TIME_CLK=1;
		dlu();
		if(TIME_SDA) second=second|0x80;
		TIME_CLK=0;
		//dlu();
	}

/*读分*/
	for(i=0;i<8;i++)
	{
		minutes=minutes>>1;
		dlu();
		TIME_CLK=1;
		dlu();
		if(TIME_SDA) minutes=minutes|0x80;
		TIME_CLK=0;
	//dlu();
	}

/*读小时*/
	for(i=0;i<8;i++)
	{
		hour=hour>>1;
		dlu();
		TIME_CLK=1;
		dlu();
		if(TIME_SDA) hour=hour|0x80;
		TIME_CLK=0;
	//	dlu();
	}

/*读星期*/
	for(i=0;i<4;i++)
	{
		week=week>>1;
		dlu();
		TIME_CLK=1;
		dlu();
		if(TIME_SDA) week=week|0x80;
		TIME_CLK=0;
	//	dlu();
	}

/*读天*/
	for(i=0;i<8;i++)
	{
		day=day>>1;
		dlu();
		TIME_CLK=1;
		dlu();
		if(TIME_SDA) day=day|0x80;
		TIME_CLK=0;
	//	dlu();
	}

/*读月*/
	for(i=0;i<8;i++)
	{
		month=month>>1;
		dlu();
		TIME_CLK=1;
		dlu();
		if(TIME_SDA) month=month|0x80;
		TIME_CLK=0;
	//	dlu();
	}

/*读年*/
	for(i=0;i<8;i++)
	{
		year=year>>1;
		dlu();
		TIME_CLK=1;
		dlu();
		if(TIME_SDA) year=year|0x80;
		TIME_CLK=0;
	//	dlu();
	}
         TIME_CE=0;
 	_nop_();
	_nop_();
        TIME_WR=1;
 	_nop_();
	_nop_();
        TIME_CE=1;
        dlu();
        second=second&0x7f;
        minutes=minutes&0x7f;
        hour=hour&0x3f;
        week=week>>4;
        week=week&0x07;
        day=day&0x3f;
        month=month&0x1f;
}
void settime()
{
	unsigned char i;
        TIME_CLK=0;
        dlu();
        TIME_WR=1;
        dlu();
	TIME_CE=1;
        dlu();
/*写秒*/
	for(i=0;i<8;i++)
	{
		if(second&0x01) TIME_SDA=1;
		else TIME_SDA=0;
		dlu();
		TIME_CLK=1;
		dlu();
		TIME_CLK=0;
		dlu();
		second=second>>1;
	}
/*写分*/
	for(i=0;i<8;i++)
	{
		if(minutes&0x01) TIME_SDA=1;
		else TIME_SDA=0;
		dlu();
		TIME_CLK=1;
		dlu();
		TIME_CLK=0;
		dlu();
		minutes=minutes>>1;
	}
/*写小时*/
	for(i=0;i<8;i++){
		if(hour&0x01) TIME_SDA=1;
		else TIME_SDA=0;
		dlu();
		TIME_CLK=1;
		dlu();
		TIME_CLK=0;
		dlu();
		hour=hour>>1;
	}
/*写星期*/
        //week=week<<4;
        for(i=0;i<4;i++)
	{
		if(week&0x01) TIME_SDA=1;
		else TIME_SDA=0;
		dlu();
		TIME_CLK=1;
		dlu();
		TIME_CLK=0;
		dlu();
		week=week>>1;
	}
/*写日*/
	for(i=0;i<8;i++)
	{
		if(day&0x01) TIME_SDA=1;
		else TIME_SDA=0;
		dlu();
		TIME_CLK=1;
		dlu();
		TIME_CLK=0;
		dlu();
		day=day>>1;
	}
/*写月*/
	for(i=0;i<8;i++)
	{
		if(month&0x01) TIME_SDA=1;
		else TIME_SDA=0;
		dlu();
		TIME_CLK=1;
		dlu();
		TIME_CLK=0;
		dlu();
		month=month>>1;
	}
/*写年*/
	for(i=0;i<8;i++)
	{
		if(year&0x01) TIME_SDA=1;
		else TIME_SDA=0;
		dlu();
		TIME_CLK=1;
		dlu();
		TIME_CLK=0;
		dlu();
		year=year>>1;
	}
        TIME_CE=0;
 	_nop_();
	_nop_();
        TIME_WR=0;
 	_nop_();
	_nop_();
        TIME_CE=1;
        //dlu();
}
void huakuang(unsigned char hang,unsigned char num,unsigned char lie_ge)
{
        unsigned char i,aa;

        for(i=lie_ge*16;i<num*16+lie_ge*16;i++)
        {
		if (i>63)
		{
			xscs2();
			write_control(0xb8+hang);
			write_control(0x40+i-64);
		}
		else
		{
			xscs1();
			write_control(0xb8+hang);
			write_control(0x40+i);
		}
		write_data(0x01);
        }
        for(i=lie_ge*16;i<num*16+lie_ge*16;i++)
        {
		if (i>63)
		{
			xscs2();
			write_control(0xb8+hang+1);
			write_control(0x40+i-64);
		}
		else
		{
			xscs1();
			write_control(0xb8+hang+1);
			write_control(0x40+i);
		}
		write_data(0x80);
        }

        if ((lie_ge*16)>63)
        {
                xscs2();
                write_control(0xb8+hang);
                write_control(0x40+lie_ge*16-64);
  	        write_data(0xff);
   	        write_control(0xb8+hang+1);
                write_control(0x40+lie_ge*16-64);
  	        write_data(0xff);
         }
        else
        {
                xscs1();
                write_control(0xb8+hang);
                write_control(0x40+lie_ge*16);
  	        write_data(0xff);
   	        write_control(0xb8+hang+1);
                write_control(0x40+lie_ge*16);
  	        write_data(0xff);
         }
        if ((num*16+lie_ge*16)>63)
        {
              if ((num*16+lie_ge*16)==128)
                 aa=65;
              else
                 aa=64;
              xscs2();
              write_control(0xb8+hang);
              write_control(0x40+num*16-aa+lie_ge*16);
  	      write_data(0xff);
              write_control(0xb8+hang+1);
              write_control(0x40+num*16-aa+lie_ge*16);
  	      write_data(0xff);
        }
        else
        {
              xscs1();
              write_control(0xb8+hang);
              write_control(0x40+num*16+lie_ge*16);
  	      write_data(0xff);
              write_control(0xb8+hang+1);
              write_control(0x40+num*16+lie_ge*16);
  	      write_data(0xff);
        }
}
void xs_shu(unsigned char hh,unsigned char ll,unsigned char *p)
{
	unsigned char xdata i,temp,r;

        if (ll==121) ll=120;
        for(i=0;i<8;i++)
	{
                if ((ll+i)<64)
		{
                        xscs1();
			write_control(0xb8+hh);
                        dlu();
			write_control(0x40+ll+i);
                        dlu();
                }
		else
		{
			xscs2();
                        i=i;
			write_control(0xb8+hh);
			write_control(0x40+ll+i-64);
		}
                r=read_data();
                 if (r!=0xff)
                    r=r&0x01;
                if ((ll+i)<64)
		{
			xscs1();
			write_control(0xb8+hh);
                        dlu();
                        write_control(0x40+ll+i);
                        dlu();
		}
		else
		{
			xscs2();
			write_control(0xb8+hh);
			write_control(0x40+ll+i-64);
		}
                temp=*(p+i);
                temp<<=4;
                temp=temp+r;
		write_data(temp);
	}
        for(i=0;i<8;i++)
	{
                if ((ll+i)>63)
		{
			xscs2();
			write_control(0xb8+hh+1);
			write_control(0x40+ll+i-64);
		}
		else
		{
			xscs1();
			write_control(0xb8+hh+1);
			write_control(0x40+ll+i);
		}
                r=read_data();
                if (r!=0xff)
                    r=r&0x80;
                if ((ll+i)>63)
		{
			xscs2();
			write_control(0xb8+hh+1);
			write_control(0x40+ll+i-64);
		}
		else
		{
			xscs1();
			write_control(0xb8+hh+1);
			write_control(0x40+ll+i);
		}
                temp=*(p+i)>>4;
                temp=temp&0x0f;
                temp=temp+r;
                write_data(temp);
		//p++;
	}
}
unsigned char read_data()
{
      unsigned t;
      RW=1;
      RS=1;
      t=E;
      dlu();
      return E;
}
void xs_time()
{
        unsigned char temp;
        static bit one=1;
        //clr_hang(6);
        //clr_hang(7);
           //huakuang(6,8);
        gettime();
        /*年*/

⌨️ 快捷键说明

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