📄 display.h
字号:
void send(unsigned char add,unsigned char dat) //发送16位数据
{
unsigned char A,B,i,j;
j=1;
wait(10);
CLK_0;
wait(10);
while(j<16)
{
if(j<8)
{A=add;}
else {A=dat;}
for(i=1;i<=8;i++)
{
B=A&0x80;
if (B==0) DIN_0;
else DIN_1;
wait(10);
CLK_1;
wait(10);
CLK_0;
wait(10);
A=A<<1;
}
j=j+8;
}
}
void sends1(unsigned char n,unsigned char add,unsigned char dat) //发送64位数据
{
unsigned char i;
// wait(10);
LOAD_0;
// wait(10);
for(i=0;i<1;i++)
{
if(i==1-n) send(add,dat);
else send(0x00,0x00);
}
// wait(10);
LOAD_1;
// wait(10);
}
void sends(unsigned char n,unsigned char add,unsigned char dat) //发送64位数据
{
unsigned char i;
wait(10);
LOAD_0;
wait(10);
for(i=0;i<5;i++)
{
if(i==5-n) send(add,dat);
else send(0x00,0x00);
}
wait(10);
LOAD_1;
wait(10);
}
void disconnect(unsigned int d,unsigned char x[4]) //化整为零
{
x[0]=d/1000;
x[1]=d%1000/100;
x[2]=d%100/10;
x[3]=d%10;
}
void display3(unsigned int D,unsigned char digitron) //远控盒及时时显示
{
unsigned char digit[4]; //用来保存参数各位的值
if(D>50000)
{
D=-D;
disconnect(D,digit);
digit[0]=0x0a;
if(D<100)digit[1]=0x0f;
}
else
{
disconnect(D,digit);
if(D<100)
{
digit[0]=0x0f;
digit[1]=0x0f;
}
else if(D<1000)
digit[0]=0x0f;
}
sends(digitron/2+1,1+4*(digitron%2),digit[0]);
sends(digitron/2+1,2+4*(digitron%2),digit[1]);
sends(digitron/2+1,3+4*(digitron%2),digit[2]|0x80);
sends(digitron/2+1,4+4*(digitron%2),digit[3]);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -