📄 yibiao1.bak
字号:
{
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 + -