📄 93c46.h
字号:
//===== Must be defined by user =====
#define DI RC5
#define DO RC4
#define CLK RC3
#define CS RC2
#define TRIS_DI TRISC5
#define TRIS_DO TRISC4
#define TRIS_CLK TRISC3
#define TRIS_CS TRISC2
//===================================
extern void WriteData(unsigned char Addr,unsigned char Data)
{
unsigned char step=0;
TRIS_DI=0;TRIS_DO=1;TRIS_CLK=0;TRIS_CS=0;
CS=1;
//========= Enable Write ===========
DI=1;CLK=0;CLK=1;
DI=0;CLK=0;CLK=1;
DI=0;CLK=0;CLK=1;
for(step=0;step<7;step++){DI=1;CLK=0;CLK=1;}
CS=0;CS=1;
//==================================
DI=1;CLK=0;CLK=1;
DI=0;CLK=0;CLK=1;
DI=1;CLK=0;CLK=1;
for(step=0;step<7;step++)
{
DI=(Addr>>(6-step));
CLK=0;CLK=1;
}
for(step=0;step<8;step++)
{
DI=(Data>>(7-step));
CLK=0;CLK=1;
}
CS=0;CS=1;
while(!DO);
//========= Disable Write ===========
DI=1;CLK=0;CLK=1;
DI=0;CLK=0;CLK=1;
DI=0;CLK=0;CLK=1;
for(step=0;step<7;step++){DI=0;CLK=0;CLK=1;}
CS=0;CS=1;
//==================================
return;
}
extern unsigned char ReadData(unsigned char Addr)
{
unsigned char step=0,Data=0;
TRIS_DI=0;TRIS_DO=1;TRIS_CLK=0;TRIS_CS=0;
CS=1;
DI=1;CLK=0;CLK=1;
DI=1;CLK=0;CLK=1;
DI=0;CLK=0;CLK=1;
for(step=0;step<7;step++)
{
DI=(Addr>>(6-step));
CLK=0;CLK=1;
}
for(step=0;step<8;step++)
{
CLK=0;CLK=1;
Data=((Data<<1)|DO);
}
CS=0;CS=1;
return Data;
}
/*
extern void ClearAll(void)
{
unsigned char step=0;
TRIS_DI=0;TRIS_DO=1;TRIS_CLK=0;TRIS_CS=0;
CS=1;
//========= Enable Write ===========
DI=1;CLK=0;CLK=1;
DI=0;CLK=0;CLK=1;
DI=0;CLK=0;CLK=1;
for(step=0;step<7;step++){DI=1;CLK=0;CLK=1;}
CS=0;CS=1;
//==================================
DI=1;CLK=0;CLK=1;
DI=0;CLK=0;CLK=1;
DI=0;CLK=0;CLK=1;
DI=0;CLK=0;CLK=1;
for(step=0;step<6;step++){DI=1;CLK=0;CLK=1;}
CS=0;CS=1;
while(!DO);
//========= Disable Write ===========
DI=1;CLK=0;CLK=1;
DI=0;CLK=0;CLK=1;
DI=0;CLK=0;CLK=1;
for(step=0;step<7;step++){DI=0;CLK=0;CLK=1;}
CS=0;CS=1;
//==================================
return;
}
*/
extern void ClearData(unsigned char Addr)
{
unsigned char step=0;
TRIS_DI=0;TRIS_DO=1;TRIS_CLK=0;TRIS_CS=0;
CS=1;
//========= Enable Write ===========
DI=1;CLK=0;CLK=1;
DI=0;CLK=0;CLK=1;
DI=0;CLK=0;CLK=1;
for(step=0;step<7;step++){DI=1;CLK=0;CLK=1;}
CS=0;CS=1;
//==================================
DI=1;CLK=0;CLK=1;
DI=1;CLK=0;CLK=1;
DI=1;CLK=0;CLK=1;
for(step=0;step<7;step++)
{
DI=(Addr>>(6-step));
CLK=0;CLK=1;
}
CS=0;CS=1;
while(!DO);
//========= Disable Write ===========
DI=1;CLK=0;CLK=1;
DI=0;CLK=0;CLK=1;
DI=0;CLK=0;CLK=1;
for(step=0;step<7;step++){DI=0;CLK=0;CLK=1;}
CS=0;CS=1;
//==================================
return;
}
/*
extern void WriteAll(unsigned char Data)
{
unsigned char step=0;
TRIS_DI=0;TRIS_DO=1;TRIS_CLK=0;TRIS_CS=0;
CS=1;
//========= Enable Write ===========
DI=1;CLK=0;CLK=1;
DI=0;CLK=0;CLK=1;
DI=0;CLK=0;CLK=1;
for(step=0;step<7;step++){DI=1;CLK=0;CLK=1;}
CS=0;CS=1;
//==================================
DI=1;CLK=0;CLK=1;
DI=0;CLK=0;CLK=1;
DI=0;CLK=0;CLK=1;
DI=1;CLK=0;CLK=1;
for(step=0;step<6;step++){DI=0;CLK=0;CLK=1;}
for(step=0;step<8;step++)
{
DI=(Data>>(7-step));
CLK=0;CLK=1;
}
CS=0;CS=1;
while(!DO);
//========= Disable Write ===========
DI=1;CLK=0;CLK=1;
DI=0;CLK=0;CLK=1;
DI=0;CLK=0;CLK=1;
for(step=0;step<7;step++){DI=0;CLK=0;CLK=1;}
CS=0;CS=1;
//==================================
return;
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -